一、安装zookeeper
1.下载并解压zookeeper
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
tar -zxvf zookeeper-3.4.14.tar.gz
2.重命名
cp zookeeper-3.4.14 /user/local/zookeeper -r
3.进入到zookeeper的config文件夹下,复制一份zoo_sample.cfg并命名为zoo.cfg
4.修改配置文件
vi /etc/profile
添加如下内容:
export ZOOKEEPER=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER/bin
使配置生效
source /etc/profile
进入zookeeper的bin目录,
执行sh zkServer.sh start进行启动zookeeper
查看状态 进入bin目录,执行sh zkServer.sh status
停止 进入bin目录,执行sh zkServer.sh stop
5.把zookeeper设置为系统服务并开机自启
- 在/etc/rc.d/init.d目录下创建zookeeper文件
2.加如以下内容,
#!/bin/bash
export JAVA_HOME=/usr/local/jdk1.8.0_211
export PATH=$JAVA_HOME/bin:$PATH
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
case $1 in
start)
/usr/local/zookeeper/bin/zkServer.sh start 写自己的安装路径,/usr/local/zookeeper这是我的安装路径
;;
stop)
/usr/local/zookeeper/bin/zkServer.sh stop
;;
status)
/usr/local/zookeeper/bin/zkServer.sh status
;;
restart)
/usr/local/zookeeper/bin/zkServer.sh restart
;;
*)
echo "require start|stop|status|restart"
;;
esac
然后执行一下命令
chmod 755 zookeeper //修改文件权限
chkconfig --add zookeeper //加入服务
chkconfig zookeeper on //开机自启
再次操作zookeeper时可以使用以下命令
service zookeeper start //启动
service zookeeper stop //停止
service zookeeper status //查看状态
service zookeeper restart //重启
二、安装kafka
1.下载kafka并解压
wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.3.0/kafka_2.12-2.3.0.tgz
tar -zxvf kafka_2.12-2.3.0
2.重命名
cp kafka_2.12-2.3.0 /usr/local/kafka
3.启动服务
启动zookeeper
启动zk有两种方式,第一种是使用kafka自己带的一个zk。
bin/zookeeper-server-start.sh config/zookeeper.properties
另一种是使用其它的zookeeper,可以位于本机也可以位于其它地址。
这种情况需要修改config下面的sercer.properties里面的zookeeper地址 。例如zookeeper.connect=192.168.213.11:2181
成功启动zookeeper后才可以启动kafka。
启动 kafka
bin/kafka-server-start.sh config/server.properties
4.创建topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
创建一个名为test的topic,只有一个副本,一个分区。
通过list命令查看刚刚创建的topic
bin/kafka-topics.sh -list -zookeeper localhost:2181
5.启动producer并发送消息启动producer
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
启动之后就可以发送消息了
6.然后在另一个终端中,启动consumer
以下是旧版本的命令:
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
如果报错:consumer zookeeper is not a recognized option
发现在启动的时候说使用 --zookeeper是一个过时的方法,最新的版本中命令如下:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
启动consumer之后就可以在console中看到producer发送的消息了
可以开启两个终端,一个发送消息,一个接受消息。