HDFS分布式安裝配置筆記
1.準備三臺虛擬機
centos6.5 192.168.20.171 node1 NameNode節點
centos6.5 192.168.20.172 node2 DataNode節點、SecondaryNameNode(必須和NameNode不在一臺機器上)
centos6.5 192.168.20.173 node3 DataNode節點
由於Hadoop是由java開發的,所以請大家一開始就把jdk裝好,務必關閉防火墻service iptables stop。
2.分別修改三臺虛擬機主機名
vi /etc/sysconfig/network
分別修改HOSTNAME為
HOSTNAME=node1
HOSTNAME=node2
HOSTNAME=node3
保存退出,reboot重啟服務器
3.分別修改三臺虛擬機hosts文件
vi /etc/hosts
都添加一下內容
192.168.20.171 node1
192.168.20.172 node2
192.168.20.173 node3
保存退出
4.在node1上進行配置操作
cd /home
tar -zxvf hadoop-1.2.1-bin.tar.gz
cd hadoop-1.2.1/cd hadoop-1.2.1/
4.1 配置NameNode和hadoop工作目錄
vi core-site.xml
在configuration標簽中添加property內容:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://node1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-1.2.1</value>
</property>
</configuration>
第一個property配置的是NameNode信息,即NameNode所在機器以及端口
第一個property配置hadoop工作目錄
4.2 配置副本數
vi hdfs-site.xml
在configuration標簽中添加property內容(不配置的時候默認是3):
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
4.3 配置DataNode
vi slaves
刪除localhost並添加以下節點配置:
node2
node3
4.3 配置SecondaryNameNode
vi masters
刪除localhost並添加以下節點配置:
node2
4.4 配置JAVA_HOME
vi hadoop-env.sh
將export JAVA_HOME之前的註釋去掉,修改jdk路徑為:
export JAVA_HOME=/usr/java/jdk1.7.0_51
保存退出
5.配置從node1到node2和node1到node3免密碼登錄
由於DN、NN、SNN都是java進程都需要啟動,集群的成功需要每個節點的進程都啟動,
為了方便快速的能夠啟動hdfs各節點進程,我們配置ssh免密碼登錄後,hdfs可以啟動所有節點進程,這樣不需要每個節點單獨啟動了。
5.1設置本地ssh免密碼登錄
三個node上都執行:
ssh-keygen -t dsa -P ‘‘ -f ~/.ssh/id_dsa(生成私鑰和公鑰,id_dsa可隨意命名)
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys(將公鑰內容追加到authorized_keys中)
5.2拷貝node1上的公鑰id_dsa.pub到node2和node3
在node1上:
將公鑰拷貝到node2和node3的root目錄
cd /root/.ssh
scp id_dsa.pub root@node2:~
scp id_dsa.pub root@node3:~
在node2和node3上:
將root目錄中node1傳過來的公鑰追加到node2和node3的authorized_keys文件中,node2和node3分別執行:
cd ~
cat id_dsa.pub >> ~/.ssh/authorized_keys
可以使用
cd .ssh/
more authorized_keys
檢查一下node1的id_dsa.pub是否已經追加成功
5.3免密碼登錄測試
在node1上執行ssh node2和ssh node3,應該已經可以免密碼登陸了。
6.啟動hadoop
6.1將node1的hadoop壓縮包拷貝到node2和node3
scp -r /home/hadoop-1.2.1-bin.tar.gz root@node2:/home/
scp -r /home/hadoop-1.2.1-bin.tar.gz root@node3:/home/
6.2在node2和node3上解壓
cd /home
tar -zxvf hadoop-1.2.1-bin.tar.gz
6.3將node的配置文件全部拷貝到node2和node3(保證各節點hadoop一模一樣)
在node1上面:
cd /home/hadoop-1.2.1/conf/
scp ./* root@node2:/home/hadoop-1.2.1/conf
scp ./* root@node3:/home/hadoop-1.2.1/conf
6.4進行格式化
在node1上執行:
cd /home/hadoop-1.2.1/bin
格式化 ./hadoop namenode -format
啟動hdfs ./start-dfs.sh
6.5查看各機器上的hdfs節點狀態
[root@node1 bin]# jps
4471 Jps
4337 NameNode
[root@node2 home]# jps
4099 Jps
4041 SecondaryNameNode
3958 DataNode
[root@node3 home]# jps
3732 DataNode
3796 Jps
從上面可以看出:
node1上有一個NameNode進程
node2上有一個DataNode進程和一個SecondaryNameNode進程
node3上有一個DataNode進程
6.6關閉hdfs
cd /home/hadoop-1.2.1/bin
./stop-dfs.sh
7.通過瀏覽器訪問hdfs
修改C:\Windows\System32\drivers\etc\hosts,添加
192.168.20.171 node1
192.168.20.172 node2
192.168.20.173 node3
訪問http://node1:50070/dfshealth.jsp
可以查看hdfs文件系統,以及健康狀態等信息。
至此,hdfs安裝配置結束。
HDFS分布式安裝配置筆記