https://dlcdn.apache.org/zookeeper/zookeeper-3.8.0/1. 下载zookeeper离线包。
#官文链接1: https://dlcdn.apache.org/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz #官文链接2: https://repo1.maven.org/maven2/org/apache/zookeeper/zookeeper/
2. 环境:Ubuntu 20.04 focal:
root@python:~# tar xf apache-zookeeper-3.8.0-bin.tar.gz -C /data/soft root@python:~# cd /data/soft root@python:/data/soft# ls apache-zookeeper-3.8.0-bin root@python:/data/soft# ln -s ./apache-zookeeper-3.8.0-bin/ zookeeper root@python:/data/soft# ll /data/soft/zookeeper lrwxrwxrwx 1 root root 29 Mar 24 19:54 /data/soft/zookeeper -> ./apache-zookeeper-3.8.0-bin// root@python:/data/soft# cd zookeeper root@python:/data/soft/zookeeper# ls bin conf docs lib LICENSE.txt NOTICE.txt README.md README_packaging.md root@python:/data/soft/zookeeper# # 查阅README.md或install之类的文档 root@python:/data/soft/zookeeper# vim README.md ... ## Java 8 If you are going to compile with Java 1.8, you should use a recent release at u211 or above. #简而言之,安装java 1.8 ...
https://dlcdn.apache.org/zookeeper/zookeeper-3.8.0/3. Oracle官方下载JDK8(要账户登录/不过可以使用openjdk-8(测试、试验足矣),这里我就是试试自己多久不用的账户,O(∩_∩)O哈哈~)
#JDK8网址: https://www.oracle.com/java/technologies/downloads/#java8 https://download.oracle.com/otn/java/jdk/8u321-b07/df5ad55fdd604472a86a45a217032c7d/jdk-8u321-linux-x64.tar.gz?AuthParam=1648123662_d8910c22921fd09103bc9fbd86f280f3
root@python:/data/soft/zookeeper# tar xf jdk-8u321-linux-x64.tar.gz -C /data/soft
root@python:/data/soft/zookeeper# cd /data/soft
root@python:/data/soft# ls
apache-zookeeper-3.8.0-bin jdk1.8.0_321 zookeeper
root@python:/data/soft# ln -s jdk1.8.0_321/ java
root@python:/data/soft# cd java/
root@python:/data/soft/java# ls
bin javafx-src.zip legal man src.zip
COPYRIGHT jmc.txt lib README.html THIRDPARTYLICENSEREADME-JAVAFX.txt
include jre LICENSE release THIRDPARTYLICENSEREADME.txt
root@python:/data/soft/java# vim /etc/profile.d/java.sh
#!/bin/bash
export JAVA_HOME="/data/soft/java"
export JRE_HOME="${JAVA_HOME}/jre"
export CLASSPATH="${JAVA_HOME}/lib"
export PATH="$PATH:${JAVA_HOME}/bin:${JRE_HOME}/bin"
root@python:/data/soft/java# source /etc/profile.d/java.sh
root@python:/data/soft/java# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/data/soft/java/bin:/data/soft/java/jre/bin
root@python:/data/soft/java# java -version
java version "1.8.0_321"
Java(TM) SE Runtime Environment (build 1.8.0_321-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.321-b07, mixed mode)
4. 接上2开始
root@python:/data/soft/zookeeper# ls bin docs lib NOTICE.txt README_packaging.md conf jdk-8u321-linux-x64.tar.gz LICENSE.txt README.md root@python:/data/soft/zookeeper# echo "export PATH=$PATH:/data/soft/zookeeper/bin" > /etc/profile.d/zk.sh root@python:/data/soft/zookeeper# source /etc/profile.d/zk.sh root@python:/data/soft/zookeeper# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/data/soft/java/bin:/data/soft/java/jre/bin:/data/soft/zookeeper/bin # bin内有支持 window、linux的sh脚本程序,通过查案编译包可以确定,真正启动的程序的都在这里存放! root@python:/data/soft/zookeeper# ls bin README.txt zkEnv.cmd zkServer.sh zkSnapShotToolkit.sh zkCleanup.sh zkEnv.sh zkSnapshotComparer.cmd zkTxnLogToolkit.cmd zkCli.cmd zkServer.cmd zkSnapshotComparer.sh zkTxnLogToolkit.sh zkCli.sh zkServer-initialize.sh zkSnapShotToolkit.cmd root@python:/data/soft/zookeeper# ls bin docs lib NOTICE.txt README_packaging.md conf jdk-8u321-linux-x64.tar.gz LICENSE.txt README.md root@python:/data/soft/zookeeper# ls docs/ apidocs zookeeperAuditLogs.html zookeeperOver.html images zookeeperCLI.html zookeeperProgrammers.html index.html zookeeperHierarchicalQuorums.html zookeeperQuotas.html javaExample.html zookeeperInternals.html zookeeperReconfig.html recipes.html zookeeperJMX.html zookeeperStarted.html releasenotes.html zookeeperMonitor.html zookeeperTools.html skin zookeeperObservers.html zookeeperTutorial.html zookeeperAdmin.html zookeeperOracleQuorums.html zookeeperUseCases.html root@python:/data/soft/zookeeper# ls conf/ configuration.xsl logback.xml zoo_sample.cfg root@python:/data/soft/zookeeper# vim conf/zoo_sample.cfg # The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored. dataDir=/tmp/zookeeper # the port at which the clients will connect clientPort=2181 # the maximum number of client connections. # The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. dataDir=/tmp/zookeeper # the port at which the clients will connect clientPort=2181 #zookeeper端口 # the maximum number of client connections. # increase this if you need to handle more clients #maxClientCnxns=60 # # Be sure to read the maintenance section of the # administrator guide before turning on autopurge. # # https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance root@python:/data/soft/zookeeper# cp conf/zoo_sample.cfg conf/zoo.cfg root@python:/data/soft/zookeeper# bin/zkServer.sh --help ZooKeeper JMX enabled by default Using config: /data/soft/zookeeper/bin/../conf/zoo.cfg Usage: bin/zkServer.sh [--config] {start|start-foreground|stop|version|restart|status|print-cmd} root@python:/data/soft/zookeeper# bin/zkServer.sh start conf/zoo.cfg ZooKeeper JMX enabled by default Using config: conf/zoo.cfg Starting zookeeper ... STARTED root@python:/data/soft/zookeeper# ss -ntl State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 128 127.0.0.1:6010 0.0.0.0:* LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:* LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 128 [::1]:6010 [::]:* LISTEN 0 50 *:2181 *:* LISTEN 0 50 *:8080 *:* LISTEN 0 128 [::]:22 [::]:* LISTEN 0 50 *:39447 *:*
5. 设成开机启动服务
root@python:~# cat /lib/systemd/system/zookeeper.service
[Unit]
Description=Zookeeper Daemon
documentation=http://zookeeper.apache.org
Requires=network.target
After=network.target
[Service]
Type=forking
WorkingDirectory=/data/soft/zookeeper
Environment=JAVA_HOME=/data/soft/java
ExecStart=/data/soft/zookeeper/bin/zkServer.sh start /data/soft/z
ExecStop=/data/soft/zookeeper/bin/zkServer.sh stop /data/soft/zoo
ExecReload=/data/soft/zookeeper/bin/zkServer.sh restart /data/sof
TimeoutSec=30
Restart=on-failure
[Install]
WantedBy=default.target
root@python:~# systemctl enable --now zookeeper.service
root@python:~# systemctl status zookeeper.service
● zookeeper.service - Zookeeper Daemon
Loaded: loaded (/lib/systemd/system/zookeeper.service; enabled; vendor pre>
Active: active (running) since Fri 2022-03-25 20:33:39 CST; 4min 10s ago
Docs: http://zookeeper.apache.org
Main PID: 872 (java)
Tasks: 30 (limit: 2237)
Memory: 99.5M
CGroup: /system.slice/zookeeper.service
└─872 /data/soft/java/bin/java -Dzookeeper.log.dir=/data/soft/zook>
Mar 25 20:33:38 python systemd[1]: Starting Zookeeper Daemon...
Mar 25 20:33:38 python zkServer.sh[823]: ZooKeeper JMX enabled by default
Mar 25 20:33:38 python zkServer.sh[823]: Using config: /data/soft/zookeeper/con>
Mar 25 20:33:39 python zkServer.sh[823]: Starting zookeeper ... STARTED
Mar 25 20:33:39 python systemd[1]: Started Zookeeper Daemon.
lines 1-15/15 (END)



