记录腾讯云上部署Hadoop3.2.3伪集群遇到的问题

部署Hadoop3.2.3

我是在腾讯云轻服务器上部署的Hadoop3.2.3伪集群,参考的链接: 手把手教你在腾讯云上搭建hadoop3.x伪集群

遇到的问题

1. Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

在启动Hadoop是报错“ Permission denied (publickey,gssapi-keyex,gssapi-with-mic) ”。
解决方法:

ssh-keygen

一直Enter结束后,在 root 用户的家目录中生成了一个 .ssh 的隐藏目录,内含两个密钥文件。

cd .ssh
cat id_rsa.pub >> authorized_keys

为了确保连接成功

chmod 600 authorized_keys
chmod 700 ~/.ssh

2. 使用hdfs dfs -put 命令上传文件发现失败

错误部分提示如下:

WARN hdfs.DataStreamer: DataStreamer Exception
org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /text.txt._COPYING_ could only be written to 0 of the 1 minReplication nodes. There are 0 datanode(s) running and 0 node(s) are excluded in this operation.

解决:

  1. 先看确认是否关闭防火墙,防火墙没关可能导致这个错误。
  2. 如果已关闭,可能是使用hadoop namenode -format格式化时格式化了多次造成那么spaceID不一致,解决如下
  • 停止集群(切换到/sbin目录下)
    stop-all.sh
  • 删除在hdfs中配置的data目录(即在core-site.xml中配置的hadoop.tmp.dir对应文件件)下面的所有数据;
    rm -rf data (我的是在/opt/module/hadoop-3.2.3文件下)
  • 重新格式化namenode(切换到hadoop目录下的bin目录下)
    hadoop namenode -format
  • 重新启动hadoop集群(切换到hadoop目录下的sbin目录下)
    start-all.sh

然后继续使用 hdfs dfs -put text.txt / 不再报错,在Hadoop的web上也查找到了上传的text.txt文件。


版权声明:本文为weixin_47516125原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。