shell脚本写了一键安装solr,本篇我们来看下如何一键安装zookeeper,散仙最近是最自动化安装脚本上迷了,咱们也不会复杂的,先从简单的开始联手,下面进入正题:
安装条件:
1,确保你的JAVA环境是OK的,JDK什么的
2,在root根目录下有一个zookeeper下好的压缩包
3,安装脚本默认放在root目录下
4,所有的安装目录,及压缩包命名,都在本脚本的前面几行定义,散仙为了方便写的比较固定,需要灵活的朋友们,可以做成动态的路径
5,确认上面的4步是ok的,下面就可以运行这个脚本了
6,安装完成后会在最后的状态里面打印出zk的运行情况
下面看散仙的安装日志:
- zookeeper-3.4.5/contrib/zkfuse/src/event.cc
- zookeeper-3.4.5/contrib/zkfuse/src/event.h
- zookeeper-3.4.5/contrib/zkfuse/src/log.cc
- zookeeper-3.4.5/contrib/zkfuse/src/log.h
- zookeeper-3.4.5/contrib/zkfuse/src/log4cxx.properties
- zookeeper-3.4.5/contrib/zkfuse/src/Makefile.am
- zookeeper-3.4.5/contrib/zkfuse/src/mutex.h
- zookeeper-3.4.5/contrib/zkfuse/src/thread.cc
- zookeeper-3.4.5/contrib/zkfuse/src/thread.h
- zookeeper-3.4.5/contrib/zkfuse/src/zkadapter.cc
- zookeeper-3.4.5/contrib/zkfuse/src/zkadapter.h
- zookeeper-3.4.5/contrib/zkfuse/src/zkfuse.cc
- zookeeper-3.4.5/contrib/rest/zookeeper-3.4.5-rest.jar
- zookeeper-3.4.5/contrib/loggraph/build.xml
- zookeeper-3.4.5/contrib/loggraph/src/
- zookeeper-3.4.5/contrib/loggraph/zookeeper-3.4.5-loggraph.jar
- zookeeper-3.4.5/contrib/loggraph/src/java/
- zookeeper-3.4.5/contrib/loggraph/src/java/org/
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/FilterException.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/FilterOp.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/FilterParser.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/JsonGenerator.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/Log4JEntry.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/Log4JSource.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/LogEntry.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/LogIterator.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/LogServer.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/LogSkipList.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/LogSource.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/MeasureThroughput.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/MergedLogSource.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/RandomAccessFileReader.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/TransactionEntry.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/TxnLogSource.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/FileLoader.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/Fs.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/GraphData.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/JsonServlet.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/NumEvents.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/StaticContent.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/Throughput.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/AndOp.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/Arg.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/EqualsOp.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/GreaterThanOp.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/LessThanOp.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/NotOp.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/NumberArg.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/OrOp.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/StringArg.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/SymbolArg.java
- zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/XorOp.java
- zookeeper-3.4.5/contrib/fatjar/build.xml
- zookeeper-3.4.5/contrib/fatjar/conf/
- zookeeper-3.4.5/contrib/fatjar/src/
- zookeeper-3.4.5/contrib/fatjar/zookeeper-3.4.5-fatjar.jar
- zookeeper-3.4.5/contrib/fatjar/src/java/
- zookeeper-3.4.5/contrib/fatjar/src/java/org/
- zookeeper-3.4.5/contrib/fatjar/src/java/org/apache/
- zookeeper-3.4.5/contrib/fatjar/src/java/org/apache/zookeeper/
- zookeeper-3.4.5/contrib/fatjar/src/java/org/apache/zookeeper/util/
- zookeeper-3.4.5/contrib/fatjar/src/java/org/apache/zookeeper/util/FatJarMain.java
- zookeeper-3.4.5/contrib/fatjar/conf/mainClasses
- zookeeper-3.4.5/conf/configuration.xsl
- zookeeper-3.4.5/conf/log4j.properties
- zookeeper-3.4.5/conf/zoo_sample.cfg
- zookeeper-3.4.5/bin/README.txt
- zookeeper-3.4.5/bin/zkCleanup.sh
- zookeeper-3.4.5/bin/zkCli.cmd
- zookeeper-3.4.5/bin/zkCli.sh
- zookeeper-3.4.5/bin/zkEnv.cmd
- zookeeper-3.4.5/bin/zkEnv.sh
- zookeeper-3.4.5/bin/zkServer.cmd
- zookeeper-3.4.5/bin/zkServer.sh
- 解压完毕!
- 生成myid文件.......
- 写入zoo.cfg文件成功!
- zk进程号: 2575
- 检测到zookeeper进程存在,已关闭!
- 开始启动zk.....
- JMX enabled by default
- Using config: /root/izk/zookeeper/bin/../conf/zoo.cfg
- Starting zookeeper ... bin/zkServer.sh: line 103: [: /tmp/zookeeper: binary operator expected
- STARTED
- 启动完成....查看zookeeper状态
- JMX enabled by default
- Using config: /root/izk/zookeeper/bin/../conf/zoo.cfg
- Mode: standalone
- [root@ganglia ~]# jps
- 2693 Jps
- 2651 QuorumPeerMain
- [root@ganglia ~]#
zookeeper-3.4.5/contrib/zkfuse/src/event.cc zookeeper-3.4.5/contrib/zkfuse/src/event.h zookeeper-3.4.5/contrib/zkfuse/src/log.cc zookeeper-3.4.5/contrib/zkfuse/src/log.h zookeeper-3.4.5/contrib/zkfuse/src/log4cxx.properties zookeeper-3.4.5/contrib/zkfuse/src/Makefile.am zookeeper-3.4.5/contrib/zkfuse/src/mutex.h zookeeper-3.4.5/contrib/zkfuse/src/thread.cc zookeeper-3.4.5/contrib/zkfuse/src/thread.h zookeeper-3.4.5/contrib/zkfuse/src/zkadapter.cc zookeeper-3.4.5/contrib/zkfuse/src/zkadapter.h zookeeper-3.4.5/contrib/zkfuse/src/zkfuse.cc zookeeper-3.4.5/contrib/rest/zookeeper-3.4.5-rest.jar zookeeper-3.4.5/contrib/loggraph/build.xml zookeeper-3.4.5/contrib/loggraph/src/ zookeeper-3.4.5/contrib/loggraph/zookeeper-3.4.5-loggraph.jar zookeeper-3.4.5/contrib/loggraph/src/java/ zookeeper-3.4.5/contrib/loggraph/src/java/org/ zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/ zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/ zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/ zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/FilterException.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/FilterOp.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/ zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/FilterParser.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/JsonGenerator.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/Log4JEntry.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/Log4JSource.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/LogEntry.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/LogIterator.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/LogServer.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/LogSkipList.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/LogSource.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/MeasureThroughput.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/MergedLogSource.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/RandomAccessFileReader.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/ zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/TransactionEntry.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/TxnLogSource.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/FileLoader.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/Fs.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/GraphData.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/JsonServlet.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/NumEvents.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/StaticContent.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/servlets/Throughput.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/AndOp.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/Arg.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/EqualsOp.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/GreaterThanOp.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/LessThanOp.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/NotOp.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/NumberArg.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/OrOp.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/StringArg.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/SymbolArg.java zookeeper-3.4.5/contrib/loggraph/src/java/org/apache/zookeeper/graph/filterops/XorOp.java zookeeper-3.4.5/contrib/fatjar/build.xml zookeeper-3.4.5/contrib/fatjar/conf/ zookeeper-3.4.5/contrib/fatjar/src/ zookeeper-3.4.5/contrib/fatjar/zookeeper-3.4.5-fatjar.jar zookeeper-3.4.5/contrib/fatjar/src/java/ zookeeper-3.4.5/contrib/fatjar/src/java/org/ zookeeper-3.4.5/contrib/fatjar/src/java/org/apache/ zookeeper-3.4.5/contrib/fatjar/src/java/org/apache/zookeeper/ zookeeper-3.4.5/contrib/fatjar/src/java/org/apache/zookeeper/util/ zookeeper-3.4.5/contrib/fatjar/src/java/org/apache/zookeeper/util/FatJarMain.java zookeeper-3.4.5/contrib/fatjar/conf/mainClasses zookeeper-3.4.5/conf/configuration.xsl zookeeper-3.4.5/conf/log4j.properties zookeeper-3.4.5/conf/zoo_sample.cfg zookeeper-3.4.5/bin/README.txt zookeeper-3.4.5/bin/zkCleanup.sh zookeeper-3.4.5/bin/zkCli.cmd zookeeper-3.4.5/bin/zkCli.sh zookeeper-3.4.5/bin/zkEnv.cmd zookeeper-3.4.5/bin/zkEnv.sh zookeeper-3.4.5/bin/zkServer.cmd zookeeper-3.4.5/bin/zkServer.sh 解压完毕! 生成myid文件....... 写入zoo.cfg文件成功! zk进程号: 2575 检测到zookeeper进程存在,已关闭! 开始启动zk..... JMX enabled by default Using config: /root/izk/zookeeper/bin/../conf/zoo.cfg Starting zookeeper ... bin/zkServer.sh: line 103: [: /tmp/zookeeper: binary operator expected STARTED 启动完成....查看zookeeper状态 JMX enabled by default Using config: /root/izk/zookeeper/bin/../conf/zoo.cfg Mode: standalone [root@ganglia ~]# jps 2693 Jps 2651 QuorumPeerMain [root@ganglia ~]#
注意散仙的是单机安装,如果想要分布式安装也是非常简单的,用for循环加上ssh,远程执行,再对myid和zoo.cfg稍作配置即可。
散仙上面运行的是多次,运行的,大于第一次运行的,会在后面检测如果已经有zk的进程,会杀死,重启,单机版本,zk成功的标志就是显示状态为standalone
脚本如下:
- zkpath=/root/zookeeper-3.4.5.tar.gz
- ipath=/root/izk
- ipaddress="192.168.46.21"
- if [ ! -e $ipath ] ; then
- echo "路径不存在,创建安装路径!"
- mkdir $ipath
- else
- rm -rf $ipath"/"*
- echo "路径存在,已清空完毕!"
- fi
- echo "解压zk到指定目录下!"
- sleep 2
- tar -zxvf $zkpath -C $ipath
- echo "解压完毕!"
- cd $ipath
- mv zookeeper-3.4.5 zookeeper
- confpath=$ipath"/zookeeper"
- cd $confpath
- mkdir data
- cd data
- echo "1" >> myid
- echo "生成myid文件......."
- cd $confpath"/conf"
- mv zoo_sample.cfg zoo.cfg
- echo "tikcTime=2000" >> zoo.cfg
- echo "dataDir=$confpath/data" >> zoo.cfg
- echo "server.1=$ipaddress:2887:3887" >> zoo.cfg
- echo "写入zoo.cfg文件成功!"
- sleep 3
- pid=`ps -ef | grep zookeeper | gawk '{ print $2}' | head -n 1`
- echo "zk进程号: $pid"
- sleep 2
- #检查进程号是否为空
- if [ ! -z $pid ] ; then
- kill -9 $pid
- echo "检测到zookeeper进程存在,已关闭!"
- fi
- echo "开始启动zk....."
- cd ..
- bin/zkServer.sh start
- echo "启动完成....查看zookeeper状态"
- bin/zkServer.sh status