Spark学习 day3
今天在启动zookeeper时出现了很多问题。
问题1: 命令找不到 (zkServer.sh: 未找到命令)
原因: PATH环境变量中没有ZooKeeper的bin目录
解决方案:
export ZOOKEEPER_HOME=/export/server/zookeeper-3.4.6
export PATH=$PATH:$ZOOKEEPER_HOME/bin
# 永久生效:添加到 ~/.bashrc
问题2: Java命令找不到 (java: 未找到)
原因: node2和node3没有配置Java环境变量
解决方案:
# 在每个节点配置
export JAVA_HOME=/export/server/jdk1.8.0_241
export PATH=$JAVA_HOME/bin:$PATH
重要解决方案步骤
# 编辑 ~/.bashrc 添加:
export JAVA_HOME=/export/server/jdk1.8.0_241
export HADOOP_HOME=/export/server/hadoop
export ZOOKEEPER_HOME=/export/server/zookeeper-3.4.6
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin:$PATH
# 生效配置
source ~/.bashrc
# 1. 检查配置文件
cat $ZOOKEEPER_HOME/conf/zoo.cfg
# 2. 检查数据目录和myid
ls -la /export/server/zookeeper/zkdatas/
cat /export/server/zookeeper/zkdatas/myid
# 方法1:分别启动
zkServer.sh start # 在node1上
ssh node2 "zkServer.sh start" # 在node1上执行
ssh node3 "zkServer.sh start" # 在node1上执行
# 方法2:批量启动
for host in node1 node2 node3; do
ssh $host "zkServer.sh start"
sleep 3
done
# 等待集群选举
sleep 30
# 检查进程
jps | grep QuorumPeerMain
# 检查端口
netstat -tlnp | grep 2181
# 检查集群状态
zkServer.sh status
# 应该显示:Mode: leader 或 Mode: follower
启动Zookpeer
/root/cluster-control.sh start-all
浙公网安备 33010602011771号