Zookeeper异常:FAILED TO WRITE PID与Permission denied

本文记录了一次解决Hadoop集群环境下Zookeeper启动时出现权限拒绝错误的过程。通过赋予Zookeeper所在目录完整的权限解决了该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

搭建好的Hadoop集群环境突然在启动的时候抛出异常信息,之前测试很正常,后来仔细看了下抛出的异常信息,发觉很可能是权限的问题。这里对这个异常信息做一个简要的记录希望可以帮到以后遇到这样的问题的人,同时也为自己留作备忘录。



异常信息


[hadoop@hadoopwy2 bin]$ ./zkServer.sh start
JMX enabled by default
Using config: /usr/local/zookeeper3.4/zookeeper-3.4.5/bin/../conf/zoo.cfg
Starting zookeeper ... ./zkServer.sh: line 113: /usr/local/zookeeper3.4/zookeeper-3.4.5/tmp/zookeeper_server.pid: Permission denied
FAILED TO WRITE PID
[hadoop@hadoopwy2 bin]$ ./zkServer.sh: line 109: ./zookeeper.out: Permission denied




截图:

异常截图


既然上面显示permission denied那么应该说是权限的问题了


接下来找到Zookeeper所在的路径为整个文件夹赋权限。

[hadoop@hadoopwy1 zookeeper3.4]$ su
Password:
[root@hadoopwy1 zookeeper3.4]# chmod a+wxr zookeeper-3.4.5/
[root@hadoopwy1 zookeeper3.4]# cd zookeeper-3.4.5/



这样在启动Zookeeper应该就可以了,./skServer.sh start启动即可。

// cluster1 上 将zookeeper 解压到/usr/local 目录下,配置环境变量 # vi /etc/profile // 添加以下内容 export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.6 export PATH=$ZOOKEEPER_HOME/bin:$PATH # cd /usr/local/zookeeper-3.4.6 // 在 conf 中新建zoo.cfg 文件 # vi conf/zoo.cfg // 输入以下内容 # 客户端心跳时间(毫秒) tickTime=2000 # 允许心跳间隔的最大时间 initLimit=10 # 同步时限 syncLimit=5 # 数据存储目录 dataDir=/home/hadoop_files/hadoop_data/zookeeper # 数据日志存储目录 dataLogDir=/home/hadoop_files/hadoop_logs/zookeeper/dataLog # 端口号 clientPort=2181 # 集群节点和服务端口配置 server.1=cluster1:2888:3888 server.2=cluster2:2888:3888 server.3=cluster3:2888:3888 // 创建 zookeeper 的数据存储目录和日志存储目录 14 大数据技术课程笔记本虚拟机搭建Hadoop集群操作文档 # mkdir -p /home/hadoop_files/hadoop_data/zookeeper # mkdir -p /home/hadoop_files/hadoop_logs/zookeeper/dataLog # mkdir -p /home/hadoop_files/hadoop_logs/zookeeper/logs // 修改文件夹的权限 # chown -R hadoop:hadoop /home/hadoop_files # chown -R hadoop:hadoop /usr/local/zookeeper-3.4.6 // 在 cluster1 号服务器的 data 目录中创建一个文件myid,输入内容为1 // myid 应zoo.cfg 中的集群节点相匹配 # echo "1" >> /home/hadoop_files/hadoop_data/zookeeper/myid // 修改 zookeeper 的日志输出路径(注意CDH版原生版配置文件不同) # vi bin/zkEnv.sh // 将配置文件里面的以下项替换为红字的内容 if [ "x${ZOO_LOG_DIR}" = "x" ] then ZOO_LOG_DIR="/home/hadoop_files/hadoop_logs/zookeeper/logs" fi if [ "x${ZOO_LOG4J_PROP}" = "x" ] then ZOO_LOG4J_PROP="INFO,ROLLINGFILE" fi // 修改 zookeeper 的日志配置文件 # vi conf/log4j.properties // 修改为以下内容: zookeeper.root.logger=INFO,ROLLINGFILE log4j.appender.ROLLINGFILE=org.apache.log4j.DailyRollingFileAppender 将这个zookeeper-3.4.6 的目录复制到其他的两个节点上 # scp -r /usr/local/zookeeper-3.4.6 cluster2:/usr/local/ # scp -r /usr/local/zookeeper-3.4.6 cluster3:/usr/local/ // 退回 hadoop 用户 # exit // 刷新环境变量 $ source /etc/profile 完成了这些操作,启动时出现了JMX enabled by default Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg Starting zookeeper ... /usr/local/zookeeper-3.4.6/bin/zkServer.sh: line 113: /home/hadoop_er.pid: Permission denied FAILED TO WRITE PID
03-24
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值