虛擬機搭建hadoop集羣筆記

VM15.0,centos7

最小版安裝centos,不能上網。先配置網絡,設置:


 

BOOTPROTO="dhcp"
ONBOOT="yes"

然後service network restart重啓網絡,根據分配的ip,設置靜態ip

BOOTPROTO="static"  # 手動分配ip
IPADDR=172.16.235.240  # 該網卡ip地址就是你要配置的固定IP,如果你要用xshell等工具連接,220這個網段最好和你自己的電腦網段一致,否則有可能用xshell連接失敗
GATEWAY="172.16.235.129"   # 網關
NETMASK="255.255.255.224"   # 子網掩碼
DNS1="172.16.6.208"    # DNS,8.8.8.8爲Google提供的免費DNS服務器的IP地址
  • 安裝資源準備:

1、8G內存以上的臺式機,安裝VM15.0,再安裝centos7,選擇最小安裝,先配置master,如下:

 

2、建好目錄:

mkdir /bdl /bdl/software /bdl/appData /bdl/software/hadoop /bdl/software/java8

-bdl

--software

---hadoop

–--java8

--appData

 

2、準備好安裝包:jdk-8u121-linux-x64.tar.gz、hadoop-2.6.4.tar.gz

 

  • 安裝JDK1.8
  1. 解壓安裝包並更名:

cd /bdl/software/java8

tar -zxvf jdk-8u121-linux-x64.tar.gz

mv jdk1.8.0_121/ /bdl/jdk1.8

  1. 配置環境變量:

vim /etc/profile,最後一行添加一下內容:

export JAVA_HOME=/bdl/jdk1.8

export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar

export PATH=$PATH:${JAVA_HOME}/bin

 

使java環境變量生效:source /etc/profile

查看效果:java -version

三、搭建hadoop的主節點master1步驟:

1、設置主機名:hostnamectl set-hostname hadoop.m1

查看是否設置成功:hostname

 

2、配置IP主機名映射,vim /etc/hosts,添加如下內容:

172.16.235.138 hadoop.m1

172.16.235.139 hadoop.s1

172.16.235.140 hadoop.s2

 

  1. 解壓hadoop壓縮包,並移動更名:

cd /bdl/software/hadoop

tar -zxvf tar -zxvf hadoop-2.6.4.tar.gz

mv hadoop-2.6.4 /bdl/hadoop2.6.4

 

  1. 配置hadoop的環境變量,vim /etc/profile,添加如下內容:

export JAVA_HOME=/bdl/jdk1.8

export HADOOP_HOME=/bdl/hadoop2.6.4

export PATH=$JAVA_HOME/bin: $HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

 

然後source /etc/profile使環境變量生效

5、修改hadoop配置文件,在/bdl/hadoop2.6.4/etc/hadoop目錄下:

cd /bdl/hadoop2.6.4/etc/hadoop

  1. 修改hadoop-env.sh中的JAVA_HOME:

vim hadoop-env.sh

修改處:export JAVA_HOME=/bdl/jdk1.8

  1. 修改core-site.xml

vim core-site.xml

<configuration>標籤中添加如下內容:

<!-- 指定HADOOP所使用的文件系統schema(URI),HDFS的老大(NameNode)的地址 -->

              <property>

                     <name>fs.defaultFS</name>

                     <value>hdfs://hadoop.m1:9000</value>

              </property>

              <!-- 指定hadoop運行時產生文件的存儲目錄 ,無需手動創建,會自動生成-->

              <property>

                     <name>hadoop.tmp.dir</name>

                     <value>/bdl/appData/hadoop/tmp</value>

</property>

  1. 修改hdfs-site.xml

vim hdfs-site.xml

<configuration>標籤中添加如下內容:

<!-- 指定HDFS副本的數量 -->

<property>

        <name>dfs.replication</name>

        <value>1</value>

</property>

<!-- 第二數據結點,可不配置 -->

<property>

        <name>dfs.secondary.http.address</name>

        <value>192.168.1.152:50090</value>

        </property>

  1. 修改mapred-site.xml

mv mapred-site.xml.template mapred-site.xml

vim mapred-site.xml

<configuration>標籤中添加如下內容:

<!-- 指定mr運行在yarn上 -->

<property>

        <name>mapreduce.framework.name</name>

        <value>yarn</value>

        </property>

  1. 修改yarn-site.xml

vim yarn-site.xml

<configuration>標籤中添加如下內容:

<!-- 指定YARN的老大(ResourceManager)的地址 -->

<property>

        <name>yarn.resourcemanager.hostname</name>

        <value>hadoop.m1</value>

</property>

<!-- reducer獲取數據的方式 -->

<property>

        <name>yarn.nodemanager.aux-services</name>

        <value>mapreduce_shuffle</value>

        </property>

 

6、格式化namenode(是對namenode進行初始化)

/bdl/hadoop2.6.4/bin/hdfs namenode -format

輸出如下提示表示namenode格式化成功

 

三、配置其他slaver節點(克隆虛擬機,選擇要克隆的虛擬機,右鍵,管理,克隆(先關閉虛擬機)
克隆完整,然後修改網絡配置)

1、如果是虛擬機需要變更IP和MAC地址(MAC地址重新生成,虛擬機界面)

2、修改主機名

hostnamectl set-hostname hadoop.s1

3、在主節點hadoop.m1上配置slaves文件,設置好datanode:

vim /bdl/hadoop2.6.4/etc/hadoop/slaves,然後添加如下節點

hadoop.s1

hadoop.s2

 

  • 啓動hadoop驗證

 

啓動hdfs:

/usr/shuyechao/hadoop2.6.5/sbin/start-dfs.sh

 

啓動yarn:

/usr/shuyechao/hadoop2.6.5/sbin/start-yarn.sh

啓動過程中多次輸入連接密碼,啓動完成後jps查看各節點進程,另外需要注意關一下slaver的防火牆(system stop firewalld),不關的話主節點啓動從節點的datanode和nodemanager啓不起來。

防火牆:

查看防火牆狀態:firewall-cmd –state

停止防火牆:systemctl stop firewalld.service

禁止開機啓動:systemctl disable firewalld.service

Slave2,不關閉防火牆也可以通過master啓動salve2

 

master節點截圖:

slaver截圖:

 

 

  • 配置master到slaver的免密登錄
  1. 在hadoop.m1上生成免登錄密鑰:

ssh-keygen -t rsa或ssh-keygen(執行後按四下回車鍵)

  1. 將密鑰複製到所有slaver和master自己(hadoop.m1、hadoop.s1、hadoop.s2):

ssh-copy-id hadoop.m1

ssh-copy-id hadoop.s1

ssh-copy-id hadoop.s2

 

然後驗證一下(/usr/shuyechao/hadoop2.6.5/sbin/start-all.sh),不用輸密碼了,啓動成功後訪問HDFS管理頁面http://主節點IP:50070(注意關閉防火牆或在防火牆增加訪問端口,否則訪問不了),hadoop任務的管理頁面http://主節點IP:8088   

 

查看防火牆開啓的端口:firewall-cmd --list-port

開啓端口:firewall-cmd --zone=public --add-port=80/tcp –permanent

重啓防火牆:firewall-cmd –reload

 

如果遇到slave啓動不成功或者發現不了從節點,先刪除/bld/appdata/hadoop重新format一下即可。(也有可能是防火牆的問題)

成功後界面如下:

發佈了17 篇原創文章 · 獲贊 0 · 訪問量 3900
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章