kafka 安装(非CDH)
大数据组件安装(非CDH) 总文章
1.安装准备
1.安装jdk、安装zookeeper
2.安装目录
数据目录:mkdir -p /root/kafkaData
日志目录:mkdir -p /root/kafkaLogs
3.tar -zxvf kafka_2.11-1.0.0.tgz -C
4.mv kafka_2.11-1.0.0 kafka
5.启动zookeeper 都必须执行 时间同步命令:ntpdate ntp6.aliyun.com
kafka安装前,最好配置一下定时脚本(时间同步):
crontab -e
*/1 * * * * /usr/sbin/ntpdate cn.pool.ntp.org;
2.修改配置文件
vim /root/kafka/config/server.properties 修改三个地方
1.borker中间者的id(唯一标识符id 标识 kafka集群中的 每一台kafka服务器)
# broker.id 标识了“kafka集群中一个kafka服务器中的”唯一的broker。
broker.id=0
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
2.数据存放的目录,注意目录如果不存在,需要新建下。
# 存放生产者生产的数据 数据一般以topic的方式存放
# 创建一个数据存放目录,可以使用 mkdir -p 先创建出来
log.dirs=/root/kafkaData
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
3.zookeeper的地址信息
# zk的信息
zookeeper.connect=NODE1:2181,NODE2:2181,NODE3:2181
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
3.分发配置文件到NODE2和NODE3
scp -r /root/kafka NODE2:/root
scp -r /root/kafka NODE3:/root
4.分别修改NODE2、NODE3上的broker.id,并且在每个linux下创建数据存放目录
1.vi /root/kafka/config/server.properties
# borker中间者的id(唯一标识符id 标识 kafka集群中的 每一台kafka服务器)
# broker.id 标识了“kafka集群中一个kafka服务器中的”唯一的broker。
broker.id=数字
修改如下:
NODE2:broker.id=1
NODE3:broker.id=2
2.每个linux下创建数据存放目录:mkdir -p /root/kafkaData
5.每台机器都启动zookeeper(启动zookeeper 都必须执行 时间同步命令:ntpdate ntp6.aliyun.com)
cd /root/zookeeper/bin/
zkServer.sh start
查看集群状态、主从信息:
1.cd /root/zookeeper/bin/
2../zkServer.sh status # 查看状态:一个leader,两个follower
3.“follower跟随者”的打印结果:
JMX enabled by default
Using config: /root/zookeeper/bin/../conf/zoo.cfg
Mode: follower
4.“leader领导者”的打印结果:
JMX enabled by default
Using config: /root/zookeeper/bin/../conf/zoo.cfg
Mode: leader
6.配置环境变量
1.vim /etc/profile 配置kafka路径
export KAFKA_HOME=/root/kafka
export PATH=$PATH:$KAFKA_HOME/bin
2.分发配置文件到NODE2和NODE3
scp -r /etc/profile NODE2:/etc
scp -r /etc/profile NODE3:/etc
3.source /etc/profile
7.每台机器都启动kafka进行kafka集群
cd /root/kafka/bin
chmod 777 kafka-server-start.sh
chmod 777 /root/kafka/bin/kafka-run-class.sh
./kafka-server-start.sh /root/kafka/config/server.properties
8.Kafka集群一键启动脚本、一键关闭脚本
一键启动:cd /root/kafkaSH
chmod 777 startkafka.sh
./startkafka.sh
一键关闭:cd /root/kafkaSH
chmod 777 stopkafka.sh
./stopkafka.sh
1.首先需要创建一个slave文件中配置集群中的各个主机名,用于给一键启动脚本读取该文件中的集群中的各个主机名
注意:此处要在第四行给一个空行,那么脚本才能顺利加载到第三行信息
NODE1
NODE2
NODE3
2.一键启动脚本startkafka.sh
cat /root/kafkaSH/slave | while read line
do
{
echo $line
ssh $line "source /etc/profile;nohup kafka-server-start.sh /root/kafka/config/server.properties >/dev/null 2>&1 &"
}&
wait
done
3.一键关闭脚本stopkafka.sh
cat /root/kafkaSH/slave | while read line
do
{
echo $line
ssh $line "source /etc/profile;jps |grep Kafka |cut -c 1-4 |xargs kill -s 9 "
}&
wait
done
4.每个linux执行jps命令查看,表示成功启动
9.查看Kafka集群信息工具:ZooInspector
由于kafka集群并没有UI界面可以查看。需要借助外部工具ZooInspector,来查看kafka集群。这个工具是一个java程序ZooInspector,必须要安装好JDK。
10.kafkaManager监控工具的安装与使用
1.yum install unzip
unzip kafka-manager-1.3.3.7.zip
mv kafka-manager-1.3.3.7 kafka-manager
2.修改application.conf配置里面的zk连接地址:
vim /root/kafka-manager/conf/application.conf:kafka-manager.zkhosts="NODE1:2181,NODE2:2181,NODE3:2181"
3.nohup 后台启动kafkaManager
cd /root/kafka-manager/bin
nohup ./kafka-manager -Dconfig.file=/root/kafka-manager/conf/application.conf -Dhttp.port=8070 >/dev/null 2>&1 &
4.jps命令查看是否启动成功
5.webUI页面访问:192.168.25.100:8070