Hadoop 三节点集群搭建
本文檔介紹了如何設置和配置單節點Hadoop安裝,以便您可以使用Hadoop MapReduce和Hadoop分布式文件系統(HDFS)快速執行簡單的操作。
先決條件
支持平臺
-
支持GNU / Linux作為開發和生產平臺。Hadoop已在具有2000個節點的GNU / Linux集群上進行了演示。
-
Windows也是受支持的平臺,但是以下步驟僅適用于Linux。
必備軟件
Linux所需的軟件包括:
必須安裝Java?。HadoopJavaVersions中描述了推薦的Java版本。
必須安裝ssh并且sshd必須正在運行才能使用管理遠程Hadoop守護程序的Hadoop腳本。
安裝步驟
如果您的群集沒有必需的軟件,則需要安裝它。
例如在CentOS Linux上:
[root@centos001 ~]# sudo yum install ssh -y
[root@centos001 ~]# sudo yum install rsync -y
注意:三臺服務器必須是安裝了jdk的(沒有安裝的小伙伴也不用慌張,請看我上一期文章)
下載和上傳
要獲得Hadoop發行版,請從其中一個Apache Download Mirrors下載最新的穩定版本。
創建software目錄用于上傳軟件安裝包。
[root@centos001 ~]# mkdir /opt/software
通過xftp工具將Hadoop發行版上傳至服務器的 /opt/software/目錄下。
準備啟動Hadoop集群
解壓縮下載的Hadoop發行版。在發行版中,編輯文件etc/hadoop/hadoop-env.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
配置環境變量
[root@hadoop001 apps]# cd hadoop/
[root@hadoop001 hadoop]# pwd? ?#查看當前路徑
/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行,放開注釋進行修改)
?? ?-- export JAVA_HOME=/usr/apps/jdk/
4. [root@hadoop001 hadoop]#vi core-site.xml
?? ?<configuration>
?? ?<!--用于設置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 副本數量 -->
?? ??? ?<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
?
?將配置好的,環境變量,jdk,hadoop復制給hadoop002和hadoop0003
[root@hadoop001 apps]# scp -r /usr/apps/jdk root@192.168.159.132:/usr/apps/
注意hadoop002要有apps這個目錄,沒有就用mkidr apps創建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和文件路徑
?注意查看是否復制成功
[root@hadoop002 apps]# source /etc/profile
[root@hadoopoo3 apps]# source /etc/profile
hadoop運行測試
?先關閉防火墻
[root@hadoopoo3 /]# systemctl stop firewalld
[root@hadoopoo3 /]# systemctl disable firewalld
1. 格式化 HDFS(初次安裝需要才執行)
hadoop namenode -format (第一臺執行)
2.啟動 Hadoop 守護進程
?? ?-- 在第一臺執行 start-dfs.sh
?? ?-- 在第三臺執行 start-yarn.sh
3.jps 命令檢查Hadoop守護進程是否啟動成功
[root@hadoopoo3 /]# jps
?? ?-- 第一臺守護進程有?
?? ??? ?Namenode,DataNode
?? ??? ?NodeManager
?? ?-- 第二臺守護進程有
?? ??? ?SecondaryNameNode,DataNode
?? ??? ?NodeManager
?? ?-- 第三臺守護進程有
?? ??? ?DataNode
?? ??? ?ResourceManager,NodeManager
4.運行測試 Hadoop?
?? ?-- 在瀏覽器輸入 192.168.xx.x:50070(第一臺IP地址)
?? ?-- 在瀏覽器輸入 192.168.xx.x:8088(第三臺IP地址)
?
5.在命令行執行 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.關閉守護進程
?? ?-- stop-dfs.sh(第一臺執行)
?? ?-- stop-yarn.sh(第三臺執行)
?
注意事項:
?? ?1. 如果第一步格式化 HDFS 失敗,執行以下命令后重新格式化
?? ??? ?-- rm -rf /opt/apps/hadoop/tmp
?? ?2. 如果第 3 步缺失守護進程,請重新執行第 2 步
?? ?3. 如果第 4 步無法正常訪問網址,請檢查 Linux 防火墻是否關閉
?? ??? ?-- systemctl stop firewalld
?? ??? ?-- systemctl disable firewalld
這就完畢了,是不是很簡單,有興趣可以加QQ群:1011197972一起學習
總結
以上是生活随笔為你收集整理的Hadoop 三节点集群搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: canvas绘制可缩放的室内地图和路径
- 下一篇: 软件工程项目——校园二手交易系统——第一