软件安装包准备
apache-zookeeper-3.6.2-bin.tar.gz
kafka_2.13-2.7.0.tgz
安装JDK
请确保linux机器安装有JDK8及JDK8以上版本的JDK;
zookeeper单机模式部署
将安装包apache-zookeeper-3.6.2.tar.gz上传至linux服务器的opt目录下
解压tar文件
# cd /opt
# sudo tar -zxvf apache-zookeeper-3.6.2-bin.tar.gz
# cd apache-zookeeper-3.6.2-bin
# cd conf
创建配置文件zoo.cfg
# sudo cp zoo_sample.cfg zoo.cfg
编辑系统配置文件,执行:
# sudo mkdir -p /tmp/zookeeper
# sudo vim /tmp/zookeeper/myid
然后将下面的内容添加到myid中:
1
启动zookeeper
# cd /opt/apache-zookeeper-3.6.2-bin
# sudo bin/zkServer.sh start
执行此命令后,你将收到以下响应
# JMX enabled by default
# Using config: /Users/../zookeeper-3.4.6-bin /bin/../conf/zoo.cfg
# Starting zookeeper ... STARTED
启动CLI
# cd /opt/apache-zookeeper-3.6.2-bin
#sudo bin/zkCli.sh
响应结果如下
Connecting to localhost:2181
................
................
................
Welcome to ZooKeeper!
................
................
WATCHER::
WatchedEvent state:SyncConnected type: None path:null
[zk: localhost:2181(CONNECTED) 0]
如果想停止zookeeper,则执行以下语句
# cd /opt/apache-zookeeper-3.6.2-bin
# sudo bin/zkServer.sh stop
Kafka单机模式部署
将Kafka安装包kafka_2.13-2.7.0.tgz上传至linux服务器opt目录下
安装软件
#cd /opt
# sudo tar -xzvf kafka_2.13-2.7.0.tgz
修改server.properties配置文件
# sudo vi /opt/kafka_2.13-2.7.0/config/server.properties
将以下内容追加到配置文件中,并将本机的IP地址替换在以下内容的[本机IP]处
host.name= localhost
listeners=PLAINTEXT://[本机IP]:9092
启动Kafka之前,请确定zookeeper已启动。启动kafka,以下语句为一条命令。
#sudo /opt/kafka_2.13-2.7.0/bin/kafka-server-start.sh -daemon /opt/kafka_2.13-2.7.0/config/server.properties
使用jps名称查看是否正常运行
# sudo jps
9173 Kafka
9462 Jps
8589 QuorumPeerMain
Kafka的简单使用
- 创建topic
bin目录下:
参数说明:
–zookeeper:指定kafka连接zk的连接url,该值和server.properties文件中的配置项{zookeeper.connect}一样
–replication-factor:指定副本数量
–partitions:指定分区数量
–topic:主题名称
- 查看topic
bin目录下:
sudo ./kafka-topics.sh --list --zookeeper localhost:2181
- 新打开一个终端窗口,创建一个生产者
在/opt/kafka_2.13-2.7.0/bin目录下:
sudo ./kafka-console-producer.sh --broker-list localhost:9092 --topic test
- 新打开一个终端窗口,创建一个消费者
在/opt/kafka_2.13-2.7.0/bin目录下:
sudo ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
- 然后,在生产者终端上,键盘输入下面的信息:
明天会更好
hello world!
- tips:
–from-beginning 是否消费原始数据(该消费者启动器产生的数据)
旧版使用参数–zookeeper localhost:2181(consumer的信息将会存放在zk中)新版使用参数:–bootstrap-server localhost:9092
Linux开机关机注意事项
Linux开机后,登录root用户,按顺序依次执行以下命令,开启kafka服务
- 启动Zookeeper
# cd /opt/apache-zookeeper-3.6.2-bin
# sudo bin/zkServer.sh start
# sudo bin/zkCli.sh
- 启动Kafka
# cd /opt/kafka_2.13-2.7.0/
# sudo /opt/kafka_2.13-2.7.0/bin/kafka-server-start.sh -daemon /opt/kafka_2.13-2.7.0/config/server.properties
Linux关机前,登录root用户,按顺序依次执行以下命令,关闭kafka服务
- 关闭kafka
# cd /opt/kafka_2.13-2.7.0/
# sudo bin/kafka-server-stop.sh
- 关闭zookeeper
# cd /opt/apache-zookeeper-3.6.2-bin
# sudo bin/zkServer.sh stop