1. 程式人生 > 實用技巧 >VMware Hadoop2.5.2分散式環境搭建

VMware Hadoop2.5.2分散式環境搭建

>>> hot3.png

1. Centos安裝

主流虛擬機器軟體有VirtualBoxVmware workstation,後者為商用軟體,主推後者,對於這兩款軟體的使用,在本文中就不贅述了,不會的同學可以參考https://github.com/judasn/Linux-Tutorial/blob/master/CentOS-Install.mdjudasn整理了很多學習資料,在這向他學習致敬)

2. 虛擬網路配置

使用VMware安裝完centos之後我們需要先配置虛擬網路。

編輯à虛擬網路編輯器

230657_oqFU_874878.png

開啟

230657_HQKI_874878.png

開啟NAT設定如圖:

230658_Qb9L_874878.png

把紅框中的幾個ip地址記錄下來,後面會需要用到。需要注意的是數值可能和圖中會不一致。

到這一步還需要確認關鍵步驟,也是最容易忽略的步驟:

第一:網路連線選擇NAT模式

開啟虛擬機器à設定


230659_O7hu_874878.png

第二:啟動Vmware相關服務

230700_8MuS_874878.png

到現在為止,就可以啟動虛擬機器了。

3. 防火牆引數配置

使用root帳號登入虛擬機器

關閉SELINUXvi /etc/selinux/config 設定SELINUX=disabled,儲存退出

修改IP配置:vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改為如下圖:

231156_3kpf_874878.png

注意子網IP,子網掩碼,閘道器IP為前面記錄的幾個值,HWADDR(本機MAC地址)、UUID值無需修改,

修改主機名稱:vi /etc/sysconfig/network 如下圖:修改

HOSTNAME值為master

231156_uyaC_874878.png

修改hosts對映:vi /etc/hosts,加入了slave1和slave2的對映項,將其內容改為如下圖所示。

231157_X6Sd_874878.png

關閉防火牆:/sbin/service iptables stop;chkconfig --level 35 iptables off

重啟網路策略:service network restart

到這一步我們就可以使用ssh工具連線到我們的虛擬機器了,使用PuttyXshellSecureCRT等工具都行,在這我使用Xshell+Winscp

4.JDK安裝

使用SSH工具連線上虛擬機器之後,通過FTP上傳下載好的jdk安裝檔案。下載地址:

http://pan.baidu.com/s/1pLEJ9bl

先解除安裝:

檢視系統中是否安裝了jdk

# rpm -qa | grep jdk

# rpm -qa | grep gcj

可能會出現:

jdk-1.7.0_45-fcs.x86_64

如果存在執行命令進行解除安裝:

# yum -y remove jdk-1.7.0_45-fcs.x86_64

下載jdk-7u79-linux-x64.rpm

給所有使用者新增可執行的許可權

# chmod +x jdk-7u79--linux-x64-rpm.bin

進入檔案存放目錄

# chmod 777 jdk-7u79--linux-x64-rpm給所有使用者新增可執行的許可權

安裝程式

#rpm -ivh jdk-7u79--linux-x64-rpm

出現安裝協議等,按接受即可。

2.設定環境變數。

#vi /etc/profile

在最後面加入

#set java environment

JAVA_HOME=/usr/java/jdk1.7.0_79

CLASSPATH=.:$JAVA_HOME/lib.tools.jar

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH PATH

儲存退出。

5. Hadoop安裝配置

下載hadoop2.5.2版本,下載地址:http://mirror.bit.edu.cn/apache/hadoop/common/

# tar -vxf hadoop-2.5.2/ #將下載的hadoop-2.5.2.tar.gz解壓

hadoop可以在單節點上以偽分散式的方式執行,Hadoop程序以獨立的Java程序來執行,節點即NameNode也是DataNode。需要修改2個配置檔案etc/hadoop/core-site.xmletc/hadoop/hdfs-site.xml

# vim hadoop-2.5.2/etc/hadoop/core-site.xml 新增如下內容:

231158_LRrO_874878.png

配置說明:新增hdfs的指定URL路徑,由於是偽分佈模式,所以配置的是本機IP ,可為真實Iplocalhost

# vim hadoop-2.5.2/etc/hadoop/ hdfs-site.xml 新增如下內容:

231158_ouaZ_874878.png

mapred-site.xml.template重新命名為mapred-site.xml,並新增如下內容:

231159_EStN_874878.png

hadoop指定jdk

# vim hadoop-2.5.2/etc/hadoop/hadoop-env.sh

231200_SS0y_874878.png

hadoop加入到環境變數中

# vim ~/.bashrc 新增如下內容:

231200_LmNz_874878.png

到這為止,hadoop就已經配置好了。

6. 克隆虛擬機器

使用VMware中克隆功能,複製出另外兩臺虛擬機器,分別命名為slave1slave2。因為克隆出的虛擬機器網絡卡地址已經改變,所以要修改複製出的虛擬機器的網絡卡地址。

網絡卡地址檢視:(注意要啟動虛擬機器查詢)



231201_gVJ3_874878.png

# vim /etc/sysconfig/networking/devices/ifcfg-eth0 將其中HWADDR修改為上面新的網絡卡地址,同樣將IPADDR改為192.168.224.201(slave1)192.168.224.202(slave2)

# vim /etc/sysconfig/network 修改主機名為slave1slave2

# rm -f /etc/udev/rules.d/70-persistent-net.rules #這步非常關鍵

# reboot #重啟虛擬機器

現在就可以使用SSH工具連線三臺虛擬機器了

7.配置SSH

設定免密登入,開啟三臺虛擬機器,登入到master中,執行如下命令:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

ssh slave1 "mkdir ~/.ssh"

scp ~/.ssh/id_dsa.pub slave1:~/.ssh/authorized_keys

ssh slave2 "mkdir ~/.ssh"

scp ~/.ssh/id_dsa.pub slave2:~/.ssh/authorized_keys

中間可能需要輸入密碼 ,執行完之後,分別執行如下命令

ssh master

ssh slave1

ssh slave2

不需要再輸入密碼就對了。

8.啟動Hadoop

首次執行需先執行HDFS格式化命令:bin/hadoop namenode –format(第二次啟動就不需要了)

master虛擬機器執行sbin/start-all.sh OK了。

成功啟動後,可以通過命令jps看到啟動了如下程序,master中存在NameNodeSecondaryNameNode程序,slave1slave2中存在DataNodeNodeManager程序。

004427_MijU_874878.png

004427_XGpO_874878.png

004427_GX1y_874878.png

此時可以訪問Web介面http://192.168.138.100:50070來檢視Hadoop的資訊。


轉載於:https://my.oschina.net/fuyung/blog/664739