目录
首先下载zookeeper,地址:
Apache ZooKeeperhttps://zookeeper.apache.org/releases.html
下载kafka:
Apache KafkaApache Kafka: A Distributed Streaming Platform.https://kafka.apache.org/
还要安装jdk1.8,我这已经安装好了,也比较简单,就不介绍了。
我本次安装的版本已经上传在这,可以免积他下载:
修改主机名
vi /etc/hostname
我这主机早已经修改好了
查看IP
ifconfig
修改绑定关系
vi /etc/hosts
关闭防火墙
- #关闭防火墙
- systemctl stop firewalld
- #永久关闭防火墙
- systemctl disable firewalld.service
解压
tar -zxf apache-zookeeper-3.8.0-bin.tar.gz -C /opt
重命名
mv apache-zookeeper-3.8.0-bin/ apache-zookeeper-3.8.0
切换到目录:/opt/apache-zookeeper-3.8.0/conf
然后复制默认配置文件
cp zoo_sample.cfg zoo.cfg
修改配置文件:
vi zoo.cfg
dataDir=/root/zkdata
创建目录:
mkdir /root/zkdata
切换到目录:/opt/apache-zookeeper-3.8.0/bin
输入
./zkServer.sh
可以看到相关命令
启动zookeeper:
./zkServer.sh start zoo.cfg
查看状态:
./zkServer.sh status
[root@node05 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.8.0/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Error contacting service. It is probably not running.
[root@node05 bin]#
没有成功运行,怎么办?查看日志:
./zkServer.sh start-foreground
8080端口被占用了,输入命令查询哪个进程占用8080
lsof -i:8080
解决的办法有两个:一是修改zk默认端口,zookeeper 3.6之后的版本,开启服务器,zk会自动占用8080端口;二是,杀掉8080的进程
我这里修改zk端口
修改.zoo.cfg文件,添加如下配置
- # admin.serverPort 默认占8080端口
- admin.serverPort=8088
解压:
tar -zxf kafka_2.13-3.2.0.tgz -C /opt
切换到目录:/opt/kafka_2.13-3.2.0/config
修改配置文件: server.properties
修改的配置:
- #node05是主机名
- listeners=PLAINTEXT://node06:9092
- # kafka 会自创建目录
- log.dirs=/usr/kafka-logs
- #修改zk地址,用主机名
- zookeeper.connect=node06:2181
启动命令:
./bin/kafka-server-start.sh -daemon config/server.properties
可以看到有kafka进程
关闭的命令是:
./kafka-server-stop.sh
至此,kafka安装成功了
以下命令是topic相关的命令
./kafka-topics.sh --help
创建topic
./kafka-topics.sh --bootstrap-server node05:9092 --create --topic topic01 --partitions 3 --replication-factor 1
创建一个客户端,此时命令窗口会阻塞:
./kafka-console-consumer.sh --bootstrap-server node06:9092 --topic topic01 --group group1
创建 一个生产者:
./kafka-console-producer.sh --broker-list node06:9092 --topic topic01
此时可以发消息了
安装包不变,window下安装更简单,把zookeeper解压
然后修改配置文件,将zoo_sample.cfg复制一份改为zoo.cfg并添加data和log配置
添加配置:
- dataDir=C:\apache-zookeeper-3.8.0-bin\data
- dataLogDir=C:\apache-zookeeper-3.8.0-bin\log
然后到目录:G:\soft\apache-zookeeper-3.8.0-bin\apache-zookeeper-3.8.0-bin\bin
直接命令行双击zkServer.cmd和zkCli.cmd启动
把kafka解压,然后到window目录。
打开命令行
然后启动kafka:
kafka-server-start.bat ../../config/server.properties
创建topic的时候要注意,这个方式已经不能使用,最新版不能以下这种方式创建,会报错
kafka-topics.bat --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 1 --topic testtopic
会报:
Exception in thread "main" joptsimple.UnrecognizedOptionException: zookeeper is not a recognized option
应该使用这个命令:
kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic testtopic
生产者发消息:
kafka-console-producer.bat --broker-list 127.0.0.1:9092 --topic testtopic
消费者收:
kafka-console-consumer.bat --bootstrap-server 127.0.0.1:9092 --from-beginning --topic testtopic
可以看到生产者发的消息,消费都能收到了