hdfs 完全分布式搭建教程
1、安裝環境
①、四台Linux CentOS6.7 系統
hostname ipaddress subnet mask geteway
1、 master 192.168.146.200 255.255.255.0 192.168.146.2
2、 slave1 192.168.146.201 255.255.255.0 192.168.146.2
3、 slave2 192.168.146.202 255.255.255.0 192.168.146.2
4、 slave3 192.168.146.203 255.255.255.0 192.168.146.2
其中 master 機器是 NameNode;
slave1 機器是 SecondaryNameNode
slave1,slave2,slave3 是三台 DataNode
②、hadoop 2.7 安裝包
百度雲下載下傳連結:http://pan.baidu.com/s/1gfaKpA7 密碼:3cl7
③、三台機器上建立一個相同的使用者 hadoop
2、安裝 JDK
教程:http://www.cnblogs.com/ysocean/p/6952166.html
3、配置SSH 無密碼登入
教程:http://www.cnblogs.com/ysocean/p/6959776.html
我們以 master 機器來進行如下配置:
4、解壓 hadoop-2.7.3.tar.gz
①、将下載下傳的 hadoop-2.7.3.tar.gz 複制到 /home/hadoop 目錄下(可以利用工具 WinSCP)
②、解壓,進入/home/hadoop 目錄下,輸入下面指令
tar -zxvf hadoop-2.7.3.tar.gz
③、給 hadoop-2.7.3檔案夾重命名,以便後面引用
mv hadoop-2.7.3 hadoop2.7
④、删掉壓縮檔案 hadoop-2.7.3.tar.gz,并在/home/hadoop 目錄下建立檔案夾tmp
⑤、配置 hadoop 環境變量(這裡我Java 和 hadoop 環境變量一起配置了)
使用 root 使用者登入。輸入
vi /etc/profile

5、配置 hadoop 檔案中相應的檔案
需要配置的檔案如下,hadoop-env.sh,core-site.xml,hdfs-site.xml,slaves,所有的檔案配置均位于hadoop2.7.1/etc/hadoop下面,具體需要的配置如下:
5.1 配置/home/hadoop/hadoop2.7/etc/hadoop目錄下的core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.146.200:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>
</configuration>
注意:hadoop.tmp.dir是hadoop 檔案系統依賴的配置檔案。 預設是在 /tmp 目錄下的,而這個目錄下的檔案,在Linux系統中,重新開機之後,很多都會被清空。是以我們要手動指定這寫檔案的儲存目錄。
這個目錄路徑要麼不存在,hadoop啟動的時候會自動幫我們建立;要麼是一個空目錄,不然在啟動的時候會報錯。
5.2配置/home/hadoop/hadoop-2.7/etc/hadoop目錄下的hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>192.168.146.201:50090</value>
</property>
</configuration>
注意:dfs.replication 是配置檔案儲存的副本數;dfs.namenode.secondary.http-address 是指定 secondary 的節點。
5.3配置/home/hadoop/hadoop-2.7/etc/hadoop目錄下hadoop-env.sh 的JAVA_HOME
設定 JAVA_HOME 為自己在系統中安裝的 JDK 目錄
5.4配置/home/hadoop/hadoop-2.7/etc/hadoop目錄下的slaves,删除預設的localhost,增加3個從節點
5.5、指定 SecondaryNameNode 節點
在 /home/hadoop hadoop-2.7/etc/hadoop 目錄下手動建立一個 masters 檔案
vi masters
打開檔案後,輸入 SecondaryNameNode 節點的主機名或者 IP 位址
6、将配置好的 hadoop 檔案上傳給其它三個節點
scp -r /home/hadoop 192.168.146.201:/home/
scp -r /home/hadoop 192.168.146.202:/home/
scp -r /home/hadoop 192.168.146.203:/home/
7、啟動 hadoop
在master伺服器啟動hadoop,從節點會自動啟動,進入/home/hadoop/hadoop-2.7目錄
(1)初始化,輸入指令,bin/hdfs namenode -format
(2)啟動hdfs 指令:sbin/start-dfs.sh
(3)停止指令,sbin/stop-hdfs.sh
(4)輸入指令,jps,可以看到相關資訊
8、通路界面
①、關閉防火牆
service iptables stop
chkconfig iptables off
②、通路 NameNode 節點資訊:http://192.168.146.200:50070
點選DataNodes 檢視 DataNode 節點
③、通路 SecondaryNameNode 節點資訊,就是我們在hdfs-site.xml 中配置的路徑 http://192.168.146.201:50090
作者:IT可樂
出處:http://www.cnblogs.com/ysocean/
資源:微信搜【IT可樂】關注我,回複 【電子書】有我特别篩選的免費電子書。
本文版權歸作者所有,歡迎轉載,但未經作者同意不能轉載,否則保留追究法律責任的權利。