安装JDK
sudo apt-get install default-jdk
安装Zookeeper
cd /home/hadoop/zookeeper
sudo wget http://mirror.bjtu.edu.cn/apache/zookeeper/stable/zookeeper-3.3.5.tar.gz #下载zookeeper
tar xvzf zookeeper-3.3.5.tar.gz #解压
ln -s zookeeper-3.3.5 zookeeper #建立软链接
编辑/etc/profile 设置环境变量
# zookeeper配置
export ZOOKEEPER_INSTALL=/home/hadoop/zookeeper-3.3.5
export PATH=$PATH:$ZOOKEEPER_INSTALL/bin
配置zookeeper
cd /home/hadoop/zookeeper/zookeeper/conf/
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
修改zoo.cfg文件内容为
syncLimit=5 # Leader与Follower之间的最大响应时间单位,响应超过syncLimit*tickTime,Leader认为Follwer死掉,从服务器列表中删除Follwer。
initLimit=10 # 投票选举新leader的初始化时间。
tickTime=2000 # Zookeeper服务器心跳时间,单位毫秒
clientPort=2181 # 连接端口
dataDir=/home/hadoop/zookeeper/data # 数据持久化路径
dataLogDir=/home/hadoop/zookeeper/log # 日志保存路径
启动zookeeper server
cd /home/hadoop/zookeeper/zookeeper/
bin/zkServer.sh start
bin/zkCli.sh -server localhost:2181
初次启动zookeeper server会看到报错信息:
FAILED TO WRITE PID
查看进程发现zookeeper进程存在, 并可以正常使用.
这是zkServer.sh脚本的一个BUG,dataDir是zookeeper进程内部建立的,并且有一定延迟, 因此将zookeeper进程id写入到dataDir下的pidfile时,dataDir还没有建立好, 因此就出现了上述情况。
解决办法修改脚本,等待dataDir目录创建完毕再将pid写入即可
...
if [ $? -eq 0 ]
then
while [ ! -d `dirname $ZOOPIDFILE` ]
do
sleep 1;
done
if /bin/echo -n $zkpid > "$ZOOPIDFILE"
then
sleep 1
echo STARTED
else
echo FAILED TO WRITE PID
exit 1
fi
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com