1.hadoop集羣搭建方式
1.1 確定部署三個節點,分別是hadoop0、hadoop1、hadoop2。
其中hadoop0是主節點(NameNode、JobTracker、SecondaryNameNode),hadoop1、hadoop2是從節點(DataNode、TaskTracker)。
1.2 解壓的linux鏡像文件,自己配置linux的初始化環境,(安裝jdk,hadoop,配置ip地址,關閉防火牆,重命名端口,修改Hadoop的一些xml文件,並配置jdk和Hadoop的環境變量)。
1.3 在hadoop0上刪除/usr/local/hadoop目錄下的logs和tmp文件夾。
在刪除之前先要關閉hadoop0上的僞分佈的hadoop。操作是:stop-all.sh (開啓是:start-all.sh)
1.4 設置各節點之間的ssh免密碼登錄
(1)在hadoop1上,把hadoop1上的公鑰複製給hadoop0,執行命令ssh-copy-id -i hadoop0
(2)在hadoop2上,把hadoop2上的公鑰複製給hadoop0,執行命令ssh-copy-id -i hadoop0
(3)把hadoop0上的authorized_keys複製到hadoop1、hadoop2,執行命令
scp /root/.ssh/authorized_keys hadoop1:/root/.ssh
scp /root/.ssh/authorized_keys hadoop2:/root/.ssh
1.5 在hadoop0上修改文件/etc/hosts,內容修改後如下
192.168.80.100 hadoop0
192.168.80.101 hadoop1
192.168.80.102 hadoop2
1.6 複製hadoop0上的/etc/hosts下的配置 到其他hadoop1和hadoop2節點
scp /etc/hosts hadoop1:/etc/
scp /etc/hosts hadoop2:/etc/
1.7 複製hadoop0上的/usr/local/jdk、/usr/local/hadoop到hadoop1、hadoop2的對應目錄下
scp -r /usr/local/jdk hadoop1:/usr/local
scp -r /usr/local/jdk hadoop2:/usr/local
scp -r /usr/local/hadoop hadoop1:/usr/local
scp -r /usr/local/hadoop hadoop2:/usr/local
1.8 複製hadoop0上的/etc/profile到hadoop1、hadoop2上,
scp hadoop0:/etc/profile hadoop1:/etc/profile
scp hadoop0:/etc/profile hadoop2:/etc/profile
並且還要在hadoop1、hadoop2上分別執行source /etc/profile
1.9 修改集羣的配置信息, 修改hadoop0節點的配置信息,其他節點不必修改
(1)NameNode節點的位置在配置文件$HADOOP_HOOME/conf/core-site.xml中fs.default.name定義的。
(2)JobTracker節點的位置在配置文件$HADOOP_HOME/conf/mapred-site.xml中mapred.job.tracker定義的。
(3)SecondaryNameNode節點的位置在配置文件$HADOOP_HOME/conf/masters定義的,內容修改爲hadoop0。
(4)DataNode和TaskTracker節點的位置在配置文件$HADOOP_HOME/conf/slaves定義的,內容修改爲hadoop1、hadoop2。
1.10 在hadoop0上執行格式化命令hadoop namenode -format
1.11 在hadoop0上啓動集羣,執行命令start-all.sh
2.動態增加新的從節點的方法
2.1 確定hadoop0作爲從節點
2.2 修改hadoop0上的slaves文件,增加hadoop0
2.3 在hadoop0上啓動DataNode、TaskTracker進程,執行命令
hadoop-daemon.sh start datanode
hadoop-daemon.sh start tasktracker
2.4 在hadoop0上刷新集羣節點結構,執行命令
hadoop dfsadmin -refreshNodes
3.修改hello文件副本數爲2
hadoop fs -setrep 2 /hello
4.安全模式
集羣在剛啓動時,會進入安全模式,默認是30秒鐘。
在安全模式下,系統對block進行檢查。
在安全模式期間,禁止客戶端的create、delete操作。
hadoop dfsadmin -safeMode leave(離開安全模式)
hadoop dfsadmin -safeMode get(獲取當前安全模式)
hadoop dfsadmin -safeMode enter(進入安全模式)