hadoop102: /opt/module/hadoop-3.1.3/libexec/hadoop-functions.sh:行1842: /tmp/hadoop-ys-namenode.pid: 权限不够
时间: 2023-08-13 14:07:16 浏览: 76
这个错误意味着你尝试启动Hadoop的NameNode时,它无法创建/tmp/hadoop-ys-namenode.pid文件,可能是因为你没有足够的权限来创建该文件。你可以尝试使用sudo命令来提升你的权限,或者手动创建该文件并确保你有足够的权限来写入该文件。同时,你也需要确保/tmp目录的权限设置正确。
相关问题
[ys@hadoop102 hadoop-3.1.3]$ sbin/start-dfs.sh Starting namenodes on [hadoop102] hadoop102: /opt/module/hadoop-3.1.3/libexec/hadoop-functions.sh:行1842: /tmp/hadoop-ys-namenode.pid: 权限不够
这个错误提示是因为启动Hadoop的时候,需要写入进程ID(PID)到`/tmp/hadoop-ys-namenode.pid`文件,但是当前用户对这个文件没有写入权限。
你可以尝试在启动Hadoop之前,手动创建这个文件或者修改该文件的权限,使得当前用户有权限写入PID。可以使用如下命令创建该文件并修改权限:
```
sudo touch /tmp/hadoop-ys-namenode.pid
sudo chown <当前用户>:<当前用户组> /tmp/hadoop-ys-namenode.pid
```
其中`<当前用户>`和`<当前用户组>`需要替换为你当前使用的用户和用户组。如果你不清楚当前用户和用户组可以使用`whoami`和`groups`命令查看。
希望这个方法可以帮助你解决问题。
[ys@hadoop102 hadoop-3.1.3]$ sbin/start-dfs.sh Starting namenodes on [hadoop102] hadoop102: /opt/module/hadoop-3.1.3/libexec/hadoop-functions.sh:行1842: /tmp/hadoop-ys-namenode.pid: 权限不够 hadoop102: ERROR: Cannot write namenode pid /tmp/hadoop-ys-namenode.pid. Starting datanodes hadoop102: ERROR: Cannot set priority of datanode process 33647 hadoop104: ERROR: Cannot set priority of datanode process 35308 hadoop103: ERROR: Cannot set priority of datanode process 16713
这段错误信息显示无法写入/tmp/hadoop-ys-namenode.pid文件,原因是无法获取足够的权限。同样,也无法设置数据节点进程的优先级。这可能是因为/tmp目录的权限不足,或者/tmp目录已满。你可以尝试清理/tmp目录,或者在hadoop-env.sh中重新设置HADOOP_PID_DIR和HADOOP_SECURE_PID_DIR的路径,例如:
export HADOOP_PID_DIR=/home/ys/hadoop/pid
export HADOOP_SECURE_PID_DIR=/home/ys/hadoop/pid
其中/home/ys/hadoop/pid是你指定的一个有足够权限的路径。注意,在设置HADOOP_PID_DIR和HADOOP_SECURE_PID_DIR时需要保证路径存在并有足够的权限。