kafka集群部署
来源:互联网 发布:出租外汇交易软件 编辑:程序博客网 时间:2024/05/18 05:49
kafka集群部署
下载kafka安装包:
wget https://www.apache.org/dyn/closer.cgi?path=/kafka/0.10.1.0/kafka_2.10-0.10.1.0.tgz
解压
tar –zxvf kafka_2.10-0.10.1.0.tgz
配置zookeeper配置文件
vi config/zookeeper.properties//模板 其他文件类似
#这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
tickTime=2000
#这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 5个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒
initLimit=10
#这个配置项标识 Leader 与Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是5*2000=10秒
syncLimit=5
#快照日志的存储路径
dataDir=/var/kafka/zookeeper/2080
#事物日志的存储路径,如果不配置这个那么事物日志会默认存储到dataDir制定的目录,这样会严重影响zk的性能,当zk吞吐量较大的时候,产生的事物日志、快照日志太多
dataLogDir=/var/kafka/zookeeper/2080
# the port at which the clients will connect
clientPort=2080
# disable the per-ip limit on the number ofconnections since this is a non-production config
maxClientCnxns=0
server.1=localhost:12000:13000
server.2=localhost:12001:13001
server.3=localhost:12002:13002
#server.1 这个1是服务器的标识也可以是其他的数字, 表示这个是第几号服务器,用来标识服务器,这个标识要写到快照目录下面myid文件里
# localhost为集群里的IP地址,第一个端口是master和slave之间的通信端口,默认是2888,第二个端口是leader选举的端口,集群刚启动的时候选举或者leader挂掉之后进行新的选举的端口默认是3888
创建myid文件
echo "1" > /var/kafka/zookeeper/2080/myid
echo "2" > /var/kafka/zookeeper/2081/myid
echo "3" > /var/kafka/zookeeper/2082/myid
注意点:zookeeper不会主动的清除旧的快照和日志文件,这个是操作者的责任
kafka配置文件配置:
vi config/server.properties//模板 其他文件类似
broker.id=1
delete.topic.enable=true
listeners=PLAINTEXT://:19000
host.name=localhost
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/var/kafka/logs/kafka-19000
num.partitions=1
num.recovery.threads.per.data.dir=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=localhost:2080,localhost:2081,localhost:2082
zookeeper.connection.timeout.ms=6000
创建kafka启动脚本:
vikafka//创建文件
#!/bin/sh
function Stop()
{
ps -ef |grep kafka|grep -v grep |awk '{print $2}'|xargs kill -9
}
function Start()
{
/bin/bash /usr/local/kafka_2.10-0.10.1.0/bin/zookeeper-server-start.sh /usr/local/kafka_2.10-0.10.1.0/config/zookeeper2080.properties &> /dev/null &
/bin/bash /usr/local/kafka_2.10-0.10.1.0/bin/zookeeper-server-start.sh /usr/local/kafka_2.10-0.10.1.0/config/zookeeper2081.properties &> /dev/null &
/bin/bash /usr/local/kafka_2.10-0.10.1.0/bin/zookeeper-server-start.sh /usr/local/kafka_2.10-0.10.1.0/config/zookeeper2082.properties &> /dev/null &
sleep 3
/bin/bash /usr/local/kafka_2.10-0.10.1.0/bin/kafka-server-start.sh /usr/local/kafka_2.10-0.10.1.0/config/server19000.properties &> /dev/null &
/bin/bash /usr/local/kafka_2.10-0.10.1.0/bin/kafka-server-start.sh /usr/local/kafka_2.10-0.10.1.0/config/server19001.properties &> /dev/null &
/bin/bash /usr/local/kafka_2.10-0.10.1.0/bin/kafka-server-start.sh /usr/local/kafka_2.10-0.10.1.0/config/server19002.properties &> /dev/null &
}
case $1 in
stop)
Stop
;;
start)
Start
;;
*)
echo "Usage: `basename $0` {stop|start}"
;;
esac
启动kafka
kafka start
查看kafka端口使用情况
netstat –ntpl
查看kafka
jps
添加一个topic
./bin/kafka-topics.sh --create --zookeeper localhost:2080 --replication-factor 2 --partitions 1 --topic logstash
查看topic
./bin/kafka-topics.sh --list --zookeeper localhost:2080
删除topic
./bin/kafka-topics.sh --delete --zookeeper localhost:2080 --topic logstash
创建生产者
./bin/kafka-console-producer.sh --broker-list localhost:19000 --topic logstash
创建消费者
./bin/kafka-console-consumer.sh --zookeeper localhost:2080 --topic logstash --from-beginning
压力测试:生产测试:参数说明:messages 生产者发送总的消息数量message-size 每条消息大小batch-size 每次批量发送消息的数量topics 生产者发送的topicthreads 生产者使用几个线程同时发送broker-list 安装kafka服务的机器ip:port列表producer-num-retries 一个消息失败发送重试次数request-timeout-ms 一个消息请求发送超时时间旧版:./bin/kafka-producer-perf-test.sh --messages 1000000 --message-size 1000 --batch-size 100 --topic logstash --threads 4 --broker-list 192.168.3.12:19000,192.168.3.12:19001
新版本:bin/kafka-producer-perf-test.sh --num-records 50000 --record-size 5120 --throughput 10000 --topic logstash --producer-props bootstrap.servers=192.168.3.12:19000,192.168.3.12:19001,192.168.3.12:19002 acks=all返回结果解析说明:start.time,end.time,compression,message.size,batch.size,total.data.sent.in.MB,MB.sec,total.data.sent.in.nMsg,nMsg.sec
消费测试:参数说明:zookeeperzk 配置messages 消费者消费消息总数量topic 消费者需要消费的topicthreads 消费者使用几个线程同时消费group 消费者组名称socket-buffer-sizesocket 缓冲大小fetch-size 每次向kafka broker请求消费大小consumer.timeout.ms 消费者去kafka broker拿去一条消息超时时间./kafka-consumer-perf-test.sh --zookeeper 10.138.65.216:2181,10.138.65.217:2181,10.138.65.218:2181 --messages 50000 --topic logstash --threads 2
返回结果解析说明:start.time,end.time,fetch.size,data.consumed.in.MB,MB.sec,data.consumed.in.nMsg,nMsg.sec
- Kafka集群模式部署
- Kafka linux集群部署
- Kafka集群部署
- kafka集群部署
- zookeeper+Kafka集群部署
- Kafka集群部署
- kafka集群部署
- Kafka 集群部署
- Kafka 详解 + 集群部署
- kafka集群部署
- zookeeper+kafka集群部署
- kafka 0.10 集群部署
- Kafka集群搭建02-Kafka 集群部署
- kafka集群管理工具kafka-manager部署安装
- Kafka集群部署及测试
- Kafka分布式集群部署手册
- kafka集群/单节点部署
- Kafka集群搭建01-Zookeeper 集群部署
- C++中DLL种类:WIN32、MFC、ATL及CLR
- 集成微信登录和分享真的很简单
- 机器学习小组知识点8:二项式分布(Binomial distribution)
- 保护文件
- leetcode_278. First Bad Version 寻找第一个坏的版本,二分查找法
- kafka集群部署
- 写给前端er的TCP/IP知识及《图解TCP/IP》读书笔记
- ubuntu flash
- UIImage判断格式以及上传image至服务器
- 网卡驱动之01硬件及协议介绍
- 记录被另一个用户锁住
- 小波的秘密10_小波包的数学支撑
- 第 十一周 项目一 验证算法 (1)
- 设置服务自启动的三种方式