centos7展開カフカ+のZooKeeperクラスタ

実験環境:CentOSのLinuxリリース1810年7月6日(コア)

先にインストールされているJava環境変数の

まず、飼育係をインストール

yum install java-1.8.0

1、ローカルホストを設定します

cat /etc/hosts
192.168.121.30 es-node01
192.168.121.31 es-node02
192.168.121.32 es-node03

図2に示すように、以下の動作は、全ての3つのノードで飼育係ダウンロードコンパイル済みパッケージを実行し、次の操作を実行しています

cd /data
wget http://mirror.bit.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.5.7-bin.tar.gz
tar -xf apache-zookeeper-3.5.7-bin.tar.gz
mv apache-zookeeper-3.5.7-bin zookeeper
mkdir /data/zookeeper/data

図3に示すように、各ノードの構成として、構成ファイルを変更します

cd /data/zookeeper/conf
more zoo.cfg|grep -Ev "^#|^$"
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/data
clientPort=2181
server.1=192.168.121.30:2888:3888
server.2=192.168.121.31:2888:3888
server.3=192.168.121.32:2888:3888

図4は、飼育係クラスタIDを提供し、各ノードIDのために同じではありません

echo "1" > /data/zookeeper/data/myid
echo "2" > /data/zookeeper/data/myid
echo "3" > /data/zookeeper/data/myid

5、カイからの起動を設定します

[root@es-node01 conf]# cat /usr/lib/systemd/system/zookeeper.service 
[Unit]
Description=zookeeper.service
After=network.target
[Service]
Type=forking
Environment=/data/zookeeper
ExecStart=/data/zookeeper/bin/zkServer.sh start
ExecStop=/data/zookeeper/bin/zkServer.sh stop
ExecReload=/data/zookeeper/bin/zkServer.sh restart
[Install]
WantedBy=multi-user.target

6、次のコマンドを起動します

systemctl daemon-reload
systemctl start zookeeper.service
systemctl enbale zookeeper.service

6、それは通常の飼育係のクラスタであるかどうかを確認するには

ビューZKステータスコマンド(あなたは現在のノードがフォロワーまたはリーダーで見ることができます):

bin/zkServer.sh status

まず、インストールカフカ

図1に示すように、以下の動作は、3つのすべてのノードにカフカダウンロードコンパイル済みパッケージを実行し、次の操作を実行しています

cd /data
wget http://mirror.bit.edu.cn/apache/kafka/2.4.0/kafka_2.13-2.4.0.tgz
scp -r kafka_2.13-2.4.0.tgz [email protected]:/data
scp -r kafka_2.13-2.4.0.tgz [email protected]:/data
tar -xf kafka_2.13-2.4.0.tgz
mv kafka_2.13-2.4.0 kafka
mkdir /data/kafka/kafkalogs

2、編集、構成ファイルカフカ

cd /data/kafka/config
[root@es-node01 config]# cat server.properties |grep -Ev "^#|^$"
broker.id=1
listeners=PLAINTEXT://es-node01:9092
host.name=es-node01
advertised.listeners=PLAINTEXT://es-node01:9092
advertised.host.name=es-node01
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/data/kafka/log
num.partitions=3
delete.topic.enable=true
replica.fetch.max.bytes=5242880
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=3
transaction.state.log.replication.factor=3
transaction.state.log.min.isr=3
message.max.byte=5242880
log.cleaner.enable=true
log.retention.hours=72
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=192.168.121.30:2181,192.168.121.31:2181,192.168.121.32:2181
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
三个节点除了broker.id=1(broker.id=2/broker.id=3)和主机名es-node01需要修改,避免重复,其他配置信息保持一致即可

3、カイからの起動を設定します

cat /usr/lib/systemd/system/kafka.service 
[Unit]
Description=kafka server daemon
After=kafka.target
[Service]
Type=forking
ExecStart=/data/kafka/bin/kafka-server-start.sh -daemon /data/kafka/config/server.properties
ExecReload=/data/kafka/bin/kafka-server-stop.sh && sleep 2 && /data/kafka/bin/kafka-server-start.sh -daemon /data/kafka/config/server.properties
ExecStop=/data/kafka/bin/kafka-server-stop.sh
Restart=always
[Install]
WantedBy=multi-user.target

4、次のコマンドを起動します

systemctl daemon-reload
systemctl start kafka
systemctl status kafka
systemctl enbale kafka

5、試験クラスタが利用可能です

创建一个名称为SyslogTopic的 3副本3分区的topic
./bin/kafka-topics.sh --create --zookeeper 192.168.121.30:2181,192.168.121.31:2181,192.168.121.32:2181 --replication-factor 3 --partitions 3 --topic SyslogTopic
展示topic
./bin/kafka-topics.sh --list --zookeeper 192.168.121.30:2181,192.168.121.31:2181,192.168.121.32:2181
查看topic详细信息
./bin/kafka-topics.sh --describe --zookeeper 192.168.121.30:2181,192.168.121.31:2181,192.168.121.32:2181 --topic SyslogTopic
模拟生产者发送消息(该操作在node1节点上执行)
./bin/kafka-console-producer.sh --broker-list 192.168.121.30:9092 --topic SyslogTopic
模拟消费者消费消息(该操作在node2节点上执行)
./bin/kafka-console-consumer.sh --bootstrap-server 192.168.121.30:9092,192.168.121.31:9092,192.168.121.32:9092 --topic SyslogTopic
删除名称为SyslogTopic的topic
./bin/kafka-topics.sh --delete --topic SyslogTopic --zookeeper 192.168.121.30:2181,192.168.121.31:2181,192.168.121.32:2181
查看SyslogTopic是否还存在
./bin/kafka-topics.sh --describe --zookeeper 192.168.121.30:2181,192.168.121.31:2181,192.168.121.32:2181 --topic SyslogTopic

参考ます。https://www.cnblogs.com/longBlogs/p/10340251.html

おすすめ

転載: www.cnblogs.com/caidingyu/p/12336365.html