spark集群详细搭建过程及遇到的问题解决(三)
????上篇文章中講完了如何配置免密碼登錄的問題,現(xiàn)在講述下,三個節(jié)點的環(huán)境配置過程。
所需要的hadoop-2.7.3.tar.gz 、 jdk-7u79-linux-x64.tar.gz 、 scala-2.11.6.tgz 、 spark-2.0.1-bin-hadoop2.7.tgz 可以點擊這里獲取,資源存放在百度云盤。
首先需要在三個節(jié)點中分別創(chuàng)建spark目錄
master節(jié)點、worker1節(jié)點、worker2節(jié)點同時執(zhí)行:下面以master節(jié)點為例,部分操作worker1與worker2不需要執(zhí)行,不需要worker1,worker2執(zhí)行的將給出注釋,請仔細看清。
spark@master:~/.ssh$?cd?.. spark@master:~$?mkdir?spark注意所創(chuàng)建的spark目錄屬于spark用戶,hadoop組
spark@master:~$?cd?spark/在這里要介紹一個工具winSCP,功能是能夠在windows 與ubuntu 之間傳遞文件,之所以不推薦使用lrzsz包中的rz 進行傳遞是因為rz只能夠傳遞比較小的文件,對于大的文件,使用這個將會傳遞失敗,有趣的是可以使用命令sudo rz 進行傳遞,但是,當上傳之后,你可以看到所上傳的文件所屬的用戶將變成了root,這將會導(dǎo)致后面配置的錯誤。因此,必須使用winSCP進行傳遞。winSCP也在剛才的百度云盤中。
上圖顯示了winSCP工具界面,根據(jù)自己的文件目錄進行上傳,或者可以直接拖
依次對上傳的包進行解壓,注意:在worker1和worker2中只需上傳jdk-7u79-linux-x64.tar.gz 、 scala-2.11.6.tgz ,而在master中則要全部上傳四個文件
spark@master:~/spark$?tar?-zxvf?hadoop-2.7.3???#只在master節(jié)點執(zhí)行spark@master:~/spark$?tar?-zxvf?jdk-7u79-linux-x64.tar.gz???#三個節(jié)點都要執(zhí)行spark@master:~/spark$?tar?-zxvf?scala-2.11.6.tgz????#三個節(jié)點都要執(zhí)行spark@master:~/spark$?tar?-zxvf?spark-2.0.1-bin-hadoop2.7.tgz????#只在master節(jié)點執(zhí)行解壓之后,為方便調(diào)用,建立軟連接
spark@master:~/spark$?ln?-s?hadoop-2.7.3?hadoop????#只在master節(jié)點執(zhí)行 spark@master:~/spark$?ln?-s?jdk1.7.0_79/?jdk???????#三個節(jié)點都要執(zhí)行 spark@master:~/spark$?ln?-s?scala-2.11.6?scala??????#三個節(jié)點都要執(zhí)行 spark@master:~/spark$?ln?-s?spark-2.0.1-bin-hadoop2.7?spark????#只在master節(jié)點執(zhí)行切換到root下進行環(huán)境配置
spark@master:~/spark$?sudo?su [sudo]?password?for?spark:? root@master:/home/spark/spark#?vim?/etc/profile在文件最底部添加:
export?JAVA_HOME=/home/spark/spark/jdk??????#三個節(jié)點都要添加 export?SCALA_HOME=/home/spark/spark/scala?????#三個節(jié)點都要添加 export?HADOOP_HOME=/home/spark/spark/hadoop???#三個節(jié)點都要添加 export?SPARK_HOME=/home/spark/spark/spark??????#三個節(jié)點都要添加export?CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export?HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export?PATH=$PATH:$JAVA_HOME/bin:$SCALA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SPARK_HOME/bin保存,使其生效,并退回到spark用戶
至此可以查看下java環(huán)境,scala,hadoop 環(huán)境是否已經(jīng)安裝成功
java環(huán)境已經(jīng)配置成功
spark@master:~/spark$?scala?-version Scala?code?runner?version?2.11.6?--?Copyright?2002-2013,?LAMP/EPFLscala已經(jīng)配置成功
至此上述是三個節(jié)點同時執(zhí)行的。
接下來,master節(jié)點上的配置
spark@master:~/spark$?hadoop?version Hadoop?2.7.3 Subversion?https://git-wip-us.apache.org/repos/asf/hadoop.git?-r?baa91f7c6bc9cb92be5982de4719c1c8af91ccff Compiled?by?root?on?2016-08-18T01:41Z Compiled?with?protoc?2.5.0 From?source?with?checksum?2e4ce5f957ea4db193bce3734ff29ff4 This?command?was?run?using?/home/spark/spark/hadoop-2.7.3/share/hadoop/common/hadoop-common-2.7.3.jarhadoop環(huán)境成功
接下來開始配置hadoop
spark@master:~/spark$?cd?hadoop/etc/hadoop/ spark@master:~/spark/hadoop/etc/hadoop$??vim?slaves刪除里面內(nèi)容,并添加一下內(nèi)容:
保存即可
依照下述命令進行文件的更改
spark@master:~/spark/hadoop/etc/hadoop$?vim?hadoop-env.sh添加或更改文件中相關(guān)的變量,本人在這個地方踩了不少坑,如果不添加,會在后面報錯。
添加完畢后,記得保存。
spark@master:~/spark/hadoop/etc/hadoop$?vim?core-site.xml添加內(nèi)容到
<configuration>內(nèi)容</configuration>
內(nèi)容如下:
添加內(nèi)容到
<configuration>內(nèi)容</configuration>
內(nèi)容如下:
<property><name>dfs.replication</name><value>3</value><description>Default?block?replication.The?actual?number?of?replications?can?be?specified?when?the?file?iscreated.The?default?is?used?if?replication?is?not?specified?in?create?time.</description></property>spark@master:~/spark/hadoop/etc/hadoop$?vim?yarn-site.xml添加內(nèi)容到
<configuration>內(nèi)容</configuration>
內(nèi)容如下:
<property><name>yarn.resourcemanager.hostname</name><value>master</value> </property> <property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value> </property>spark@master:~/spark/hadoop/etc/hadoop$?vim?mapred-site.xml spark@master:~/spark/hadoop/etc/hadoop$?cp?mapred-site.xml.template?mapred-site.xml添加內(nèi)容到
<configuration>內(nèi)容</configuration>
內(nèi)容如下: ?然后執(zhí)行cp mapred-site.xml.template mapred-site.xml
<property><name>mapreduce.framework.name</name><value>yarn</value><description>The?runtime?framework?for?executing?MapReduce?jobs.Can?be?one?of?local,?classic?or?yarn.默認是local,適合單機</description></property>spark@master:~/spark/hadoop/etc/hadoop$?vim?yarn-site.xml添加內(nèi)容到
<configuration>內(nèi)容</configuration>
內(nèi)容如下:
<property><name>yarn.resourcemanager.hostname</name><value>master</value> </property> <property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value> </property>spark@master:~/spark/hadoop/etc/hadoop$?vim?yarn-env.sh添加以下內(nèi)容在文件中地開始
export?JAVA_HOME=/home/spark/spark/jdk export?YARN_PID_DIR=/home/spark/spark/hadoop/tmp/pid保存文件,注意有些hadoop參考可能會提前將 /home/spark/spark/hadoop/tmp 文件夾建好,但在此版本中不需要提前創(chuàng)建,,因為在hadoop初始化時,會自動創(chuàng)建,若是提前創(chuàng)建,則有可能會在啟動hadoop集群時報錯!
切換到worker1節(jié)點中
執(zhí)行
spark@worker1:~/spark$?scp?-r?spark@master:/home/spark/spark/hadoop?./hadoop注意:./hadoop,代表將master中spark用戶下的/home/spark/spark/hadoop復(fù)制為hadoop,此名稱要跟之前在/etc/profile中設(shè)置的hadoop環(huán)境變量名稱一致。
在worker1中做下測試。
spark@worker1:~/spark$?hadoop?version Hadoop?2.7.3 Subversion?https://git-wip-us.apache.org/repos/asf/hadoop.git?-r?baa91f7c6bc9cb92be5982de4719c1c8af91ccff Compiled?by?root?on?2016-08-18T01:41Z Compiled?with?protoc?2.5.0 From?source?with?checksum?2e4ce5f957ea4db193bce3734ff29ff4 This?command?was?run?using?/home/spark/spark/hadoop/share/hadoop/common/hadoop-common-2.7.3.jar顯示成功
切換到worker2節(jié)點中
spark@worker2:~/spark$?scp?-r?spark@master:/home/spark/spark/hadoop?./hadoop在worker2下做下測試。
spark@worker2:~/spark$?hadoop?version Hadoop?2.7.3 Subversion?https://git-wip-us.apache.org/repos/asf/hadoop.git?-r?baa91f7c6bc9cb92be5982de4719c1c8af91ccff Compiled?by?root?on?2016-08-18T01:41Z Compiled?with?protoc?2.5.0 From?source?with?checksum?2e4ce5f957ea4db193bce3734ff29ff4 This?command?was?run?using?/home/spark/spark/hadoop/share/hadoop/common/hadoop-common-2.7.3.jar顯示成功
初始化hadoop集群
spark@master:~/spark/hadoop/etc/hadoop$?hadoop?namenode?-format若紅色方框中的status為0則代表初始化成功,若為1,則為失敗
啟動集群
spark@master:~/spark/hadoop/etc/hadoop$?$HADOOP_HOME/sbin/start-all.sh然后在瀏覽器中輸入?http://master_ip:50070/? ?master_ip代表master的ip地址端口號為50070
至此,hadoop集群已全部安裝完畢。
?
我們將在下一篇文章中,進一步安裝spark集群。。。。
轉(zhuǎn)載于:https://blog.51cto.com/lefteva/1874033
總結(jié)
以上是生活随笔為你收集整理的spark集群详细搭建过程及遇到的问题解决(三)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 继承类型
- 下一篇: git学习笔记04-将本地仓库添加到Gi