Centos7搭建Hadoop平臺(最簡單Hadoop平臺)
1、 所需軟件
1)VMware虛擬機(使用的是VMware Workstation 10)
2)Centos(使用的是Centos7)
3)jdk(使用jdk-7u51-linux-x64.gz)
4)Xshell(使用Xshell5,用於在window下遠程連接虛擬機中的centos)
5)WinSCP(用於window與虛擬機中的centos傳文件)
6)hadoop(使用hadoop-1.2.1)
2、 虛擬機安裝Centos
ifconfig #命令用於查看IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33
ping 192.168.20.x #該測試是以IP在192.168。20網段作爲測試
ping www.baidu.com #該測試是驗證是否能夠連接外網
tar -zxvf jdk-7u51-linux-x64.gz
mv jdk1.7.0_51 /usr/java/
配置Java的環境變量,輸入以下命令: vi /etc/profile
並添加以下三條環境變量語句:
重新加載配置文件,輸入以下命令:
source /etc/profile
其他節點也完成對java環境的配置。
3、 搭建hadoop環境
vi /etc/hosts
注意:其他DataNode中也要添加NameNode中的IP3)在node1中搭建hadoop環境
tar -zxvf hadoop-1.2.1.tar.gz
ln -sf /root/hadoop-1.2.1 /home/hadoop-1.2
修改hadoop.tmp.dir屬性值的原因:如果不設置該屬性,默認就會在Linux下的tmp目錄創建新的目錄,但是tmp目錄下的內容重啓之後就會消失。並且很多hadoop的目錄都會依賴該目錄。該屬性值在core-default.html文件中可以找到。
②hdfs-site.xml
這是設置副本存放的數量,默認值是3。但是此次環境搭建只有兩個DataNode節點,所以要設置爲2。
③slaves
這是設置具體的DataNode,填寫主機名或者IP地址皆可。
④master
這是設置具體的SecondaryNode, 填寫主機名或者IP地址皆可。
⑤hadoop-env.sh
文件中找到JAVA_HOME,並設置爲java環境變量配置的JAVA_HOME值。
4)免密碼登錄
在每一個節點生成密鑰,並將公鑰內容複製到文本內容中,實現登錄自己免密碼的功能。輸入以下語句:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub
將node1的公鑰發送到node2和node3上,輸入以下語句:
scp id_dsa.pub root@node2:~
scp id_dsa.pub root@node3:~
在node2和node3上將node1發送過來的公鑰複製到指定的文件,輸入以下語句:
cat id_dsa.pub >> ~/.ssh/authorized_keys
在node1中將hadoop的壓縮包發送到node2和node3上,輸入以下語句:
scp -r ~/hadoop-1.2.1.tar.gz root@node2:~
scp -r ~/hadoop-1.2.1.tar.gz root@node3:~
在node2和node3中解壓並軟鏈接hadoop(方法同node1)
在node1中進入/home/hadoop-1.2/conf/將hadoop所有配置文件複製到node2和node3上
scp ./* root@node2:/home/hadoop-1.2/conf/
scp ./* root@node3:/home/hadoop-1.2/conf/
6)所有節點關閉防火牆(firewall)和selinux
centos7默認使用firewall作爲防火牆
systemctl stop firewalld.service #關閉防火牆
systemctl disable firewalld.service #禁止防火牆開機啓動
firewall-cmd --state #查看防火牆狀態
查看selinux狀態:sestatus
在/etc/selinux/config中關閉selinux
7)在node1中啓動HDFS
在node1中進入/home/hadoop-1.2/bin輸入以下命令:
./start-dfs.sh
在每個節點可以通過jps命令查看狀態還可以在網頁輸入網址查看節點的狀態。