Hadoop脚本远程控制中SSH常见问题详解
目录
- 背景
- SSH有三个知识点
背景
在Hadoop脚本远程控制中,需要知道SSH一些常见的知识点。
SSH有三个知识点
1、使用ssh通过Hadoop脚本远程控制其他节点。
2、ssh配置免密模式。
3、ssh远程执行的时候有一个弊端,上面说到需要使用Java JDK,使用Java命令来启动jvm进程,那么这时候如果有一个节点a要去控制另一个节点b启动一个jvm进程,在使用ssh远程执行的时候,是不会加载对方的环境变量的 etc/profile文件的。
这边演示一下,有两台机器ip为118和119,在118节点中增加环境变量BIGDATA
[root@localhost ~]# vi /etc/profile // 在文件尾行追加,并保存文件 export BIGDATA=hello
打印刚才的变量发现变量为空
[root@localhost ~]# echo $BIGDATA [root@localhost ~]#
因为当前bash在运行时已经加载了环境变量文件,之后的修改并没有应用到当前环境,我们可以用source重新加载文件,然后在输出变量就可以打印出对应的值了
[root@localhost ~]# source /etc/profile [root@localhost ~]# echo $BIGDATA hello [root@localhost ~]#
现在我们使用119节点,通过ssh让118节点远程执行输出变量值看一下效果
[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 ~]#
这时候我们可以发现没有打印变量值,这是因为在ssh远程登录到118节点的时候,不会加载/etc/profile文件,如果不加载的话,就无法获取到变量。
这样我们只能多执行一个命令去加载环境变量文件,再输出变量,这时候就可以输出变量值了。
[root@localhost ~]# ssh root@192.168.0.118 'source /etc/profile;echo $BIGDATA;' root@192.168.0.118's password: hello [root@localhost ~]#
总结下这个知识点的内容: JDK安装完都要设置环境变量,在每台节点中都要设置Java home环境变量,但是如果有一台节点要去调用别人使用Java命令启动的话,那么这时候通过ssh过去是得不到Java home环境变量的。所以在搭建的时候,装完JDK后,设置完Java home环境变量,在Hadoop的配置命令中再重新配置一次Java home的绝对路径。 要把Java的安装路径即告诉操作系统,也要告诉Hadoop。
以上就是Hadoop脚本远程控制中SSH常见问题详解的详细内容,更多关于Hadoop远程控制SSH的资料请关注其它相关文章!
栏 目:其它服务器
本文地址:https://zz.feitang.co/server/30644.html
您可能感兴趣的文章
- 12-20Kubernetes中使用临时容器进行故障排查的方法
- 12-20Nginx设置HTTPS的方法步骤
- 12-20二进制方式安装 Kubernetes1.18.3版本实现脚本
- 12-20Nginx工作模式及代理配置的使用细节
- 12-20ZooKeeper分布式协调服务设计核心概念及安装配置
- 12-20Kubernetes部署可视化地图的十个步骤
- 12-20关于docker清理Overlay2占用磁盘空间的问题(亲测有效)
- 12-20Docker compose配置文件写法及命令使用示例
- 12-20openwrt安装docker并启动的操作方法
- 12-20云原生Kubernetes初始化容器Init使用教程


阅读排行
推荐教程
- 12-07一文教你怎么选择Tomcat对应的JDK版本
- 12-07新版Eclipse集成Tomcat时找不到server选项的解决方法
- 12-06IIS7 应用程序池自动回收关闭的解决方案
- 12-05Windows Server 2019安装VMware
- 12-05Windows服务器默认IE浏览器无法下载文件的解决方法
- 12-05Docker安装Jenkins全过程
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-15Docker-Compose搭建Spark集群的实现方法
- 12-14Docker Desktop无法正常启动解决(failed to start...)
- 12-14k8s 与docker空间使用分析与清理方法





