Hadoop腳本遠(yuǎn)程控制中SSH常見問題詳解
背景
在Hadoop腳本遠(yuǎn)程控制中,需要知道SSH一些常見的知識點。
SSH有三個知識點
1、使用ssh通過Hadoop腳本遠(yuǎn)程控制其他節(jié)點。
2、ssh配置免密模式。
3、ssh遠(yuǎn)程執(zhí)行的時候有一個弊端,上面說到需要使用Java JDK,使用Java命令來啟動jvm進(jìn)程,那么這時候如果有一個節(jié)點a要去控制另一個節(jié)點b啟動一個jvm進(jìn)程,在使用ssh遠(yuǎn)程執(zhí)行的時候,是不會加載對方的環(huán)境變量的 etc/profile文件的。
這邊演示一下,有兩臺機器ip為118和119,在118節(jié)點中增加環(huán)境變量BIGDATA
[root@localhost ~]# vi /etc/profile // 在文件尾行追加,并保存文件 export BIGDATA=hello
打印剛才的變量發(fā)現(xiàn)變量為空
[root@localhost ~]# echo $BIGDATA [root@localhost ~]#
因為當(dāng)前bash在運行時已經(jīng)加載了環(huán)境變量文件,之后的修改并沒有應(yīng)用到當(dāng)前環(huán)境,我們可以用source重新加載文件,然后在輸出變量就可以打印出對應(yīng)的值了
[root@localhost ~]# source /etc/profile [root@localhost ~]# echo $BIGDATA hello [root@localhost ~]#
現(xiàn)在我們使用119節(jié)點,通過ssh讓118節(jié)點遠(yuǎn)程執(zhí)行輸出變量值看一下效果
[root@localhost ~]# ssh root@192.168.0.118 'echo $BIGDATA' The authenticity of host '192.168.0.118 (192.168.0.118)' can't be established. ECDSA key fingerprint is SHA256:rDsunaro1f5LyKkEeNohXfDD9oEglNXtviD/JZtA1dw. ECDSA key fingerprint is MD5:51:38:8d:fc:e4:d2:c7:ce:66:09:c8:f2:e6:9e:a7:f2. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.0.118' (ECDSA) to the list of known hosts. root@192.168.0.118's password: [root@localhost ~]#
這時候我們可以發(fā)現(xiàn)沒有打印變量值,這是因為在ssh遠(yuǎn)程登錄到118節(jié)點的時候,不會加載/etc/profile文件,如果不加載的話,就無法獲取到變量。
這樣我們只能多執(zhí)行一個命令去加載環(huán)境變量文件,再輸出變量,這時候就可以輸出變量值了。
[root@localhost ~]# ssh root@192.168.0.118 'source /etc/profile;echo $BIGDATA;' root@192.168.0.118's password: hello [root@localhost ~]#
總結(jié)下這個知識點的內(nèi)容: JDK安裝完都要設(shè)置環(huán)境變量,在每臺節(jié)點中都要設(shè)置Java home環(huán)境變量,但是如果有一臺節(jié)點要去調(diào)用別人使用Java命令啟動的話,那么這時候通過ssh過去是得不到Java home環(huán)境變量的。所以在搭建的時候,裝完JDK后,設(shè)置完Java home環(huán)境變量,在Hadoop的配置命令中再重新配置一次Java home的絕對路徑。 要把Java的安裝路徑即告訴操作系統(tǒng),也要告訴Hadoop。
以上就是Hadoop腳本遠(yuǎn)程控制中SSH常見問題詳解的詳細(xì)內(nèi)容,更多關(guān)于Hadoop遠(yuǎn)程控制SSH的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
git遠(yuǎn)程倉庫_動力節(jié)點Java學(xué)院整理
這篇文章主要介紹了git遠(yuǎn)程倉庫的相關(guān)資料,需要的朋友可以參考下2017-08-08DNS、DHCP的備份恢復(fù)bat(批處理自動實現(xiàn))
現(xiàn)在的服務(wù)器上運行了很多系統(tǒng)服務(wù),雖然中間沒有出過什么問題,但是還是怕,要是出了問題,就是好幾天的時間沒有了,累4人的事情啊。所以要把什么東西都backup一下2016-01-01云服務(wù)器Centos中安裝Docker的方法小結(jié)
Docker是一個開源的應(yīng)用容器引擎,利用操作系統(tǒng)本身已有的機制和特性,可以實現(xiàn)遠(yuǎn)超傳統(tǒng)虛擬機的輕量級虛擬化,CentOS是Linux發(fā)行版之一,本文給大家介紹云服務(wù)器Centos中安裝Docker的方法,感興趣的朋友一起看看吧2023-12-12Keepalived+HAProxy高可用集群K8S實現(xiàn)
這篇文章主要為大家介紹了Keepalived+HAProxy實現(xiàn)高可用集群K8S的構(gòu)建方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03Hadoop計數(shù)器的應(yīng)用以及數(shù)據(jù)清洗
今天小編就為大家分享一篇關(guān)于Hadoop計數(shù)器的應(yīng)用以及數(shù)據(jù)清洗,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-01-01Visual Studio Code(vscode) git的使用教程
這篇文章主要介紹了詳解Visual Studio Code(vscode) git的使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11服務(wù)器 conda update 失敗的快速解決方法
這篇文章主要介紹了服務(wù)器 conda update 失敗的快速解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01