準備硬件環境
此次用到三臺計算機,三臺計算機的系統都是Linux,並且以安裝好JAVA。IP地址和角色爲:
namenode:192.168.0.1
datanode:192.168.0.2
datanode:192.168.0.3
三臺計算機之間能夠正確解析彼此。因此需要修改/etc/hosts文件,主節點上需要將所有節點的IP地址以及相對應的主機名添加到文件中。作datanode的節點則只需將自己以及主節點的IP地址以及相對應的主機名添加到文件中即可。
安裝Hadoop
由於Hadoop要求所有機器上hadoop的部署目錄結構要相同,並且都有一個相同的用戶名的帳戶。所以要在三臺計算機上先創建好hadoop用戶並且切換到hadoop用戶。
選擇將hadoop解壓在hadoop用戶的家目錄中。爲了方便以後hadoop版本更新,可以創建一個軟鏈接:ln -s hadoop-版本 hadoop
建立ssh
hadoop的主節點是通過ssh來控制其他節點的進程的,則需要兩臺計算機之間不需要輸入密碼,所以要公鑰私鑰的方式來認證。
首先要確保每臺計算機上都有ssh服務並且正常啓動。然後在主節點生成一對密鑰,再將公鑰發給其他的節點。爲了方便管理文件,可在hadoop用戶家目錄中生成新的文件來保存公鑰私鑰。緊接着將所有的公鑰文件的權限修改:chmod 644 authorized_keys,確保其他人不可有寫權限。最後需要對三臺計算機上的sshd服務進行配置,修改文件/etc/ssh/sshd_config。修改如下:
PasswordAuthentication no
AuthorizedKeysFile /home/hadoop/.ssh/authorized_keys
配置完成後可ssh連接看是否是不是不用輸入密碼就可連接(若兩臺主機第一次連接則需要輸入yes)
hadoop環境變量
在/home/hadoop/hadoop/conf配置文件目錄中找到hadoop-env.sh,設置JAVA_HOME變量
hadoop配置文件
這conf中找到slaves文件,此文件是指定datanode的,一行指定一個主機名。master文件是用來指定namenode的,則將主節點的主機名填入即可。
在安裝目錄中找到core-site.xml、hdfs-site.xml以及mapred-site.xml並進行修改。
core-site.xml:
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop/tmp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://(master IP):9000</value>
</property>
mapred-site.xml:
<property><name>mapreduce.jobtracker.address</name>
<value>(master IP):9001</value>
<description>NameNode</description>
</property>
hdfs-site.xml不需要修改
部署hadoop
將配置好的文件傳給其他節點,保證目錄結構一致
啓動hadoop
啓動之前要先格式化namenode,進入/home/hadoop/hadoop下執行:bin/hadoop namenode -format
bin/下有許多啓動腳本,根據需要來使用:
start-all.sh 啓動所有守護
start-mapred.sh 啓動map/reduce守護。Jobtracker和Tasktracker
start-dfs.sh 啓動hadoop DFS守護。Namenode和Datanode
有啓動腳本也自然都相對應的停止腳本
hadoop在線添加節點
在slaves文件添加新節點的IP或者主機名,然後新節點上啓動服務並執行start-balance.sh
hadoop在線刪除節點
在master上修改mapred-site.xml:
<property>
<name>dfs.hosts.exclude</name>
<value>/home/hadoop/hadoop/conf/datanode-excludes</value>
</property>
然後創建datanode-excludes文件,並添加要刪除的主機,一行一個。接着執行:bin/hadoop dfsadmin -refreshNodes進行節點刷新,此操作後會進行後臺遷移數據,等刪除節點的狀態爲Decommissioned即可安全關閉。
datanode白名單
http://www.tuicool.com/articles/zINvYbf
Hadoop分佈式部署
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.