大数据之kafka

1.简介

2.架构

3.安装

主机名hadoop100hadoop101hadoop102
IP192.168.100.100192.168.100.101192.168.100.102
部署服务jdk8jdk8jdk8
部署服务zk Serverzk Serverzk Server
部署服务kafkakafkakafka

解压

tar -zxvf kafka_2.12-2.8.0.tgz -C /opt/software

修改目录名称

cd /opt/software 
mv kafka_2.12-2.8.0 kafka

创建启动配置文件 ps:自己创建或者修改 (vim config/server.properties)

touch /opt/software/kafka/config/kafka.properties

创建数据文件目录

mkdir -p /opt/software/kafka/data
vim  /opt/software/kafka/config/kafka.properties

配置内容

# 当前kafka对外提供服务的端口默认是9092
port=9092
# 每个机器需要对应修改
host.name=hadoop100
# 每个机器需要对应修改 broker的全局唯一编号,不能重复
broker.id=100
# 开启删除 topic 功能,默认为标记删除
delete.topic.enable=true

# 处理网络请求的线程数量
num.network.threads=3
# 用来处理磁盘 IO 的现成数量
num.io.threads=8
# 发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
# 接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
# 请求套接字的缓冲区大小
socket.request.max.bytes=104857600

# kafka 运行日志存放的路径,默认日志路径为 logs,这里和默认日志数据分开存放
log.dirs=/opt/software/kafka/data

# topic 在当前 broker 上的分区个数
num.partitions=1
# 用来恢复和清理 data 下数据的线程数量
num.recovery.threads.per.data.dir=1
# segment 文件保留的最长时间,超时将被删除
log.retention.hours=168

# 配置连接 Zookeeper 集群地址
zookeeper.connect=hadoop100:2181,hadoop101:2181,hadoop102:2181/kafka

分发到另外两台机器,并修改对应host.name和broker.id

scp -r /opt/software/kafka hadoop101:/opt/software/
scp -r /opt/software/kafka hadoop102:/opt/software/

(所有机器)添加环境变量
vim /etc/profile

#KAFKA_HOME
export KAFKA_HOME=/opt/software/kafka
export PATH=$PATH:$KAFKA_HOME/bin

同步环境变量

rsync /etc/profile 

环境变量生效

/opt/script/all.sh  "source /etc/profile "

先确保已经启动zookeeper集群,操作参照zookeeper集群搭建

创建启停脚本
vim /opt/script/kafka.sh

#!/bin/bash
kafka_start(){
for i in hadoop100 hadoop101 hadoop102
do
echo "****************** $i start*********************"  
ssh $i "source /etc/profile && /opt/software/kafka/bin/kafka-server-start.sh -daemon /opt/software/kafka/config/kafka.properties"
done
}
kafka_stop(){
for i in hadoop100 hadoop101 hadoop102
do
echo "========== $i stop==========" 
ssh $i "/opt/software/kafka/bin/kafka-server-stop.sh stop"
done
}
case $1 in 
"start"){ 
kafka_start 
};; 
"stop"){ 
kafka_stop 
};; 
"restart"){ 
kafka_stop 
sleep 1 
kafka_start 
};; 
*){ 
echo "[ERROR-输入参数错误]:请输入start|stop|restart" 
};; 
esac

修改为执行文件

chmod 777 /opt/script/kafka.sh

验证

jps 三台都有kafka进程

4.shell命令

5.java操作zookeeper

6.注意点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值