centos 7Hadoop2.7.3+Spark2.1.0 完全分布式环境 搭建全过程

Hadoop2.7.3+Spark2.1.0 完全分布式环境 搭建全过程


www.cnblogs.com/purstar/p/6293605.html

一、修改hosts文件

在主节点,就是第一台主机的命令行下;

vim /etc/profile

我的是三台云主机:

在原文件的基础上加上;

ip1 master worker0 namenode

ip2 worker1 datanode1

ip3 worker2 datanode2

其中的ipN代表一个可用的集群IP,ip1为master的主节点,ip2和iip3为从节点。

二、ssh互信(免密码登录)

注意我这里配置的是root用户,所以以下的家目录是/root

如果你配置的是用户是xxxx,那么家目录应该是/home/xxxxx/

#在主节点执行下面的命令:

ssh-keygen-t rsa -P''#一路回车直到生成公钥

scp/root/.ssh/id_rsa.pub root@worker1:/root/.ssh/id_rsa.pub.master #从master节点拷贝id_rsa.pub到worker主机上,并且改名为id_rsa.pub.masterscp/root/.ssh/id_rsa.pub root@worker1:/root/.ssh/id_rsa.pub.master #同上,以后使用workerN代表worker1和worker2.

scp/etc/hosts root@workerN:/etc/hosts  #统一hosts文件,让几个主机能通过host名字来识别彼此

#在对应的主机下执行如下命令:cat/root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys #master主机cat/root/.ssh/id_rsa.pub.master >> /root/.ssh/authorized_keys #workerN主机

这样master主机就可以无密码登录到其他主机,这样子在运行master上的启动脚本时和使用scp命令时候,就可以不用输入密码了。

三、安装基础环境(JAVA和SCALA环境)

1.Java1.8环境搭建:

配置master的java环境

#下载jdk1.8的rpm包

wget--no-check-certificate --no-cookies --header"Cookie: oraclelicense=accept-securebackup-cookie"http://download.oracle.com/otn-pub/java/jdk/8u112-b15/jdk-8u112-linux-x64.rpmrpm -ivh jdk-8u112-linux-x64.rpm

#增加JAVA_HOME

vim etc/profile

#增加如下行:#Java homeexport JAVA_HOME=/usr/java/jdk1.8.0_112/

#刷新配置:

source /etc/profile #当然reboot也是可以的

配置workerN主机的java环境

#使用scp命令进行拷贝scpjdk-8u112-linux-x64.rpm root@workerN:/root

#其他的步骤如master节点配置一样

2.Scala2.12.1环境搭建:

Master节点:

#下载scala安装包:wget-O"scala-2.12.1.rpm""http://159.226.251.229/videoplayer/scala-2.12.1.rpm?ich_u_r_i=e43f9cc87710b8bba72b4c32577f60ea&ich_s_t_a_r_t=0&ich_e_n_d=0&ich_k_e_y=1745018917750263442428&ich_t_y_p_e=1&ich_d_i_s_k_i_d=1&ich_u_n_i_t=1"

#安装rpm包:rpm-ivh scala-2.12.1.rpm

#增加SCALA_HOMEvim/etc/profile

#增加如下内容;#Scala Homeexport SCALA_HOME=/usr/share/scala

#刷新配置

source/etc/profile

WorkerN节点;

#使用scp命令进行拷贝scpscala-2.12.1.rpm root@workerN:/root

#其他的步骤如master节点配置一样

四、Hadoop2.7.3完全分布式搭建

MASTER节点:

1.下载二进制包:

wgethttp://www-eu.apache.org/dist/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz

2.解压并移动至相应目录

我的习惯是将软件放置/opt目录下:

tar-xvf hadoop-2.7.3.tar.gzmvhadoop-2.7.3/opt

3.修改相应的配置文件:

(1)/etc/profile:

增加如下内容:

#hadoop enviroment

export HADOOP_HOME=/opt/hadoop-2.7.3/export PATH="$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH"export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

(2)$HADOOP_HOME/etc/hadoop/hadoop-env.sh

修改JAVA_HOME 如下:

export JAVA_HOME=/usr/java/jdk1.8.0_112/

(3)$HADOOP_HOME/etc/hadoop/slaves

worker1

worker2

(4)$HADOOP_HOME/etc/hadoop/core-site.xml

                        fs.defaultFS                hdfs://master:9000                io.file.buffer.size        131072                              hadoop.tmp.dir                /opt/hadoop-2.7.3/tmp       

(5)$HADOOP_HOME/etc/hadoop/hdfs-site.xml

          dfs.namenode.secondary.http-address      master:50090              dfs.replication      2              dfs.namenode.name.dir      file:/opt/hadoop-2.7.3/hdfs/name              dfs.datanode.data.dir      file:/opt/hadoop-2.7.3/hdfs/data   

(6)$HADOOP_HOME/etc/hadoop/mapred-site.xml

复制template,生成xml:

cpmapred-site.xml.template mapred-site.xml

