Hadoop 三节点集群搭建
本文檔介紹了如何設(shè)置和配置單節(jié)點Hadoop安裝,以便您可以使用Hadoop MapReduce和Hadoop分布式文件系統(tǒng)(HDFS)快速執(zhí)行簡單的操作。
先決條件
支持平臺
-
支持GNU / Linux作為開發(fā)和生產(chǎn)平臺。Hadoop已在具有2000個節(jié)點的GNU / Linux集群上進(jìn)行了演示。
-
Windows也是受支持的平臺,但是以下步驟僅適用于Linux。
必備軟件
Linux所需的軟件包括:
必須安裝Java?。HadoopJavaVersions中描述了推薦的Java版本。
必須安裝ssh并且sshd必須正在運行才能使用管理遠(yuǎn)程Hadoop守護(hù)程序的Hadoop腳本。
安裝步驟
如果您的群集沒有必需的軟件,則需要安裝它。
例如在CentOS Linux上:
[root@centos001 ~]# sudo yum install ssh -y
[root@centos001 ~]# sudo yum install rsync -y
注意:三臺服務(wù)器必須是安裝了jdk的(沒有安裝的小伙伴也不用慌張,請看我上一期文章)
下載和上傳
要獲得Hadoop發(fā)行版,請從其中一個Apache Download Mirrors下載最新的穩(wěn)定版本。
創(chuàng)建software目錄用于上傳軟件安裝包。
[root@centos001 ~]# mkdir /opt/software
通過xftp工具將Hadoop發(fā)行版上傳至服務(wù)器的 /opt/software/目錄下。
準(zhǔn)備啟動Hadoop集群
解壓縮下載的Hadoop發(fā)行版。在發(fā)行版中,編輯文件etc/hadoop/hadoop-env.sh來定義一些參數(shù),如下所示:
[root@centos001 ~]# mkdir /usr/apps
[root@centos001 ~]# tar -zxvf /opt/software/hadoop-2.7.2.tar.gz -C /usr/apps/
查看是否解壓完整
[root@hadoop001 software]# cd /usr/apps/
[root@hadoop001 apps]# ls
hadoop-2.7.2 ?jdk
[root@hadoop001 apps]# cd hadoop-2.7.2/
[root@hadoop001 hadoop-2.7.2]# ls
bin ?include ?libexec ? ? ?NOTICE.txt ?sbin
etc ?lib ? ? ?LICENSE.txt ?README.txt ?share
修改hadoop目錄名
?[root@hadoop001 apps]# mv /usr/apps/hadoop-2.7.2/ /usr/apps/hadoop
配置環(huán)境變量
[root@hadoop001 apps]# cd hadoop/
[root@hadoop001 hadoop]# pwd? ?#查看當(dāng)前路徑
/usr/apps/hadoop
[root@hadoop001 hadoop]# vi /etc/profile
#HADOOP_HOME#
export HADOOP_HOME=usr/apps/hadoop? #注意自己的路徑
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
?[root@hadoop001 hadoop]# source /etc/profile
?驗證hadoop
[root@hadoop001 hadoop]# hadoop version
hadoop配置
1. [root@hadoop001 /]# cd /usr/apps/hadoop/etc/hadoop/
2. [root@hadoop001 hadoop]#?vi hadoop-env.sh(修改第25行)
?? ?-- export JAVA_HOME=/usr/apps/jdk/? ?#注意自己的jdk路徑,按Esc在set nu 回車可以顯示序號
3. [root@hadoop001 hadoop]# vi yarn-env.sh(第23行,放開注釋進(jìn)行修改)
?? ?-- export JAVA_HOME=/usr/apps/jdk/
4. [root@hadoop001 hadoop]#vi core-site.xml
?? ?<configuration>
?? ?<!--用于設(shè)置HDFS-->
?? ??? ??? ?<property>
?? ??? ??? ??? ??? ?<name>fs.defaultFS</name>
?? ??? ??? ??? ??? ?<value>hdfs://hadoop001:9000</value> #注意自己的自己名
?? ??? ??? ?</property>
?? ??? ??? ?<property>
?? ??? ??? ??? ??? ?<name>hadoop.tmp.dir</name>
?? ??? ??? ??? ??? ?<value>/usr/apps/hadoop/tmp</value>
?? ??? ??? ?</property>
?? ?</configuration>
5. [root@hadoop001 hadoop]#vi hdfs-site.xml
?? ?<configuration>
?? ??? ?<!-- 指定Hadoop 副本數(shù)量 -->
?? ??? ?<property>
?? ??? ??? ?<name>dfs.replications</name>
?? ??? ??? ?<value>3</value>
?? ??? ?</property>
?? ??? ?<!-- 指定 secondary namenode 的主機地址 -->
?? ??? ?<property>
?? ??? ??? ?<name>dfs.namenode.secondary.http-address</name>
?? ??? ??? ?<value>hadoop002:50090</value>
?? ??? ?</property>
?? ?</configuration>
6.[root@hadoop001 hadoop]# mv mapred-site.xml.template mapred-site.xml
[root@hadoop001 hadoop]#vi mapred-site.xml(重命名)
?? ?<configuration>
?? ??? ?<property>
?? ??? ??? ?<name>mapreduce.framework.name</name>
?? ??? ??? ?<value>yarn</value>
?? ??? ?</property>
?? ?</configuration>
7. [root@hadoop001 hadoop]#vi yarn-site.xml
?? ?<configuration>
?? ??? ?<property>
?? ??? ??? ??? ?<name>yarn.resourcemanager.hostname</name>
?? ??? ??? ??? ?<value>hadoop003</value>
?? ??? ??? ?</property>
?? ??? ??? ?<property>
?? ??? ??? ??? ?<name>yarn.nodemanager.aux-services</name>
?? ??? ??? ??? ?<value>mapreduce_shuffle</value>
?? ??? ??? ?</property>
?? ?</configuration>
8.[root@hadoop001 hadoop]# vi slaves
?? ?hadoop01
?? ?hadoop02
?? ?hadoop03
?
?將配置好的,環(huán)境變量,jdk,hadoop復(fù)制給hadoop002和hadoop0003
[root@hadoop001 apps]# scp -r /usr/apps/jdk root@192.168.159.132:/usr/apps/
注意hadoop002要有apps這個目錄,沒有就用mkidr apps創(chuàng)建hadoop003同樣
[root@hadoop001 apps]# scp -r /usr/apps/jdk root@192.168.159.133:/usr/apps/
[root@hadoop001 apps]# scp -r /usr/apps/hadoop/ root@192.168.159.133:/usr/apps/
[root@hadoop001 apps]# scp -r /etc/profile root@192.168.159.132:/etc/profile
[root@hadoop001 apps]# scp -r /etc/profile root@192.168.159.133:/etc/profile
注意:自己的ip和文件路徑
?注意查看是否復(fù)制成功
[root@hadoop002 apps]# source /etc/profile
[root@hadoopoo3 apps]# source /etc/profile
hadoop運行測試
?先關(guān)閉防火墻
[root@hadoopoo3 /]# systemctl stop firewalld
[root@hadoopoo3 /]# systemctl disable firewalld
1. 格式化 HDFS(初次安裝需要才執(zhí)行)
hadoop namenode -format (第一臺執(zhí)行)
2.啟動 Hadoop 守護(hù)進(jìn)程
?? ?-- 在第一臺執(zhí)行 start-dfs.sh
?? ?-- 在第三臺執(zhí)行 start-yarn.sh
3.jps 命令檢查Hadoop守護(hù)進(jìn)程是否啟動成功
[root@hadoopoo3 /]# jps
?? ?-- 第一臺守護(hù)進(jìn)程有?
?? ??? ?Namenode,DataNode
?? ??? ?NodeManager
?? ?-- 第二臺守護(hù)進(jìn)程有
?? ??? ?SecondaryNameNode,DataNode
?? ??? ?NodeManager
?? ?-- 第三臺守護(hù)進(jìn)程有
?? ??? ?DataNode
?? ??? ?ResourceManager,NodeManager
4.運行測試 Hadoop?
?? ?-- 在瀏覽器輸入 192.168.xx.x:50070(第一臺IP地址)
?? ?-- 在瀏覽器輸入 192.168.xx.x:8088(第三臺IP地址)
?
5.在命令行執(zhí)行 WordCount 案例
?? ?-- hadoop fs -mkdir /input
?? ?-- hadoop fs -put /etc/profile /input
?? ?-- cd /opt/apps/hadoop/(自己的目錄)
?? ?-- bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /input/profile /output
7. mkdir: Cannot create directory /input. Name node is in safe mode.
?? ??? ?-- hadoop dfsadmin -safemode leave?
8.關(guān)閉守護(hù)進(jìn)程
?? ?-- stop-dfs.sh(第一臺執(zhí)行)
?? ?-- stop-yarn.sh(第三臺執(zhí)行)
?
注意事項:
?? ?1. 如果第一步格式化 HDFS 失敗,執(zhí)行以下命令后重新格式化
?? ??? ?-- rm -rf /opt/apps/hadoop/tmp
?? ?2. 如果第 3 步缺失守護(hù)進(jìn)程,請重新執(zhí)行第 2 步
?? ?3. 如果第 4 步無法正常訪問網(wǎng)址,請檢查 Linux 防火墻是否關(guān)閉
?? ??? ?-- systemctl stop firewalld
?? ??? ?-- systemctl disable firewalld
這就完畢了,是不是很簡單,有興趣可以加QQ群:1011197972一起學(xué)習(xí)
總結(jié)
以上是生活随笔為你收集整理的Hadoop 三节点集群搭建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: canvas绘制可缩放的室内地图和路径
- 下一篇: Pillow图片格式转换