在Ubuntu上部署Kafka集群需要几个步骤,包括安装Java、Zookeeper和Kafka本身,配置相关文件,以及启动服务。以下是一个基本的指南:
1. 安装Java
Kafka需要Java环境,首先安装Java 8或更高版本:
sudo apt update sudo apt install openjdk-8-jdk java -version
2. 安装Zookeeper
- 下载Zookeeper:
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
- 解压并配置Zookeeper:
tar xvf zookeeper-3.4.6.tar.gz sudo mv zookeeper-3.4.6 /usr/local/zookeeper sudo cat > /usr/local/zookeeper/conf/zoo.cfg << EOF tickTime=2000 dataDir=/var/lib/zookeeper clientPort=2181 EOF
- 启动Zookeeper:
sudo /usr/local/zookeeper/bin/zkServer.sh start
验证Zookeeper是否启动成功:
sudo netstat -nap | grep 2181
3. 安装Kafka
- 下载Kafka:
wget https://downloads.apache.org/kafka/3.6.2/kafka_2.12-3.6.2.tgz
- 解压Kafka:
tar -xzvf kafka_2.12-3.6.2.tgz sudo mv kafka_2.12-3.6.2 /usr/local/kafka
- 配置Kafka:
编辑/usr/local/kafka/config/server.properties
文件,主要修改以下参数:
broker.id
: 每个broker的唯一标识。listeners
: Kafka监听的地址和端口。log.dirs
: 消息存储的目录。zookeeper.connect
: Zookeeper的地址。
例如:
broker.id=0 listeners=PLAINTEXT://your_server_ip:9092 log.dirs=/tmp/kafka-logs zookeeper.connect=your_zookeeper_server:2181
- 创建Kafka目录:
sudo mkdir /tmp/kafka-logs
- 启动Kafka:
sudo /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties
验证Kafka是否启动成功:
sudo netstat -tulnp | grep 9092
4. 部署Kafka集群
对于多个Broker的集群,需要在每台服务器上重复上述步骤,确保每台服务器的broker.id
和listeners
配置不同。
5. 验证集群
创建一个测试主题并验证:
sudo /usr/local/kafka/bin/kafka-topics.sh --create --bootstrap-server your_server_ip:9092 --replication-factor 3 --partitions 1 --topic test-topic
列出主题以确认:
sudo /usr/local/kafka/bin/kafka-topics.sh --list --bootstrap-server your_server_ip:9092
生产消息并消费:
sudo /usr/local/kafka/bin/kafka-console-producer.sh --broker-list your_server_ip:9092 --topic test-topic sudo /usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server your_server_ip:9092 --topic test-topic --from-beginning