Hadoop学习笔记:无法启动NameNode以及免密码启动hadoop

来源:互联网 发布:网络游戏发展史 知乎 编辑:程序博客网 时间:2024/06/03 18:21

前言

  在Linux CentOS下安装好了hadoop-2.2.0 的64位版本,解决两个问题:一是解决nameNode无法启动,查看日志文件logs/hadoop-root-namenode-itcast.out(你那里名字和我的不一样,查看namenode日志文件就行),其中抛如下异常:
java.net.BindException: Problem binding to [xxx.xxx.xxx.xxx:9000] java.net.BindException: 无法指定被请求的地址;
二是ssh免密码登录,提示没有权限:
permission denied(publickey.gssapi-with-mic)

1、无法启动nameNode

启动好hadoop以后,使用jps命令发现没有NameNode,这其实是etc/core-site.xml文件修改的不对:

<configuration>            <!-- 指定HDFS老大(namenode)的通信地址 -->            <property>                    <name>fs.defaultFS</name>                    <value>hdfs://0.0.0.0:9000</value>            </property>            <!-- 指定hadoop运行时产生文件的存储路径 -->            <property>                    <name>hadoop.tmp.dir</name>                    <value>/cloud/hadoop-2.2.0/tmp</value>            </property>        </configuration>

主要是这一行:

<value>hdfs://0.0.0.0:9000</value>

这样就能启动NameNode

2、ssh免密码登录

hadoop每次启动都要输入好几次密码,如何使用免密码,步骤如下:
1、cd ~,进入到我的home目录
2、cd .ssh/
3、ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
4、cp id_rsa.pub authorized_keys

这样就行了,但是测试ssh locahost的时候提示permission denied(publickey.gssapi-with-mic)

需要做下面修改:

vim  /etc/ssh/sshd_config

对比下面的内容,如果和你的不符合,就改成下面的,如果你那里的那一行前面有#号,就把#号去掉(可能顺序会和下面的不一样)

PermitRootLogin yesPasswordAuthentication yesHostKey /etc/ssh/ssh_host_rsa_keyRSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile    .ssh/authorized_keys

然后重启sshd服务,CentOS 7的命令如下:

systemctl restart sshd.service

接下来还需要修改权限,不然还是会提示permission denied(publickey.gssapi-with-mic)

# chmod 700 ~# chmod 700 ~/.ssh# chmod 644 ~/.ssh/authorized_keys  //公钥文件的所有权限# chmod 600 ~/.ssh/id_rsa        //私钥文件的所有权限

这样就行了,可以正常免密码启动hadoop。

0 0
原创粉丝点击