hadoop 添加删除机器以及设置免密登录
添加hadoop機器
- 先在slaves中添加機器
- 然后啟動datanode
$: ./usr/hadoop-0.20.2-cdh3u4/bin/hadoop-daemon.sh start datanode
- 查看是否啟動
$: jps4696 DataNode
4765 Jps
- 啟動tasktrack
$: ./usr/hadoop-0.20.2-cdh3u4/bin/hadoop-daemon.sh start tasktracker
- 查看是否啟動
$: jps16503 DataNode
16727 TaskTracker
20793 Jps
- 均衡block
./usr/hadoop-0.20.2-cdh3u4/bin/start-balancer.sh
刪除機器
1.在/usr/hadoop-0.20.2-cdh3u4/conf編輯dfs.hosts.exclude,把我們想要刪除的機器添加進進去,如:10.142.40.69, 然后修改hdfs-site.xml文件
<property> <name>dfs.hosts.exclude</name> <value>/usr/hadoop-0.20.2-cdh3u4/conf/dfs.hosts.exclude</value>
</property>
- 強制重新加載配置
hadoop dfsadmin -refreshNodes
- 關閉節點
等待剛剛的操作結束后,需要下架的機器就可以安全的關閉了
查看機器情況:
hadoop dfsadmin -report
對刪除的結點會有如下狀態
正在執行Decommission,會顯示:
Decommission Status : Decommission in progress 執行完畢后,會顯示:
Decommission Status : Decommissioned
- 再次編輯excludes文件
一旦完成了機器下架,它們就可以從excludes文件移除了
登錄要下架的機器,查看jps,如果還有datanode和tasktrack,就停止它們
./usr/hadoop-0.20.2-cdh3u4/bin/hadoop-daemon.sh stop datanode./usr/hadoop-0.20.2-cdh3u4/bin/hadoop-daemon.sh stop tasktracker
- 到這里其實已經下架完成,不影響使用了,但是在
hadoop dfsadmin -report
還是會看見這臺機器
Decommission Status : Decommissioned
如何才能不顯示?重啟namenode,再重啟前請做好備份,通知其他在使用的用戶,不要提交任務
6.重啟namenode
/usr/hadoop-0.20.2-cdh3u4/bin/stop-all.sh最好等一會兒/usr/hadoop-0.20.2-cdh3u4/bin/start-all.sh
設置免密登錄
原理
在master節點上的設置
- 首先到用戶主目錄(cd ~),ls -a查看文件,其中一個為“.ssh”,該文件價是存放密鑰的。待會我們生成的密鑰都會放到這個文件夾中。
- 現在執行命令生成密鑰: ssh-keygen -t rsa (使用rsa加密方式生成密鑰)回車后,會提示三次輸入信息,我們直接回車即可。即回車四下
- 將生成的公鑰id_rsa.pub 內容追加到authorized_keys(執行命令:cat id_rsa.pub >> authorized_keys)
在節點中配置信息
1.以同樣的方式生成秘鑰,然后使用如下命令將生成的公鑰拷貝到master下
在s1中執行命令:scp id_rsa.pub m1:/root/.ssh/id_rsa.pub.s1 ,在s2中執行命令:scp id_rsa.pub m1:/root/.ssh/id_rsa.pub.s2
- 全部重定向
進入m1執行命令:cat id_rsa.pub.s1 >> authorized_keys ,cat id_rsa.pub.s1 >> authorized_keys
-
最后將生成的包含三個節點的秘鑰的authorized_keys 復制到s1和s2的.ssh目錄下( scp authorized_keys s1:/root/.ssh/, scp authorized_keys s2:/root/.ssh/)(如果只想master免密訪問其他的機器,這一步可以省略)
-
賦予權限
chmod 755 ~chmod 700 ~/.sshchmod 600 ~/.ssh/authorized_keys
發現最簡單粗暴的辦法
1.master 機器沒有秘鑰就生成秘鑰:
ssh-keygen -t rsa
(使用rsa加密方式生成密鑰)回車后,會提示三次輸入信息,我們直接回車即可。即回車四下
2. 將生成的公鑰id_rsa.pub 內容追加到authorized_keys(執行命令:cat id_rsa.pub >> authorized_keys)
3. 如果沒有其他機器訪問master機器,直接:
cat id_rsa.pub > authorized_keys
- 現在想要master免密訪問slave1,登錄slave1然后:
ssh-keygen -t rsa
- 進入
~/.ssh,然后把master機器中的authorized_keys,拷貝過來,因為只有master機器免密訪問slave1,所以我先將只包含master機器的id_rsa.pub內容的authorized_keys,保存到 slave1的~/.ssh,然后改變權限:
chmod 600 ~/.ssh/authorized_keys
然后就可以在master機器訪問slave1了
參考
ssh免密碼登錄全過程
CentOS 7 SSH配置免密碼登錄
Linux權限詳解(chmod、600、644、666、700、711、755、777、4755、6755、7755)
總結
以上是生活随笔為你收集整理的hadoop 添加删除机器以及设置免密登录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端Vue学习之路(一)-初识Vue
- 下一篇: go未入门学习记录