Hadoop學習(二)在VirtualBox上搭建Hadoop集羣

搭建單機hadoop參見上篇文章https://blog.csdn.net/zhangcjsyl/article/details/88322373,虛擬機和ubuntu操作系統的安裝參見tps://blog.csdn.net/zhangcjsyl/article/details/8814258,本文在此兩篇文章基礎上進行搭建Hadoop集羣環境。

一、整體規劃

一主三從,整理如下:

主機名 IP HDFS YARN
hadoop 192.168.56.100 NameNode ResourceManager
hadoop1 192.168.56.101 DataNode NodeManager
hadoop3 192.168.56.102 DataNode NodeManager
hadoop3 192.168.56.103 DataNode NodeManager

二、集羣搭建

1.修改主機hadoop1

首先進行網卡設置

將上文的hadoop1關機,在virtualbox界面選中hadoop1點擊設置:

單擊網絡,設置網卡一爲如下:

這樣虛擬主機就可以通過本機連接外網。然後按照下圖設置添加網卡2:

然後啓動hadoop1,在終端輸入命令:

$ sudo gedit /etc/network/interfaces

編輯網絡配置文件,添加如下代碼:

# NAT interface
auto enp0s3
iface enp0s3 inet dhcp

#host only interface
auto enp0s8
iface enp0s8 inet static 
address         192.168.56.101
netmask         255.255.255.0
network         192.168.56.0
broadcast       192.168.56.255

這裏的enp0s3和enp0s8是你自己的網卡名稱,可能與我這裏並不一樣,可以通過ifconfig -a命令查看網卡。修改後的文件如下:

然後點擊保存並關閉。

編輯主機名

終端輸入下面的命令:

$ sudo gedit /etc/hostname

修改文件如下:

保存後關閉。這樣這臺主機的主機名就是data1,接着設置hosts文件,在終端輸入命令:

$ sudo gedit /etc/hosts

增加如下配置:

192.168.56.100  master
192.168.56.101  data1
192.168.56.102  data2
192.168.56.103  data3

修改後的問價如下:

保存後關閉。

修改hadoop配置文件

首先修改core-site.xml,在終端輸入命令:

$ sudo gedit /usr/local/hadoop/hadoop-3.2.0/etc/hadoop/core-site.xml 

將配置中的localhost改爲master,修改後如下:

保存並關閉後修改yarn-site.yml,在終端輸入命令:

$ sudo gedit /usr/local/hadoop/hadoop-3.2.0/etc/hadoop/yarn-site.xml

在文件中增加如下配置:

<property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>master:8025</value>
</property>
<property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>master:8030</value>
</property>
<property>
    <name>yarn.resourcemanager.address</name>
    <value>master:8050</value>
</property>

修改後的文件如下:

保存並關閉後修改mapred-site.yml,在終端輸入命令:

$ sudo gedit /usr/local/hadoop/hadoop-3.2.0/etc/hadoop/mapred-site.xml

增加如下配置:

<property>
    <name>mapred.job.tracker</name>
    <value>master:54311</value>
</property>

修改後文件如下:

編輯完成後保存並關閉。最後編輯hdfs-sites.xml,在終端輸入命令:

$ sudo gedit /usr/local/hadoop/hadoop-3.2.0/etc/hadoop/hdfs-site.xml 

刪除下圖紅色框中的配置:

保存後關閉。這樣一個slave節點配置完畢。

2.複製hadoop1爲hadoop2、hadoop3、hadoop

在VirtualBox中右鍵虛擬機hadoop1,點擊複製,MAC地址設定選擇‘爲所有網卡重新生成MAC地址’,點擊下一步:

選擇完全複製,然後點擊複製即開始複製:

複製的過程大概需要幾分鐘。

複製完成後,將ip分別設爲192.168.56.102 ,192.168.56.103,192.168.56.100,主機名設爲data2,data3,master。hadoop2、hadoop3就無需另外配置了。master節點主機hadoop的配置按照下面的步驟進行。

修改hdfs-sites.xml,在終端輸入命令:

$ sudo gedit /usr/local/hadoop/hadoop-3.2.0/etc/hadoop/hdfs-site.xml 

刪除下紅框中的配置:

保存後關閉。新建masters文件,在終端輸入命令:

$ sudo gedit /usr/local/hadoop/hadoop-3.2.0/etc/hadoop/masters

編輯如下:

保存後關閉。新建slaves文件,在終端輸入命令:

$ sudo gedit /usr/local/hadoop/hadoop-3.2.0/etc/hadoop/slaves

編輯如下

保存後關閉。至此,master節點和三個slave節點配置完成。

3.hadoop集羣啓動

先將四臺虛擬機啓動,在master上啓動終端,通過ssh連接到data1:

$ ssh data1

先將之前的數據全部清除,執行下面的命令:

$ sudo rm -rf ls /usr/local/hadoop/hadoop_data/hdfs

然後新建目錄:

$ mkdir -p ls /usr/local/hadoop/hadoop_data/hdfs/datanode

設置目錄的擁有者:

$ sudo chown -R zhangc:zhangc /usr/local/hadoop

退出data1:

$ exit

以同樣的方式將data2、data3的數據也都重置。然後在master機器上刪除之前的HDFS目錄:

$ sudo rm -rf ls /usr/local/hadoop/hadoop_data/hdfs

創建namenode目錄:

$ mkdir -p ls /usr/local/hadoop/hadoop_data/hdfs/namenode

設置目錄的擁有者:

$ sudo chown -R zhangc:zhangc /usr/local/hadoop

格式化namenode:

$ hadoop namenode -format

分別啓動master和data1、data2、data3:

$ start-all.sh

在四臺機器上分別查看當前進程:

$ jps

訪問http://master:8088,點擊nodes查看當前節點

訪問http://master:9870,點擊datanodes可查看datanodes信息:

如此,hadoop集羣搭建完畢。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章