我写了一个启动zookeeper的脚本d.sh。启动时提示成功了不了,但实际上没有成功
脚本:
脚本很简单内容如下:
[root@crxy1 local]# more d.sh
#!/bin/sh
echo "start zkServer..."
for i in 1 2 3
do
ssh crxy$i "/usr/local/zookeeper/bin/zkServer.sh start"
done
#!/bin/sh
echo "start zkServer..."
for i in 1 2 3
do
ssh crxy$i "/usr/local/zookeeper/bin/zkServer.sh start"
done
jps查看进程
[root@crxy1 local]# jps
3347 Jps
3347 Jps
没有QuorumPeerMain 进程,实际没有启动成功
如果手工执行,/usr/local/zookeeper/bin/zkServer.sh start
会真正成功启动,jps有QuorumPeerMain进程:
这是个怎么回事呢?
------------------------------------------------
原因:
首先需要知道 交互式shell和非交互式shell、登录shell和非登录shell是有区别的
在登录shell里,环境信息需要读取/etc/profile和~ /.bash_profile, ~/.bash_login, and ~/.profile按顺序最先的一个,并执行其中的命令。除非被 --noprofile选项禁止了;
在非登录shell里,环境信息只读取 /etc/bash.bashrc和~/.bashrc
在非登录shell里,环境信息只读取 /etc/bash.bashrc和~/.bashrc
手工执行是属于登陆shell,脚本执行数据非登陆shell,而我的linux环境配置中只对/etc/profile进行了jdk1.7等环境的配置,所以脚本执行/usr/local/zookeeper/bin/zkServer.sh start 启动zookeeper失败了
解决方法(下面3个方法任选1):
1、脚本代码中添加“source /etc/profile;” 改为:ssh crxy$i "source /etc/profile;/usr/local/zookeeper/bin/zkServer.sh start"
2、把profile的配置信息echo到.bashrc中 echo 'source /etc/profile' >> ~/.bashrc
3、在/zookeeper/bin/zkEnv.sh的中开始位置添加 export JAVA_HOME=/usr/local/jdk1.7.0_45(就像hadoop中对hadoop-env.sh的配置一样)
解决了这个问题,就以方便的通过脚本实现hadoop集群的启动与关闭了,避免了繁琐的手工操作^-^
感谢:
特别感谢超人学院的吴超老师,要不是老师斩钉截铁的跟我说“如果还是这个观点的话,那肯定还是找不到问题所在”,我可能会简单的错误认为那是zookeeper的bug
特别感谢就业班中的 @【3】胡涛 @【2】金苏华 @【3】唐斌 @【3】王晓东 等同学的热心帮助
相关推荐
此附件是快速搭建zookeeper集群的脚本,方便灵活,减少了自己一大堆复杂的操作,像运行服务一样执行几条start,stop等命令即可轻松完成集群搭建。
可配置化shell脚本监控zookeeper集群节点,如果节点运行状态异常发送邮件通知单个或多个管理员
zookeeper一键式安装shell脚本,无需手动搭建集群环境,脚本运行即可自动配置
本文不讲zookeeper集群原理,只谈部署步骤。 默认读者已对zookeeper有最基本的认知,纯粹作为部署笔记,方便回忆。 另外本文是基于Windows部署的,Linux的步骤是基本相同的(只是启动脚本位置不同)。
hadoop 高可用启动脚本,运行启动zookeeper集群和hadoop ha集群
kafka+zookeeper高可用集群搭建shell使用脚本,直接在linux运行就行
zk版本是3.4.12,单机zk集群配置,支持window和Linux,开箱即用 如果需要改成不同个机器上运行,只需要修改中配置一下的ip配置即可 #设置集群信息,此处的zoo-x可以用ip地址代替 server.1=127.0.0.1:2887:3887 server...
测试环境一键安装zookeeper伪分布式集群,安装之前,请先看脚本,下载相应的zk包
含有hbase启动脚本,xsync分发脚本,hadoop启动脚本,zookeeper启动脚本,jpsall脚本,整个集群启动脚本,有详细的安装教程文件,对应pdf版本和doc版本都有。非常详细,包学会。进行测试一下记得检查是否安装成功,...
大家都知道在Hadoop集群开启/关闭Zookeeper集群的时候,需要到不同的节点ZK的bin目录下执行对应的启动/关闭脚本,十分的麻烦。所以就有了以下脚本的产生~ 一键开启Zookeeper vim /export/servers/zookeeper-3.4.5...
解压zookeeper-3.5.3-beta.rar,安装完成后,进入到bin目录,并且启动zkServer.cmd,这个脚本中会启动一个java进程: (注:需要先启动zookeeper后,后续dubbo demo代码运行才能使用zookeeper注册中心的功能)
zookeeper-3.7.0|windows伪分布集群|模拟5个节点|无需安装即可即启动伪分布集群|独立制作|全网首发|别无他处 解压即用,无需任何配置,无需创建文件夹,只要本机的jdk环境正常. 并且制作了一键启动服务脚本和一键连接...
文章目录1. zookeeper下载2. 解压3. 重命名4.... 集群脚本制作 1. zookeeper下载 wget http://archive.apache.org/dist/zookeeper/zookeeper-3.5.7/apache-zookeeper-3.5.7-bin.tar.gz 2. 解压 tar z
开启、关闭zookeeper集群的脚本,把主机名改为自己的主机名即可 开启命令:start-zookeeper.sh start
kafka集群类型: single broker(单节点单boker集群,亦即kafka只启一个broker消息中间件服务,producer、consumer、broker均通过zookeeper集群交换消息,具体可参考:http://exp-blog.com/2018/08/03/pid-2187/
kafka 0.10.0 以后的版本offset信息都不会存在zookeeper中,而是在本地...该包中,本人附带了启动脚本,只需要将启动脚本中的kafka集群地址和zookeeper集群地址改为你自己就可以了 启动命令 sh kafka-monitor-start.sh
本文介绍的Zookeeper是以3.2.2这个稳定版本为基础,,Zookeeper的安装非常简单,下面将从单机模式和集群模式两个方面介绍Zookeeper的安装和配置。单机安装非常简单,只要获取到Zookeeper的压缩包并解压到某个目录如...
自己写的脚本,一键启动hadoop、hbase、zookeeper(几个zookeepler同时启动)、hive。另有一键关闭集群和一键关机功能
Zookeeper中运行日志 zookeeper.out 文件的输出路径默认为启动脚本的当前路径,导致Zookeeper集群启动失败时总是不记得输出日志在哪儿,不便于查找错误原因,因此很有必要设置固定路径来保存运行日志 在本次实验之前...
性能测试脚本由java完成,具体请看代码清单: 关于Zookeeper,之前有过几篇文章已经介绍过了,因此本文不赘述。本次小编对单机部署的Zookeeper的读、写进行了一次简单性能测试。性能测试脚本由java完成,具体请看...