在Debian系统上集成Kafka与Zookeeper,可以按照以下步骤进行:
首先,确保你的Debian系统已经安装了Java运行环境(JRE),因为Kafka需要Java环境来运行。
sudo apt-get update
sudo apt-get install openjdk-8-jdk
验证Java安装:
java -version
接下来,从Apache官方网站下载最新版本的Zookeeper:
wget https://downloads.apache.org/zookeeper/zookeeper-3.9.1/apache-zookeeper-3.9.1-bin.tar.gz
解压Zookeeper安装包:
tar -xzvf apache-zookeeper-3.9.1-bin.tar.gz
创建Zookeeper用户和组:
sudo groupadd zookeeper
sudo useradd -g zookeeper zookeeper
配置Zookeeper:
编辑 /etc/zookeeper/conf/zoo.cfg
文件,设置以下关键参数:
dataDir
: Zookeeper数据存储目录,例如 /var/lib/zookeeper
。clientPort
: Zookeeper客户端端口,例如 2181
。tickTime
: Zookeeper时钟周期,例如 2000
。initLimit
和 syncLimit
: 分别指定Zookeeper服务器在开始同步之前可以等待追随者加入的时间上限和完成同步的时间上限。sudo nano /etc/zookeeper/conf/zoo.cfg
设置文件权限:
sudo chown -R zookeeper:zookeeper /var/lib/zookeeper
sudo chmod -R 755 /var/lib/zookeeper
初始化Zookeeper数据目录:
sudo /usr/share/zookeeper/bin/zkServer.sh start config/zoo.cfg
启动Zookeeper并将其设为自动启动:
sudo systemctl enable zookeeper
sudo systemctl start zookeeper
确认Zookeeper安装成功:
netstat -ntlp | grep 2181
下载Kafka:
wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz
解压Kafka安装包:
tar -xzvf kafka_2.12-3.5.2.tgz
配置Kafka:
编辑 /usr/local/kafka_2.12-3.5.2/config/server.properties
文件,设置以下关键参数:
broker.id
: Kafka broker的唯一标识符。listeners
: Kafka监听的地址和端口,例如 PLAINTEXT://localhost:9092
。log.dirs
: Kafka日志存储目录,例如 /tmp/kafka-logs
。zookeeper.connect
: 指向Zookeeper集群的地址和端口,例如 localhost:2181
。sudo nano /usr/local/kafka_2.12-3.5.2/config/server.properties
启动Kafka:
/usr/local/kafka_2.12-3.5.2/bin/kafka-server-start.sh /usr/local/kafka_2.12-3.5.2/config/server.properties
创建一个Kafka主题:
/usr/local/kafka_2.12-3.5.2/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
列出Kafka主题:
/usr/local/kafka_2.12-3.5.2/bin/kafka-topics.sh --list --zookeeper localhost:2181
启动Kafka生产者:
/usr/local/kafka_2.12-3.5.2/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
启动Kafka消费者:
/usr/local/kafka_2.12-3.5.2/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
通过以上步骤,你可以在Debian系统上成功集成Kafka与Zookeeper。