1. 程式人生 > 實用技巧 >Hadoop完全分散式模式安裝(採用三臺虛擬主機模擬環境)

Hadoop完全分散式模式安裝(採用三臺虛擬主機模擬環境)

作業系統: CentOS6.7

jdk: jdk-8u221

hadoop: 2.7.3

一. 解除安裝系統自帶jdk並安裝準備好的jdk

1. 檢視: rpm -qa | grep jdk

2.解除安裝: yum -y remove xxxx

3.安裝jdk1.8

  解壓jdk包

  tar zxvf jdkxxxx.tar.gz

 

  重新命名:mv jdk1.8.0_221/ jdk1.8

  或者給jdk目錄建立軟連線 ln -s jdk1.8 jdk ( 用jdk 代替jdk1.8)

  配置jdk環境變數(我裝在全域性下,所以修改的配置檔案是/etc/profile,如果是普通使用者則修改 ~/.bashrc)

  

  使配置生效: source /etc/profile (普通使用者 source ~./bashrc)

  使用java -version 可以檢視安裝的jdk版本

  

二. 解壓hadoop壓縮包

  tar zxvf hadoopxxxx.tar.gz

  修改名字為hadoop2.7: mv hadoop-2.7.3 hadoop2.7

  

 配置環境變數

  vi profile

  

  source /etc/profile

  測試一下

  

 成功了, 系統找到了hdfs命令在的目錄

三.克隆出另外兩臺主機

  主機1 : hostname:hadoop1 ip:192.168.253.128

  主機2 : hostname:hadoop2 ip:192.168.253.129

  主機3 : hostname:hadoop3 ip:192.168.253.130

按以上分配修改相應的系統配置

四. 配置主機間兩兩免密登入(每臺主機都要做)

  修改/etx/hosts 檔案 ,在末尾追加

  

  關閉防火牆 :

  永久關閉: chkconfig iptables off

  在hadoop1上生成金鑰對

  $ ssh-keygen -t rsa

  連續敲三次回車後會在~下生成.ssh資料夾.

  將hadoop1公鑰 id_rsa.pub複製到hadoop1,hadoop2,hadoop3中

  $ ssh-copy-i ~/.ssh/id_rsa.pub hadoop1

  $ ssh-copy-i ~/.ssh/id_rsa.pub hadoop2

  $ ssh-copy-i ~/.ssh/id_rsa.pub hadoop3

  ...

  測試一下 在任意一臺主機上輸入ssh hadoop2

  

  不用輸入密碼即可登入hadoop2 即表示免密成功

五. ntp服務(centos自帶了就不贅述)

六. 設定Hadoop配置檔案

1.vi hadoop-env.sh

2.vi core-site.xml

每一臺都要建立這個tmp資料夾

3. vi hdfs-site.xml

4. cpmapred-site.xml.template mapred-site.xml

  vi mapred-site.xml

  

5. vi yarn-site.xml

 

6. vi slavers

7. 分發配置到hadoop2,hadoop3

scp -r ~/hadoop2.7/etc/hadoop roshan@hadoop2:~/hadoop2.7/etc/

scp -r ~/hadoop2.7/etc/hadoop roshan@hadoop3:~/hadoop2.7/etc/

七.啟動Hadoop

  初始化namenode :hdfs namenode -format

  啟動hadoop: start-all.sh

在hadoop1裡有一下程序

在hadoop2,hadoop3中有

說明分散式成功搭建

在windows瀏覽器中開啟192.168.253.128:50070/192.168.253.128:50090

可以看到有兩個datanode