在Ubuntu上实现Apache Kafka的高可用性通常涉及以下几个关键步骤:
sudo apt-get update
sudo apt-get install zookeeper
/etc/zookeeper/conf/zookeeper.properties
),设置数据目录和客户端连接端口等参数。dataDir=/var/lib/zookeeper
clientPort=2181
sudo systemctl start zookeeper
sudo systemctl enable zookeeper
sudo apt-get update
sudo apt-get install openjdk-11-jdk
wget https://downloads.apache.org/kafka/2.8.0/kafka_2.13-2.8.0.tgz
tar -xzvf kafka_2.13-2.8.0.tgz
cd kafka_2.13-2.8.0
config/server.properties
),设置以下关键参数:broker.id=0
listeners=PLAINTEXT://your_server_ip:9092
advertised.listeners=PLAINTEXT://your_server_ip:9092
log.dirs=/tmp/kafka-logs
zookeeper.connect=localhost:2181
replication.factor=3
min.insync.replicas=2
sudo bin/zookeeper-server-start.sh config/zookeeper.properties
sudo bin/kafka-server-start.sh config/server.properties
server-1.properties
、server-2.properties
等,并修改 broker.id
和 listeners
参数。sudo bin/kafka-server-start.sh config/server-1.properties &
sudo bin/kafka-server-start.sh config/server-2.properties &
sudo bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 3 --topic test
sudo bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
sudo bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
broker.id
是唯一的。listeners
和 advertised.listeners
配置正确,以便它们可以相互发现和通信。通过以上步骤,你可以在Ubuntu上配置一个高可用的Kafka集群,确保其在发生故障时能够自动恢复,并保持数据的可靠性和一致性。