VMware Hadoop2.5.2分散式環境搭建
1. Centos安裝
主流虛擬機器軟體有VirtualBox和Vmware workstation,後者為商用軟體,主推後者,對於這兩款軟體的使用,在本文中就不贅述了,不會的同學可以參考https://github.com/judasn/Linux-Tutorial/blob/master/CentOS-Install.md(judasn整理了很多學習資料,在這向他學習致敬)
2. 虛擬網路配置
使用VMware安裝完centos之後我們需要先配置虛擬網路。
編輯à虛擬網路編輯器
開啟
開啟NAT設定如圖:
把紅框中的幾個ip地址記錄下來,後面會需要用到。需要注意的是數值可能和圖中會不一致。
到這一步還需要確認關鍵步驟,也是最容易忽略的步驟:
第一:網路連線選擇NAT模式
開啟虛擬機器à設定
第二:啟動Vmware相關服務
到現在為止,就可以啟動虛擬機器了。
3. 防火牆引數配置
使用root帳號登入虛擬機器
關閉SELINUX:vi /etc/selinux/config 設定SELINUX=disabled,儲存退出
修改IP配置:vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改為如下圖:
注意子網IP,子網掩碼,閘道器IP為前面記錄的幾個值,HWADDR(本機MAC地址)、UUID值無需修改,
修改主機名稱:vi /etc/sysconfig/network 如下圖:修改
修改hosts對映:vi /etc/hosts,加入了slave1和slave2的對映項,將其內容改為如下圖所示。
關閉防火牆:/sbin/service iptables stop;chkconfig --level 35 iptables off
重啟網路策略:service network restart
到這一步我們就可以使用ssh工具連線到我們的虛擬機器了,使用Putty、Xshell、SecureCRT等工具都行,在這我使用Xshell+Winscp
4.JDK安裝
使用SSH工具連線上虛擬機器之後,通過FTP上傳下載好的jdk安裝檔案。下載地址:
先解除安裝:
檢視系統中是否安裝了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.xml和etc/hadoop/hdfs-site.xml。
# vim hadoop-2.5.2/etc/hadoop/core-site.xml 新增如下內容:
配置說明:新增hdfs的指定URL路徑,由於是偽分佈模式,所以配置的是本機IP ,可為真實Ip、localhost。
# vim hadoop-2.5.2/etc/hadoop/ hdfs-site.xml 新增如下內容:
將mapred-site.xml.template重新命名為mapred-site.xml,並新增如下內容:
為hadoop指定jdk:
# vim hadoop-2.5.2/etc/hadoop/hadoop-env.sh
將hadoop加入到環境變數中
# vim ~/.bashrc 新增如下內容:
到這為止,hadoop就已經配置好了。
6. 克隆虛擬機器
使用VMware中克隆功能,複製出另外兩臺虛擬機器,分別命名為slave1和slave2。因為克隆出的虛擬機器網絡卡地址已經改變,所以要修改複製出的虛擬機器的網絡卡地址。
網絡卡地址檢視:(注意要啟動虛擬機器查詢)
# vim /etc/sysconfig/networking/devices/ifcfg-eth0 將其中HWADDR修改為上面新的網絡卡地址,同樣將IPADDR改為192.168.224.201(slave1)或192.168.224.202(slave2)。
# vim /etc/sysconfig/network 修改主機名為slave1和slave2
# 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中存在NameNode、SecondaryNameNode程序,slave1和slave2中存在DataNode、NodeManager程序。
此時可以訪問Web介面http://192.168.138.100:50070來檢視Hadoop的資訊。
轉載於:https://my.oschina.net/fuyung/blog/664739