Kafka目前带有zookeeper,可以自行安装zookeeper,也可以用kafka自带的
一、安装zookeeper
1)下载zookeeper
cd /opt/
sudo wget https://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
2)解压
sudo tar zxvf zookeeper-3.4.14.tar.gz
cd zookeeper-3.4.14
3)配置
sudo cp -rf conf/zoo_sample.cfg conf/zoo.cfg
sudo vi conf/zoo.cfg
修改或添加zoo.cfg文件中如下两个配置项:
dataDir=/opt/zookeeper-3.4.14/zkdata #这个目录是预先创建的
dataLogDir=/opt/zookeeper-3.4.14/zkdatalog #这个目录是预先创建的
sudo mkdir zkdatalog
sudo mkdir zkdata
4)配置环境变量
sudo vi /etc/profile
# config java class path
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$ZOOKEEPER_HOME/lib:
export PATH=${JAVA_HOME}/bin:$ZOOKEEPER_HOME/bin:$PATH
# config zookeeper install path
export ZOOKEEPER_HOME=/opt/zookeeper-3.4.14
5)启动zookeeper
cd /opt/zookeeper-3.4.14/bin
sudo ./zkServer.sh start
二、安装KAFKA
1)下载
cd /opt/
sudo wget http://apache.fayea.com/kafka/2.1.0/kafka_2.12-2.1.0.tgz
2)解压
sudo tar -zxvf kafka_2.12-2.1.0.tgz
3) 配置:
进入kafka安装工程根目录编辑config/server.properties
cd /opt/kafka_2.12-2.1.0/config/
sudo mkdir /opt/kafka_2.12-2.1.0/kafka_log
添加或者修改以下两个配置项:
log.dirs=/opt/kafka_2.12-2.1.0/kafka_log #(提前创建)
listeners=PLAINTEXT://192.168.0.111:9092
配置文件里的几个值的说明:
A、broker.id 申明当前kafka服务器在集群中的唯一ID,需配置为integer,并且集群中的每一个kafka服务器的id都应是唯一的,我们这里采用默认配置即可
B、listeners 申明此kafka服务器需要监听的端口号,如果是在本机上跑虚拟机运行可以不用配置本项,默认会使用localhost的地址,如果是在远程服务器上运行则必须配置,例如:
listeners=PLAINTEXT:// 192.168.180.128:9092。并确保服务器的9092端口能够访问
C、zookeeper.connect 申明kafka所连接的zookeeper的地址 ,需配置为zookeeper的地址,由于本次使用的是kafka高版本中自带zookeeper,使用默认配置即可
zookeeper.connect=localhost:2181
4)启动
sudo sh /opt/kafka_2.12-2.1.0/bin/kafka-server-start.sh /opt/kafka_2.12-2.1.0/config/server.properties &
kafka查看topic和消息内容命令
1、查询topic,进入kafka目录:
bin/kafka-topics.sh --list --zookeeper localhost:2181
2、查询topic内容:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topicName --from-beginning
常用命令
启动zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties &
启动kafka
bin/kafka-server-start.sh config/server.properties &
停止kafka
bin/kafka-server-stop.sh
停止zookeeper
bin/zookeeper-server-stop.sh
创建topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
展示topic
bin/kafka-topics.sh --list --zookeeper localhost:2181
描述topic
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic
生产者:
bin/kafka-console-producer.sh --broker-list 130.51.23.95:9092 --topic my-replicated-topic
消费者:
bin/kafka-console-consumer.sh --zookeeper 130.51.23.95:2181 --topic test --from-beginnin