kafka 安装配置
来源:互联网 发布:易采网站数据采集系统 编辑:程序博客网 时间:2024/06/14 03:35
一、Zookeeper的安装与配置
1.安装
解压安装文件到zookeeper
tar -zxf zookeeper-3.4.10.tar.gz
重命名
sudo mv zookeeper-3.4.10 /usr/local/
2. 配置
创建数据目录tmp/data
mkdir -p /var/data/zookeeper/data
sudo chmod 777 /var/data/zookeeper/data
将zoo_sample.cfg复制到zoo.cfg
cp /usr/local/zookeeper-3.4.10/conf/zoo_sample.cfg
/usr/local/zookeeper-3.4.10/conf/zoo.cfg
编辑zookeeper配置文件
sudo nano /usr/local/zookeeper-3.4.10/conf/zoo.cfg
改写dataDir目录位置
dataDir=/var/data/zookeeper/data
修改log目录
dataLogDir=/var/log/zookeeper/logs
告知zookeeper集群信息 2888是zookeeper服务之间通信的端口;3888是zookeeper与其他应用程序通信的端口
server.0=node1:2888:3888
server.1=node2:2888:3888
server.2=node3:2888:3888
3.将安装文件发送到其他节点
//将zookeeper目录发送到node2上
scp -r ~/zookeeper-3.4.10 QCloud@192.168.1.16:/usr/local
//将zookeeper目录发送到node3上
scp -r ~/zookeeper-3.4.10 QCloud@192.168.1.17:/usr/local
在master上运行:
sudo nano /var/zookeeper/data/myid
//输入 0 保存退出
在node2上运行:
sudo nano /var/zookeeper/data/myid
//输入 1 保存退出
在node3上运行:
sudo nano /var/zookeeper/data/myid
//输入 2 保存退出
每台机器都要操作
sudo chmod 757 -R /usr/local/zookeeper-3.4.10
启动zookeeper
每台机器都要启动
cd ~/zookeeper/bin
/usr/local/zookeeper-3.4.10/bin/zkServer.sh start
关闭zookeeper
每台机器都要关闭
cd ~/zookeeper/bin
/usr/local/zookeeper-3.4.10/bin/zkServer.sh stop
验证机器状态
可以通过ZooKeeper的脚本来查看启动状态,包括集群中各个结点的角色(或是Leader,或是Follower),如下所示,是在ZooKeeper集群中的每个结点上查询的结果。
cd ~/zookeeper/bin
/usr/local/zookeeper-3.4.10/bin/zkServer.sh status
注:只有在集群所有机器都启动的情况下才可以查看
ps:记得修改防火墙配置
二、kafka的安装配置
1.安装
sudo tar -zxf kafka_2.10-0.9.0.0.tgz -C /usr/local
2.配置
cd /usr/local/kafka_2.10-0.9.0.0/config
配置生成数据存放目录
sudo mkdir -p /var/log/kafka/logs
修改数据目录的属组和属主
sudo chown -R QCloud:QCloud /usr/local/kafka
sudo nano server.properties
broker.id=0 #当前机器在kafka机器里唯一标识,与zookeeper的myid一个意思,由于我使用独立zookeeper这里可以注释掉
port=9092 #socket监听的端口
host.name=node1#broker绑定的IP,我这里三台机器都绑定了,后面远程复制的时候记得修改
num.network.threads=3 #broker处理网络的线程数目
num.io.threads=8 #broker处理IO的线程数目
socket.send.buffer.bytes=102400#kafka发送数据缓冲区的大小,到达阈值才发送
socket.receive.buffer.bytes=102400#kafka接收数据缓冲区的大小,达到阈值才落地
socket.request.max.bytes=104857600#kafka所能接受的数据最大值,100MB,这个值应该小于机器配置的Java heap,一般Java heap为内存的1/4
log.dirs=/var/log/kafka/logs#存储消息的目录位置
num.partitions=1#每个主题的默认分区数目,更多的分区可以允许更多的消费,可以提高性能
num.recovery.threads.per.data.dir#在kafka启动和关闭flush时,还原日志时,对于每个数据目录所能使用的线程数目
log.flush.interval.message=10000#当消息达到10000条时就会强制刷一次数据到磁盘
log.flush.interval.ms=1000 #每过1秒就会强制刷数据到磁盘,单位毫秒
log.retention.hours=16#消息最大持久化时间,单位小时,即7天
log.retention.bytes=1073741824#一种持久化策略,当剩余段文件不低于这个阈值,当前段就会从日志消息中删除
log.segment.bytes=1073741824#一个段文件的最大值,达到最大值会另起一个新的segment
log.retention.check.interval.ms=300000#每300秒去检验一下段文件是否能被删除
zookeeper.connect=192.168.1.15:2181,192.168.1.16:2181,192.168.1.17:2181 #设置zookeeper的端口
zookeeper.connect.timeout.ms=6000 #连接zookeeper的超时时间
ps:其他节点只需要修改hostname即可
- 测试
先启动zookeeper
/usr/local/zookeeper-3.4.10/bin/zkServer.sh start
各个节点启动kafka
./kafka-server-start.sh -daemon ../config/server.properties
关闭kafka集群
./kafka-server-stop.sh
创建一个Topic实例:
./kafka-topics.sh –create –zookeeper 192.168.1.15:2181 –replication-factor 3 –partitions 1 –topic hello
在一台机器上创建一个发布者
./kafka-console-producer.sh –broker-list 192.168.1.16:9092 –topic hello
在一台机器上创建一个订阅者
./kafka-console-consumer.sh –zookeeper 192.168.1.17:2181 –topic hello –from-beginning
至此搭建完毕
- kafka配置优化
配置优化都是修改server.properties文件中参数值
1.网络和io操作线程配置优化
broker处理消息的最大线程数
num.network.threads=xxx
broker处理磁盘IO的线程数
num.io.threads=xxx
建议配置: 一般num.network.threads主要处理网络io,读写缓冲区数据,基本没有io等待,配置线程数量为cpu核数加1.
num.io.threads主要进行磁盘io操作,高峰期可能有些io等待,因此配置需要大些。配置线程数量为cpu核数2倍,最大不超过3倍.
2.log数据文件刷新策略
为了大幅度提高producer写入吞吐量,需要定期批量写文件。 建议配置:
每当producer写入10000条消息时,刷数据到磁盘
log.flush.interval.messages=10000
每间隔1秒钟时间,刷数据到磁盘
log.flush.interval.ms=1000
3.日志保留策略配置
当kafka server的被写入海量消息后,会生成很多数据文件,且占用大量磁盘空间,如果不及时清理,可能磁盘空间不够用,kafka默认是保留7天。
建议配置:
保留三天,也可以更短
log.retention.hours=72
段文件配置1GB,有利于快速回收磁盘空间,重启kafka加载也会加快(如果文件过小,则文件数量比较多,
kafka启动时是单线程扫描目录(log.dir)下所有数据文件)
log.segment.bytes=1073741824
4.配置jmx服务
kafka server中默认是不启动jmx端口的,需要用户自己配置
vim bin/kafka-run-class.sh
最前面添加一行
JMX_PORT=8060
- Kafka 安装配置
- kafka安装配置简介
- kafka安装配置
- Apache Kafka安装配置
- Kafka安装与配置
- 安装配置kafka集群
- kafka集群安装、配置
- 安装配置Kafka
- kafka集群安装配置
- Kafka安装配置测试
- Kafka 安装配置
- Kafka安装配置、常用命令
- Linux安装配置Kafka
- kafka安装配置
- kafka安装配置
- Kafka安装配置测试
- kafka配置以及安装
- kafka安装与配置
- USACO邮票丑数题解
- 基本神经网络架构参数
- R语言-编写自定义函数
- spark中RDD的转化操作和行动操作
- javascript中this和super用法
- kafka 安装配置
- Linux下 GCC编译总结
- Android初中高级开发工程师面试复习点
- 广度/宽度优先搜索(BFS)
- 设计模式之模板方法模式
- Tar打包、压缩与解压缩到指定目录的方法
- iOS 关于取消延迟执行函数 performSelector与cancelPreviousPerformRequestsWithTarget
- 插入排序
- Java入门基础之【修饰符】6