首先需要配置好Zookeeper集群
zookeeper集群配置
1.zookeeper本身是基于java开发的,工作需要jdk的支持。
a.安装JDK
下载JDK安装包,上传linux中进行解压
b.修改主机名
hostname xxx
c.配置hosts
vim /etc/hosts
d.配置SSH免密登录
生成本机公钥秘钥:ssh-keygen
将本机公钥发送给模板主机:ssh-copy-id 主机名
远程ssh登录:ssh 主机名
配置zookeeper
进入conf目录,复制zoo-sample.cfg为zoo.cfg,通过修改zoo.cfg来对zookeeper 进行配置。
修改一:修改zookeeper存储路径
配置dataDir 指定zookeeper数据保存的位置
如果不修改,默认在/tmp下,而/tmp是Linux的临时目录,内容随时可能被清空, 所以此选项必须修改。
修改2 - 修改zk服务器列表:
完全分布式:
多台机器各自配置的选项
server.1=172.16.44.29:2888:3888 server.2=172.16.44.31:2888:3888 server.3=172.16.44.32:2888:3888
修改3 - 指定当前服务器编号:
到之前配置的zookeeper的dataDir目录下创建一个文件叫myid,文件的内容 为一个数字,表明当前机器是哪一个编号的机器。
在其他节点安装好zk:可以直接将安装好的zk进行拷贝,分发到足够多的节点。
操作zookeeper
启动ZK服务: bin/zkServer.sh start
停止ZK服务: bin/zkServer.sh stop
重启ZK服务: bin/zkServer.sh restart
查看ZK服务状态: bin/zkServer.sh status
kafka配置
1.下载安装包kafka_2.11-0.11.0.03.tgz
2.上传至linux,这里以172.16.44.29为例。
3.进入安装目录下conf目录。
生产者:producer.properties
消费者:consumer,properties
设置kafka每次最小消费10M,只等待2s,然后就返回数据。
sercer.properties
保存退出,记得在安装目录下创建kafka-logs目录。
配置其他2台机器,更改配置文件的broker.id编号(不重复即可).
先启动zookeeper集群
启动kafka集群。进入bin目录,执行:
前端启动: sh kafka-server-start.sh …/config/server.properties 或
后端启动: sh kafka-server-start.sh …/config/server.properties > kafka.log 2>&1
kakfa的使用
1.创建自定义的topic,在bin目录下执行:
sh kafka-topics.sh --create --zookeeper xcloud29:2181 --replication-factor 1 --partitions 1 --topic test 注:副本数量要小于等于节点数量
2.查看所有的topic 执行:sh kafka-topics.sh --list --zookeeper xcloud29:2181
3.启动producer 执行:
sh kafka-console-producer.sh --broker-list xcloud29:9092,xcloud31:9092,xcloud32:9092 – topic test
4.启动consumer:
sh kafka-console-consumer.sh --zookeeper xcloud29:2181 --topic test–from-beginning
5.删除topic指令:
进入bin目录,执行:sh kafka-topics.sh --delete --zookeeper xcloud29:2181 --topic test