Zookeeper 单机模式搭建
前言
之前自己搭过zookeeper服务,想起来准备回去看看,结果怎么都起不来,而且奇葩的是log文件也找不到。所以自己这次重新搭建一次,记录下过程。
文件下载
进入官网下载软件 https://zookeeper.apache.org/releases.html#download
官网最新版本是3.7.0,稳定版本是3.6.3 这里下载3.6.3版本。
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
解压文件到目录,我这里给文件名加上端口号以访自己忘了还要看配置文件
tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz -C ./zookeeper-9000
这里文件就有了接下来就是安装了
安装配置Zookeeper
解压后的文件就是已经编译后的文件,可以直接配置。
-
配置zookeeper二配置文件
在解压后的文件目录中,有一个Conf文件夹,里面有模板配置文件“zoo_sample.cfg”。拷贝重命名文件为“zoo.cfg”
-
修改"zoo.cfg"配置文件,各个参数的定义后面会写。新手主要关注的就是端口
配置文件和各个参数定义如下:
#zookeeper时间配置中的基本单位 (毫秒) tickTime=2000 #允许follower初始化连接到leader最大时长,它表示tickTime时间倍数 即:initLimit*tickTime initLimit=10 #允许follower与leader数据同步最大时长,它表示tickTime时间倍数 syncLimit=5 #zookeper 数据存储目录 dataDir=/tmp/zookeeper #对客户端提供的端口号 clientPort=900 #单个客户端与zookeeper最大并发连接数 maxClientCnxns=60 #保存的数据快照数量,之外的将会被清除 autopurge.snapRetainCount=3 #自动触发清除任务时间间隔,小时为单位。默认为0,表示不自动清除。 autopurge.purgeInterval=1 #Metrics 是 ZK 提供给用户可查询的监控指标,可以结合 Prometheus 或者 Grafana 来使用。(这部分我没有使用过,仅供参考) metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider metricsProvider.httpPort=7000 metricsProvider.exportJvmInfo=true
-
修改配置文件配置log目录,以访每次log文件生成在不同的地方。系统默认的是当前路径为目录路径
在目录下创建log文件夹。进入conf下的"log4j.properties" (这个值可以被zkEnv.sh 里面的配置所覆盖,如果两个配置了同样的路径无法体现, 如果在zkEnv.sh 里面配置另外一个路径 log文件都会写入另一个路径)[jin@VM-0-3-centos apache-zookeeper-3.7.0-bin]$ ls bin conf docs lib LICENSE.txt log NOTICE.txt README.md README_packaging.md [jin@VM-0-3-centos apache-zookeeper-3.7.0-bin]$ cd conf [jin@VM-0-3-centos apache-zookeeper-3.7.0-bin]$ ls configuration.xsl log4j.properties zoo.cfg zoo_sample.cfg [jin@VM-0-3-centos apache-zookeeper-3.7.0-bin]$ vi log4j.properties zookeeper.root.logger=INFO, CONSOLE, ROLLINGFILE zookeeper.console.threshold=INFO #之前的配置是当前目录'.' #zookeeper.log.dir=. zookeeper.log.dir=/home/jin/zookeeper-9000/apache-zookeeper-3.7.0-bin/logs zookeeper.log.file=zookeeper.log zookeeper.log.threshold=INFO zookeeper.log.maxfilesize=256MB zookeeper.log.maxbackupindex=20 zookeeper.tracelog.dir=${ zookeeper.log.dir