在Ubuntu上配置Kafka网络涉及多个步骤,包括安装必要的软件、配置Kafka和Zookeeper、以及启动服务。以下是一个详细的指南:
Kafka需要Java运行环境,建议安装JDK 1.8或更高版本。可以通过以下命令检查Java是否已安装:
java -version
wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
tar -xzvf apache-zookeeper-3.7.0-bin.tar.gz
cd apache-zookeeper-3.7.0
mkdir /tmp/zookeeper
conf/zoo.cfg
文件:dataDir=/tmp/zookeeper
clientPort=2181
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890
./bin/zkServer.sh start
wget https://downloads.apache.org/kafka/2.8.1/kafka_2.12-2.8.1.tgz
tar -xzvf kafka_2.12-2.8.1.tgz
cd kafka_2.12-2.8.1
mkdir /tmp/kafka
config/server.properties
文件:broker.id=0
listeners=PLAINTEXT://your_server_ip:9092
zookeeper.connect=localhost:2181
log.dirs=/tmp/kafka
./bin/zookeeper-server-start.sh config/zookeeper.properties
./bin/kafka-server-start.sh config/server.properties
对于Ubuntu 20.04 LTS及以上版本,使用Netplan工具管理网络。编辑 /etc/netplan/01-netcfg.yaml
文件,将 dhcp4: yes
更改为 dhcp4: no
,并添加静态IP地址、网关和DNS服务器:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses: [Your_Static_IP/Netmask]
gateway4: Your_Gateway_IP
nameservers:
addresses: [DNS_Server_IPs]
应用配置:
sudo netplan apply
./bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092
./bin/kafka-topics.sh --list --bootstrap-server localhost:9092
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
broker.id
: 每个Kafka broker在集群中的唯一标识。listeners
: Kafka监听的地址和端口。advertised.listeners
: Kafka对外提供的地址和端口。zookeeper.connect
: 配置Zookeeper集群的地址。确保防火墙允许Kafka使用的端口(如9092和2181):
sudo ufw allow 9092/tcp
sudo ufw allow 2181/tcp
sudo ufw reload