[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
时间: 2024-04-25 18:26:09 浏览: 136
这段错误信息显示无法写入/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时需要保证路径存在并有足够的权限。
相关问题
[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`命令查看。
希望这个方法可以帮助你解决问题。
[admin@hadoop102 hadoop-3.1.3]$ sbin/start-dfs.sh Starting namenodes on [hadoop102] hadoop102: /opt/software/hadoop-3.1.3/libexec/hadoop-functions.sh:行1842: /tmp/hadoop-admin-namenode.pid: 权限不够 hadoop102: ERROR: Cannot write namenode pid /tmp/hadoop-admin-namenode.pid. 如何解决
这个错误提示告诉你,你没有权限将 namenode 的进程 ID 写入到 /tmp/hadoop-admin-namenode.pid 文件中。
解决方法:
1. 使用 sudo 命令以 root 权限运行 start-dfs.sh 脚本。
2. 使用 chmod 命令给 /tmp/hadoop-admin-namenode.pid 文件赋予写入权限。
3. 将文件的所有者更改为当前用户,使用 chown 命令。
4. 检查你是否已正确安装并配置了 Hadoop,并确保没有任何问题。
阅读全文