云服务器上配置kafka伪集群之坑
阿里云服务器上配置kafka伪集群之坑
下载kafka
下载后解压,然后将解压的kafka文件夹复制两份并重命名,如kafka1,kafka2,kafka3。
zookeeper.properties配置
本次使用kafka中自带zookeeper
以kafka01为例,在kafka01文件夹下zookeeper.properties中添加和修改以下内容:
server.1=localhost:port1:port2(例如port1=2880,port2=3880,port4=2881,port5=3881,以此类推)
server.2=localhost:port3:port4
server.3=localhost:port5:port6
dataDir=/root/kafka01/data/zookeeper(另两个文件需修改相应位置)
tickTime=2000
initLimit=10
syncLimit=5
clientPort=2181(另两个文件中配置文件需修改此端口)
quorumListenOnAllIPs=true (该参数设置为true,Zookeeper服务器将监听所有可用IP地址的连接)
在每个zookeeper文件下新建myid文件
Zookeeper的节点编号时数字类型,所以除了在配置文件中配置集群节点外,还需要在kafka/data/zookeeper目录下创建名为myid的文件,然后将编号配置在里面(Server.N里面的N要和myid中的编号保持一致)。
注意,myid里面只填一个数字,如1,此时对应server.1
kafka集群安装配置(server.properties配置)
以kafka01为例,在kafka01文件夹下server.properties中添加和修改以下内容:
broker.id=0 (其他两个重要修改为1和2或者其他不同数字)
delete.topic.enable=true
auto.create.topics.enable=true
listeners=PLAINTEXT://阿里云内网IP地址:9092 (每个server.properties中要设置这个listeners,不然每个都会默认为9092端口。
例如下一个配置为listeners=PLAINTEXT://阿里云内网IP地址:9093 ;advertised.listeners=PLAINTEXT://阿里云外网(公网IP地址):9093)
advertised.listeners=PLAINTEXT://阿里云外网(公网IP地址):9092
num.partitions=1
default.replication.factor=3
min.insync.replicas=2
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183(设置Zookeeper地址,使用逗号分割配置多个地址,即Zookeeper集群的地址)
log.dirs=/root/kafka01/data/kafka
zookeeper 启动
启动相比配置部分比较简单,在每一台机器上使用kafka自带的脚本文件启动即可:
kafka/bin/zookeeper-server-start.sh kafka/config/zookeeper.properties
kafka启动
与Zookeeper集群启动类似,使用kafka/bin/kafka-server-start.sh脚本文件启动,命令如下:
Kafka/bin/kafka-server-start.sh kafka/config/server.properties
在三个文件里都是用该命令启动,如果没有报错就是启动成功了。
(之前listeners没设置,所以kafka启动出错,每个启动时都默认9092端口)