大數據實踐(三)–Hadoop集羣搭建(Ubuntu)
前置環境
原單機配置前置環境:
hadoop2.7.3
Ubuntu16
VirtualBox
jdk1.8
還需要yarn管理集羣
001、整體路線
使用虛擬機搭建三個節點,分別名爲master、node2、node3.
由於我的主節點配置高於從節點,所以更多負載在主節點上。
002、前置條件
1、jdk、hadoop都已經加入環境變量。
2、複製兩臺虛擬機,將所有節點配置好靜態ip。
master :192.168.56.102
node2 :192.168.56.103
node3 :192.168.56.104
3、修改主機名稱:
在各自節點上修改:
sudo vim /etc/hostname
#master節點
master
#node2節點
node2
#node3節點
node3
4、修改hosts文件,使主機名和ip對應。
所有節點都要修改;
sudo vim /etc/hosts
192.168.56.102 master
192.168.56.103 node2
192.168.56.104 node3
以上修改完畢後建議重啓系統。
5、配置ssh遠程登陸
把master上的公鑰文件,拷貝到node1,node2上;
scp ~/.ssh/authorized_keys hadoop@node2:~/.ssh/
scp ~/.ssh/authorized_keys hadoop@node3:~/.ssh/
其實本步驟基本可以略去,由於都是複製來的虛擬機,基本都有相同的配置。
在master上使用ssh node2、ssh node3測試,如果沒問題即可。
003、修改配置文件
在所有節點上都要修改。
1、修改hadoop-env.sh(略去)
2、修改core-site.xml
<property>
<!--指定 namenode 的 hdfs 協議文件系統的通信地址-->
<name>fs.defaultFS</name>
<value>hdfs://192.168.56.102:8020</value>
</property>
<property>
<!--指定 hadoop 集羣存儲臨時文件的目錄-->
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/hadoopDir</value>
</property>
3、修改hdfs-site.xml
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/hdfs/namedir</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/hdfs/datadir</value>
</property>
4、修改yarn-site.xml
<property>
<!--配置 NodeManager 上運行的附屬服務。需要配置成 mapreduce_shuffle 後纔可以在 Yarn 上運行 MapReduce 程序。-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<!--resourcemanager 的主機名-->
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
5、修改mapred-site.xml
如果沒有該文件,cp mapred-site.xml.template mapred-site.xml.
<configuration>
<property>
<!--指定 mapreduce 作業運行在 yarn 上-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
6、修改slaves
在slaves文件中,加入以下:
配置所有節點的主機名或 IP 地址,每行一個.
master
node2
node3
004、啓動集羣
1、初始化namenode
在master上使用該命令即可:
hdfs namenode -format #只使用一次,使用多次可能會造成衝突
2、啓動hdfs服務
master啓動:
start-dfs.sh
master下啓動了以下進程:
2728 DataNode
2920 SecondaryNameNode
2569 NameNode
其他節點只有:
2728 DataNode
3、啓動yarn服務
start-yarn.sh
master啓動了以下進程:
3220 NodeManager
2728 DataNode
2920 SecondaryNameNode
3090 ResourceManager
2569 NameNode
其他節點只有 :
3220 NodeManager
2728 DataNode
005、web ui界面
1、hadoop ui
在瀏覽器打開master的50070端口:
2、yarn ui
打開8088端口:
關閉進程的話可以使用:
stop-dfs.sh
stop-yarn.sh
#全部關閉
stop-all.sh