Hadoop腳本遠(yuǎn)程控制中SSH常見問題詳解
背景
在Hadoop腳本遠(yuǎn)程控制中,需要知道SSH一些常見的知識(shí)點(diǎn)。
SSH有三個(gè)知識(shí)點(diǎn)
1、使用ssh通過Hadoop腳本遠(yuǎn)程控制其他節(jié)點(diǎn)。
2、ssh配置免密模式。
3、ssh遠(yuǎn)程執(zhí)行的時(shí)候有一個(gè)弊端,上面說到需要使用Java JDK,使用Java命令來啟動(dòng)jvm進(jìn)程,那么這時(shí)候如果有一個(gè)節(jié)點(diǎn)a要去控制另一個(gè)節(jié)點(diǎn)b啟動(dòng)一個(gè)jvm進(jìn)程,在使用ssh遠(yuǎn)程執(zhí)行的時(shí)候,是不會(huì)加載對(duì)方的環(huán)境變量的 etc/profile文件的。
這邊演示一下,有兩臺(tái)機(jī)器ip為118和119,在118節(jié)點(diǎn)中增加環(huán)境變量BIGDATA
[root@localhost ~]# vi /etc/profile // 在文件尾行追加,并保存文件 export BIGDATA=hello
打印剛才的變量發(fā)現(xiàn)變量為空
[root@localhost ~]# echo $BIGDATA [root@localhost ~]#
因?yàn)楫?dāng)前bash在運(yùn)行時(shí)已經(jīng)加載了環(huán)境變量文件,之后的修改并沒有應(yīng)用到當(dāng)前環(huán)境,我們可以用source重新加載文件,然后在輸出變量就可以打印出對(duì)應(yīng)的值了
[root@localhost ~]# source /etc/profile [root@localhost ~]# echo $BIGDATA hello [root@localhost ~]#
現(xiàn)在我們使用119節(jié)點(diǎn),通過ssh讓118節(jié)點(diǎn)遠(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 ~]#
這時(shí)候我們可以發(fā)現(xiàn)沒有打印變量值,這是因?yàn)樵趕sh遠(yuǎn)程登錄到118節(jié)點(diǎn)的時(shí)候,不會(huì)加載/etc/profile文件,如果不加載的話,就無法獲取到變量。
這樣我們只能多執(zhí)行一個(gè)命令去加載環(huán)境變量文件,再輸出變量,這時(shí)候就可以輸出變量值了。
[root@localhost ~]# ssh root@192.168.0.118 'source /etc/profile;echo $BIGDATA;' root@192.168.0.118's password: hello [root@localhost ~]#
總結(jié)下這個(gè)知識(shí)點(diǎn)的內(nèi)容: JDK安裝完都要設(shè)置環(huán)境變量,在每臺(tái)節(jié)點(diǎn)中都要設(shè)置Java home環(huán)境變量,但是如果有一臺(tái)節(jié)點(diǎn)要去調(diào)用別人使用Java命令啟動(dòng)的話,那么這時(shí)候通過ssh過去是得不到Java home環(huán)境變量的。所以在搭建的時(shí)候,裝完JDK后,設(shè)置完Java home環(huán)境變量,在Hadoop的配置命令中再重新配置一次Java home的絕對(duì)路徑。 要把Java的安裝路徑即告訴操作系統(tǒng),也要告訴Hadoop。
以上就是Hadoop腳本遠(yuǎn)程控制中SSH常見問題詳解的詳細(xì)內(nèi)容,更多關(guān)于Hadoop遠(yuǎn)程控制SSH的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
win2003服務(wù)器一招廢掉所有木馬(防提權(quán))
木馬的危害,在于它能夠遠(yuǎn)程控制你的電腦。當(dāng)你成為“肉雞”的時(shí)候,別人(控制端)就可以進(jìn)入你的電腦,偷看你的文件、盜竊密碼、甚至用你的QQ發(fā)一些亂七八糟的東西給你的好友2012-03-03
CentOS與Ubuntu哪個(gè)更適合做服務(wù)器系統(tǒng)
對(duì)于服務(wù)器而言,有兩個(gè)主流的 Linux 發(fā)行版,那就是 CentOS 和 Ubuntu。但如何從這兩個(gè)之中選擇,這是擺在管理員、初學(xué)者和專業(yè)人士面前的主要問題。在對(duì)這兩個(gè)(和更多)發(fā)行版有了一定的經(jīng)驗(yàn)之后,我們決定對(duì)這兩個(gè)發(fā)行版用于服務(wù)器時(shí)做個(gè)比較2017-04-04

