kafka集群部署

1 篇文章 0 订阅

目录

官方文档:http://kafka.apache.org/documentation/#basic_ops_mirror_maker

环境

三台机器

hostnameip
kafka0110.27.148.84
kafka0210.27.148.85
kafka0310.27.148.86

机器初始化

  • 挂载磁盘
  • 添加iptables白名单
  • 修改hosts

安装java环境

yum install -y install jdk1.8.0_101.x86_64

安装zookeeper

kafka的安装包里默认带了一个zookeeper,因为kafka数据一致性包括集群borker信息、分区、消费者、生产者等一些关键性配置都存储在kafka中,所以生产环境最好是有一个单独的zookeeper集群。这里用三台kafka节点同时安装zookeeper。

mkdir -p /data/zookeeper/{zkdata,zkdatalog}
cd /data/zookeeper/
wget http://mirror.bit.edu.cn/apache/zookeeper/current/zookeeper-3.4.12.tar.gz
tar zxvf zookeeper-3.4.12.tar.gz
#复制一份zoo_sample.cfg 并命名为zoo.cfg zookeeper启动是读取zoo.cfg文件。
cp  zookeeper-3.4.12/conf/zoo_sample.cfg zookeeper-3.4.12/conf/zoo.cfg
cd zookeeper-3.4.12/conf/

#vim zoo.cfg 
tickTime=2000  #心跳时间间隔
initLimit=10   #初始化连接时最长能忍受多少个心跳时间间隔数,5*2000 = 10秒
syncLimit=5    #最长不能超过多少个 tickTime 的时间长度
dataDir=/data/zookeeper/zkdata  #快照日志的存储路径
dataLogDir=/data/zookeeper/zkdatalog  事物日志的存储路径#
clientPort=2181
server.1 = 10.27.148.84:2888:3888    #第一个端口( port )是从( follower )机器连接到主( leader )机器的端口,第二个端口是用来进行 leader 选举的端口
server.2 = 10.27.148.85:2888:3888
server.3 = 10.27.148.86:2888:3888

#创建myid文件 每个server的id不一样
echo "1" > /opt/zookeeper/zkdata/myid
#server2
echo "2" > /opt/zookeeper/zkdata/myid
#server3
echo "3" > /opt/zookeeper/zkdata/myid
将三台机器的ip也加进每台机器的iptables白名单里边,同时zookeeper的三个端口也加进白名单
cd /data/zookeeper/zookeeper-3.4.12/bin/
./zkServer.sh start
./zkServer.sh status

安装kafka

mkdir -p /data/kafka/kafkalogs
cd /data/kafka
wget http://apache.01link.hk/kafka/1.1.0/kafka_2.11-1.1.0.tgz
tar zxvf kafka_2.11-1.1.0.tgz
cd kafka_2.11-1.1.0/config/
#vim server.properties

#每台服务器的broker.id都不能相同
broker.id=0
port = 9092  
host.name= 10.27.148.84

#在log.retention.hours=168 下面新增下面三项
message.max.byte=5242880
default.replication.factor=2
replica.fetch.max.bytes=5242880

log.dirs = /data/kafka/kafkalogs #消息存放的目录,这个目录可以配置为“,”逗号分割的表达式,num.io.threads要大于这个目录的个数

#设置zookeeper的连接端口
zookeeper.connect=10.27.148.84:2181,10.27.148.85:2181,10.27.148.86:2181
iptables -A INPUT -p tcp --dport 9092 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 9092 -j ACCEPT
service iptables restart
./kafka-server-start.sh -daemon ../config/server.properties #启动kafka

#创建一个topic并生产和消费测试一下
./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 2 --partitions 1 --topic test #创建topic

./kafka-console-producer.sh --broker-list localhost:9092 --topic test #在一台服务器上创建一个生产者

./kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning #在一台服务器上创建消费者

kafka常用命令

  1. 查看topic的分区信息
./kafka-topics.sh --describe --zookeeper 127.0.0.1:2181
  1. 生产一条数据
./kafka-console-producer.sh --broker-list 127.0.0.1:9092--topic testtopic
  1. 消费数据
./kafka-console-consumer.sh --bootstrap-server 10.11.128.87:9092 --topic testtopic
  1. 修改分区数量(分区数量只可以增加,不能删除)
./kafka-topics.sh --zookeeper 127.0.0.1:2181  --alter --topic testtopic  --partitions 60
  1. 查看消费者分组
./kafka-consumer-groups.sh --list --bootstrap-server 127.0.0.1:9092
  1. 分区消费情况和消费者信息
./kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9092  --describe --group test
  1. 查看队列堆积
./kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper  127.0.0.1:2181  --group  test  --topic  testtopic
  1. 创建topic
./kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 1 --topic    testtopic	
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值