localhost:错误:无法设置datanode进程32156的优先级

时间:2017-09-18 15:58:20

标签: hadoop hdfs datanode

我正在尝试在ubuntu 16.04上安装hadoop但是在启动hadoop时它会给我以下错误

S'

请有人告诉我为什么会收到此错误?提前谢谢。

5 个答案:

答案 0 :(得分:3)

安装Hadoop 3.0.0-RC0时遇到了同样的错误。 我的情况是所有服务都成功启动,但Datanode除外。

我发现hadoop-env.sh中的某些配置在版本3.0.0-RC0中不正确,但在版本2.x中是正确的。

我最终用官方替换了我的hadoop-env.sh并设置了JAVA_HOME和HADOOP_HOME。 现在,Datanodes工作正常。

答案 1 :(得分:0)

遇到相同问题,刷新了文件夹:datanodenamenode。 我已将文件夹放在/hadoop_store/hdfs/namenode/hadoop_store/hdfs/datanode

删除文件夹后,重新创建然后运行命令hdfs namenode -format

启动Hadoop:

修复后,日志看起来不错:

Starting namenodes on [localhost]
Starting datanodes
Starting secondary namenodes [ip]
2019-02-11 09:41:30,426 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

jps:

21857 NodeManager
21697 ResourceManager
21026 NameNode
22326 Jps
21207 DataNode
21435 SecondaryNameNode

答案 2 :(得分:0)

我建议您查看一下hadoop datanode日志。 这可能是配置问题。

就我而言,在dfs.datanode.data.dir中配置的文件夹不存在,并且引发了异常并将其写入日志。

答案 3 :(得分:0)

我不得不处理相同的问题,并不断出现以下异常:

Starting namenodes on [localhost]
Starting datanodes
localhost: ERROR: Cannot set priority of datanode process 8944
Starting secondary namenodes [MBPRO-0100.local]
2019-07-22 09:56:53,020 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

就像其他人提到的那样,您需要首先确保正确设置了所有路径参数,这是我首先检查的内容。然后按照以下步骤解决问题:

1-停止dfs服务并格式化hdfs:

sbin/stop-dfs.sh
sudo bin/hdfs namenode -format

2-更改hadoop临时目录的权限:

sudo chmod -R 777 /usr/local/Cellar/hadoop/hdfs/tmp

3-重新启动服务:

sbin/start-dfs.sh

祝你好运

答案 4 :(得分:0)

我也遇到了同样的问题。

我的问题如下:未授予datanode文件夹权限,我已将权限更改为sudo chmod 777 ./datanode/

我的建议是检查所有相关的路径/文件夹,并先将它们设为 777(之后可以更改回来)。

可能还有其他一些原因导致datanode启动失败。常见的原因是

  1. hdfs-site.xml 中的错误配置
  2. hdfs-site.xml 文件中指定的文件夹未创建或没有写入权限。
  3. 日志文件夹没有写入权限。日志文件夹通常在 $HADOOP_HOME 下,更改文件夹权限,例如sudo chmod ...
  4. ssh 链接配置未正确设置或以某种方式丢失,请尝试 ssh datanode1 检查

如果都检查过了,还是有问题,我们可以登录datanode服务器,进入$HADOOP_HOME/logs文件夹,查看日志信息进行调试。