hadoop访问ssh非默认端口问题

1.linux系统为了安全加固,修改ssh访问的默认端口号为2222

	[root@ruozedata001 ~]# vim /etc/ssh/sshd_config
	将里面的Port 22  修改为 Port 2222
	[root@ruozedata001 ~]#reboot  

2.安装hadoop时,启动hadoop报错

	[hadoop@ruozedata001 hadoop]$ sbin/start-dfs.sh 
19/07/02 09:50:39 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java 	classes 		where applicable
Starting namenodes on [localhost]
localhost: ssh: connect to host localhost port 22: Connection refused
localhost: ssh: connect to host localhost port 22: Connection refused
Starting secondary namenodes [0.0.0.0]
0.0.0.0: ssh: connect to host 0.0.0.0 port 22: Connection refused
19/07/02 09:50:42 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java 			classes where applicable
[hadoop@ruozedata001 hadoop]$ 
解决方法
[hadoop@ruozedata001 hadoop]$ echo “export HADOOP_SSH_OPTS="-p 2222"  >> ~/app/hadoop/etc/hadoop/hadoop-env.sh 

然后再启动服务,服务就能正常启动了,如下

	[hadoop@ruozedata001 hadoop]$ sbin/start-dfs.sh 
19/07/02 10:04:20 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [localhost]
localhost: starting namenode, logging to /home/hadoop/software/hadoop-2.6.0-cdh5.7.0/logs/hadoop-hadoop-namenode-	ruozedata001.out
localhost: starting datanode, logging to /home/hadoop/software/hadoop-2.6.0-cdh5.7.0/logs/hadoop-hadoop-datanode-ruozedata001.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /home/hadoop/software/hadoop-2.6.0-cdh5.7.0/logs/hadoop-hadoop-		secondarynamenode-ruozedata001.out
19/07/02 10:04:36 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
[hadoop@ruozedata001 hadoop]$ jps
3607 NameNode
3911 SecondaryNameNode
3709 DataNode
4062 Jps
[hadoop@ruozedata001 hadoop]$ 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您好!对于Hadoop的伪分布式模式下的SSH配置,您可以按照以下步骤进行操作: 1. 首先,确保您已经正确安装并配置了OpenSSH服务器和客户端。您可以使用命令`sudo apt-get install openssh-server`来安装。 2. 检查SSH服务器是否正在运行。使用命令`sudo service ssh status`来检查SSH服务器的状态。如果未运行,可以使用命令`sudo service ssh start`来启动它。 3. 在Hadoop的配置文件中,找到`etc/hadoop/core-site.xml`文件,添加以下配置项: ```xml <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> ``` 此配置指定了HDFS默认文件系统以及它的地址和端口。 4. 打开`etc/hadoop/hadoop-env.sh`文件,并找到以下行: ```shell export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-"/etc/hadoop"} ``` 确保这行中的路径与您的实际Hadoop配置文件的路径相匹配。 5. 打开`etc/hadoop/mapred-site.xml.template`文件,并添加以下配置项: ```xml <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> ``` 这将指定使用YARN作为MapReduce的框架。 6. 在`etc/hadoop/yarn-site.xml`文件中,找到以下行: ```xml <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> ``` 确保该配置项的值设置为`mapreduce_shuffle`,以便正确配置YARN。 7. 最后,在终端中执行以下命令来生成SSH密钥对: ```shell ssh-keygen -t rsa -P "" ``` 这将生成一个私钥文件和一个公钥文件。 8. 将公钥文件复制到`$HOME/.ssh/authorized_keys`文件中,以允许无密码连接。使用以下命令将公钥添加到授权密钥文件中: ```shell cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys ``` 9. 确保`$HOME/.ssh/`目录和`$HOME/.ssh/authorized_keys`文件的权限设置正确。使用以下命令设置权限: ```shell chmod 700 $HOME/.ssh/ chmod 600 $HOME/.ssh/authorized_keys ``` 完成以上步骤后,您就可以在Hadoop的伪分布式模式下使用SSH了。请注意,这些步骤是基于Linux系统的操作,如果您使用的是其他操作系统,请参考相应的文档进行配置。 希望这可以帮助到您!如果您有任何其他问题,请随提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值