需要预先给linux配置jdk8环境
进入zookeeper官网下载安装包
https://dlcdn.apache.org/zookeeper/
选择需要的版本
选择带bin的下载
将安装包使用Xftp上传至Linux中
使用tar命令解压
tar -xzf apache-zookeeper-3.6.3-bin.tar.gz二、配置zookeeper
进入zookeeper安装目录中新建data和log文件夹
cd apache-zookeeper-3.6.3-bin mkdir data mkdir log
进入conf目录, 复制一份zoo_sample.cfg并命名为zoo.cfg
cp zoo_sample.cfg zoo.cfg
vim打开zoo.cfg,添加三个配置
vim zoo.cfg dataDir=/home/zhou/apache-zookeeper-3.6.3-bin/data dataLogDir=/home/zhou/apache-zookeeper-3.6.3-bin/log admin.enableServer=false #zookeeper最近的版本中有个内嵌的管理控制台是通过jetty启动,也会占用8080 端口。 #admin.enableServer=false,添加这行停用这个服务三、启动zookeeper
进入bin目录启动zookeeper
./zkServer.sh start #加上-foreground可以显示详细信息 ./zkServer.sh start-foreground #查看zookeeper状态 ./zkServer.sh state #停止服务 ./zkServer.sh stop
使用jsp -l查看zookeeper是否启动成功
jps -l四、下载kafka安装包
进入kafka官网下载安装包
http://kafka.apache.org/downloads
选择需要的版本下载
将安装包使用Xftp上传至Linux中
使用tar命令解压
tar -xzf kafka_2.11-2.4.0.tgz
解压后的文件夹里bin目录里放一些可执行程序,config目录里放一些配置文件
进入config目录中,kafka主要用到的配置文件就是server.properties
五、配置 server.properties使用vim查看server.properties
vim server.properties
broker.id标识broker
listeners后面改成服务器的ip地址,9092位kafka对外提供服务的默认端口
log.dirs设置存放日志的文件夹
kafka中每一条消息都会默认保存七天就保存在这个里面
因为kafka需要使用zookeeper,所有需要设置zookeeper服务器的地址
使用vim添加一个域名
vim /etc/hosts
将zookeeper.connect修改为域名:端口,直接写ip地址kafka会启动失败
成功启动kafka
bin/kafka-server-start.sh config/server.properties #这样可以后台以守护进程方式启动 bin/kafka-server-start.sh -daemon config/server.properties
六、测试
启动kafka后使用kafka-topics.sh创建topic
./kafka-topics.sh --create --zookeeper 192.168.220.132:2181 --replication-factor 1 --partitions 1 --topic test
查看topic
./kafka-topics.sh --list --zookeeper 192.168.220.132:2181
发送消息
输入命令后会开启一个发送消息的客户端
./kafka-console-producer.sh --broker-list 192.168.220.132:9092 --topic test
接收消息
发送方发送一条消息,接收方就能收到
./kafka-console-consumer.sh --bootstrap-server 192.168.220.132:9092 --from-beginning --topic test七、搭建集群
复制两个server.properties文件
cp server.properties server1.properties cp server.properties server2.properties
分别配置为
broker.id=1 listeners=PLAINTEXT://IP:9092 dataDir=/home/zhou/apache-zookeeper-3.6.3-bin/logs-1 broker.id=2 listeners=PLAINTEXT://IP:9093 dataDir=/home/zhou/apache-zookeeper-3.6.3-bin/logs-2
启动三台服务器
bin/kafka-server-start.sh -daemon config/server.properties bin/kafka-server-start.sh -daemon config/server1.properties bin/kafka-server-start.sh -daemon config/server2.properties
启动zookeeper客户端查看
./zkCli.sh
有三个节点说明三台服务器启动成功
创建一个主题两个分区三个副本
./kafka-topics.sh --create --zookeeper zkIP:2181 --replication-factor 3 --partitions 2 --topic my-replicated-topic
kafka集群消息的发送
./kafka-console-producer.sh --broker-list 192.168.220.132:9092 192.168.220.132:9093 192.168.220.132:9094 --topic my-replicated-topic
kafka集群消息的接收
./kafka-console-consumer.sh --bootstrap-server 192.168.220.132:9092 192.168.220.132:9093 192.168.220.132:9094 --from-beginning --topic my-replicated-topic



