- 1 下载kafka的安装包
使用下面的命令:
wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.3.0/kafka_2.11-2.3.0.tgz
- 2 解压Kafka并重命名
使用下面的命令:
tar -zxvf kafka_2.11-2.3.0.tgz
mv kafka_2.11-2.3.0 kafka
- 3 配置环境变量
在/etc/profile中设置环境变量,具体操作内容如下:
export KAFKA_HOME=/opt/kafka
保存并退出,然后使用source使配置的环境变量立即生效。
- 4 配置kafka系统配置文件 /config
vim server.properties
(1)加上启用删除topic功能的代码
delete.topic.enable=true
(2)把第二句设置服务器端口的代码的yourhostname改为dn1
g改完的代码如下:
listeners = PLAINTEXT://master:9092
(3)改变数据存储路径
log.dirs=/opt/kafka/data
(4)改变topic的分区数
原来是1,现在改为6
num.partitions=6
(5)改变zookeeper的客户端链接地址
代码如下:
zookeeper.connect=master:2181,slave1:2181,slave2:2181,slave3:2181
(6)改变客户端超时时间
原来是6000,现在改为60000
zookeeper.connection.timeout.ms=60000
- 5 配置zookeeper/conf系统文件
在 /opt/zookeeper/conf/zoo.cfg
第一行代码,心跳间隔加了个0
tickTime=20000
- 6 同步信息
用scp命令将配置好的文件夹拷贝到dn2,dn3 节点上
使用下面的命令:
scp -r kafka root@slave1:/opt
scp -r kafka root@slave2:/opt
scp -r kafka root@slave3:/opt
- 7 改broker的id
broker 的id 唯一,在/config目录下server.properties文件里,第一行代码
master
broker.id=0
slave1
broker.id=1
slave2
broker.id=2
slave3
broker.id=3
- 8 把 zookeep的2000变成20000都改掉
在 /usr/local/share/zookeeper/conf/zoo.cfg
第一行代码,心跳间隔加了个0
tickTime=20000
- 9 启动kafka
进入kafka的bin文件夹,执行下面的命令
./kafka-server-start.sh
- 11 打开kafka集群出错 找不到Socket server failed to bind to dn1:9092
修改/opt/kafka/config文件
执行下面的命令:
vim server.properties
把监听的端口改完自身对应的那个
slave1 监听slave1
slave2 监听slave2
slave3 监听slave3
- 12 开启kafka集群
使用下面的命令
bin/kafka-server-start.sh config/server.properties
!!这个地方是可以启动成功的 但是不能自己正常退出 ,牵扯到进程保护出现下面的情况:
jps 之后kafka进程是有的
!!!!!
进程保护问题,要想退出采用下面的这条命令
bin/kafka-server-start.sh -daemon config/server.properties
- 13 创建新的topic
使用下面的命令
bin/kafka-topics.sh --create --zookeeper localhost:2181 --topic test --partitions 1 --replication-factor 1
Created topic "test".
- 14 查看现有kafka集群
./kafka-topics.sh --list --zookeeper master:2181 slave1 :2181 slave2 :2181 slave3 :2181
测试结果如下:
kafka集群检测成功,正常使用