内容:

    mapreduce.framework.name    yarn              mapreduce.jobhistory.address          master:10020              mapreduce.jobhistory.address          master:19888 

(7)$HADOOP_HOME/etc/hadoop/yarn-site.xml

                  yarn.nodemanager.aux-services          mapreduce_shuffle                  yarn.resourcemanager.address          master:8032                  yarn.resourcemanager.scheduler.address          master:8030                  yarn.resourcemanager.resource-tracker.address        master:8031                yarn.resourcemanager.admin.address        master:8033                yarn.resourcemanager.webapp.address        master:8088   

至此master节点的hadoop搭建完毕

再启动之前我们需要

格式化一下namenode

hadoop namenode -format

WorkerN节点:

(1)复制master节点的hadoop文件夹到worker上:

scp-r /opt/hadoop-2.7.3root@wokerN:/opt #注意这里的N要改为1或者2

(2)修改/etc/profile:

过程如master一样

五、Spark2.1.0完全分布式环境搭建:

MASTER节点:

1.下载文件:

wget-O"spark-2.1.0-bin-hadoop2.7.tgz""http://159.226.251.230/videoplayer/spark-2.1.0-bin-hadoop2.7.tgz?ich_u_r_i=8d258cfd6421af60c998d108eae1ca4d&ich_s_t_a_r_t=0&ich_e_n_d=0&ich_k_e_y=1745018916751063032407&ich_t_y_p_e=1&ich_d_i_s_k_i_d=7&ich_u_n_i_t=1"

2.解压并移动至相应的文件夹;

tar-xvf spark-2.1.0-bin-hadoop2.7.tgzmvspark-2.1.0-bin-hadoop2.7/opt

3.修改相应的配置文件:

(1)/etc/profie

#Spark enviroment

export SPARK_HOME=/opt/spark-2.1.0-bin-hadoop2.7/export PATH="$SPARK_HOME/bin:$PATH"

(2)$SPARK_HOME/conf/spark-env.sh

cpspark-env.sh.template spark-env.sh

#配置内容如下:

export SCALA_HOME=/usr/share/scala

export JAVA_HOME=/usr/java/jdk1.8.0_112/export SPARK_MASTER_IP=master

export SPARK_WORKER_MEMORY=1g

export HADOOP_CONF_DIR=/opt/hadoop-2.7.3/etc/hadoop

(3)$SPARK_HOME/conf/slaves

cpslaves.template slaves

配置内容如下

master

worker1

worker2

WorkerN节点:

将配置好的spark文件复制到workerN节点

scpspark-2.1.0-bin-hadoop2.7root@workerN:/opt

修改/etc/profile,增加spark相关的配置,如MASTER节点一样

六、启动集群的脚本

启动集群脚本start-cluster.sh如下:

#!/bin/bashecho-e"\033[31m ========Start The Cluster======== \033[0m"echo-e"\033[31m Starting Hadoop Now !!! \033[0m"/opt/hadoop-2.7.3/sbin/start-all.shecho-e"\033[31m Starting Spark Now !!! \033[0m"/opt/spark-2.1.0-bin-hadoop2.7/sbin/start-all.shecho-e"\033[31m The Result Of The Command \"jps\" :  \033[0m"jpsecho-e"\033[31m ========END======== \033[0m"

截图如下:

关闭集群脚本stop-cluser.sh如下:

#!/bin/bashecho-e"\033[31m ===== Stoping The Cluster ====== \033[0m"echo-e"\033[31m Stoping Spark Now !!! \033[0m"/opt/spark-2.1.0-bin-hadoop2.7/sbin/stop-all.shecho-e"\033[31m Stopting Hadoop Now !!! \033[0m"/opt/hadoop-2.7.3/sbin/stop-all.shecho-e"\033[31m The Result Of The Command \"jps\" :  \033[0m"jpsecho-e"\033[31m ======END======== \033[0m"

截图如下:

七、测试一下集群:

这里我都用最简单最常用的Wordcount来测试好了!

1.测试hadoop

测试的源文件的内容为:

Hello hadoop

hello spark

hello bigdata

然后执行下列命令:

hadoop fs -mkdir-p /Hadoop/Input

hadoop fs-put wordcount.txt /Hadoop/Input

hadoop jar/opt/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /Hadoop/Input /Hadoop/Output

等待mapreduce执行完毕后,查看结果;

hadoop fs -cat/Hadoop/Output/*

hadoop集群搭建成功!

2.测试spark

为了避免麻烦这里我们使用spark-shell,做一个简单的worcount的测试

用于在测试hadoop的时候我们已经在hdfs上存储了测试的源文件,下面就是直接拿来用就好了!

spark-shell

valfile=sc.textFile("hdfs://master:9000/Hadoop/Input/wordcount.txt")

val rdd=file.flatMap(line => line.split("")).map(word => (word,1)).reduceByKey(_+_)

rdd.collect()

rdd.foreach(println)

退出的话使用如下命令:

:quit

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容