05-zookeeper-kafka集群搭建

官网

下载zookeeper

https://zookeeper.apache.org/releases.html

下载对应的包

cd /opt
wget [url]
tar xvzf [file name]
ln -s [folder name]/ zookeeper

配置zookeeper

修改 conf/zoo.conf 文件:

tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
initLimit=5
syncLimit=2
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
  • tickTime: 心跳时间,单位为毫秒
  • initLimit:参数设定了允许所有跟随者与领导者进行连接并同步的时间,如果在设定的时间段内,半数以上的跟随者未能完成同步,领导者便会宣布放弃领导地位,进行另一次的领导选举。如果zk集群环境数量确实很大,同步数据的时间会变长,因此这种情况下可以适当调大该参数。默认为10
  • syncLimit:参数设定了允许一个跟随者与一个领导者进行同步的时间,如果在设定的时间段内,跟随者未完成同步,它将会被集群丢弃。所有关联到这个跟随者的客户端将连接到另外一个跟随着。
  • dataDir:数据目录
  • server.n:配置服务列表,这个n对应到dataDir目录下myid文件的数字

启动服务zookeeper

  1. 直接启动:

    bin/zkServer.sh start

  2. systemd守护进程启动:

配置文件:/etc/systemd/system/kafka-zookeeper.service

[Unit]
Description=Apache Zookeeper server (Kafka)
Documentation=http://zookeeper.apache.org
Requires=network.target remote-fs.target
After=network.target remote-fs.target

[Service]
Type=simple
User=srv_search
Group=srv_search
Restart=on-failure
RestartSec=3
ExecStart=/opt/zookeeper/bin/zkServer.sh start-foreground
ExecStop=/opt/zookeeper/bin/zkServer.sh stop

[Install]
WantedBy=multi-user.target

sudo systemctl daemon-reload
sudo systemctl start

下载kafka

cd /opt
wget https://mirror.bit.edu.cn/apache/kafka/2.5.0/kafka_2.12-2.5.0.tgz
tar xvzf kafka_2.12-2.5.0.tgz
ln -s kafka_2.12-2.5.0/ kafka

配置kafka

在config目录下会有默认的配置文件server.properties,将其修改为3份,server-0/1/2.properties

broker.id=0/1/2
listeners=PLAINTEXT://:9094
log.dirs=/data/kafka
zookeeper.connect=zoo1:2181,zoo2:2181,zoo3:2181

启动kafka

  1. 直接启动

    bin/kafka-server-start.sh config/server-1.properties 1>/dev/null 2>&1 &

  2. systemd守护进程启动

配置文件:/etc/systemd/system/kafka@.service

[Unit]
Description=Apache Kafka server (%i)
Documentation=http://kafka.apache.org/documentation.html
Requires=network.target remote-fs.target
After=network.target remote-fs.target kafka-zookeeper.service

[Service]
Type=simple
User=nano
Group=nano
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server-%i.properties
ExecStop=/opt/kafka/bin/kafka-server-stop.sh

[Install]
WantedBy=multi-user.target

sudo systemctl daemon-reload
sudo systemctl start kafka@0/1/2.service

原文地址:https://www.cnblogs.com/windchen/p/13220373.html