kafka部署

恩慈1年前技术文章523

安装前准备

修改环境变量

vi /etc/profile

 

export KAFKA_HOME=/opt/kafka

export PATH=$PATH:$KAFKA_HOME/bin

创建用户及用户组

groupadd kafka

useradd -g kafka kafka

格式化磁盘并挂载

1. 格式化磁盘

mkfs.xfs /dev/sd{b,c,d,e,f}

 

2. 创建挂载目录并挂载

mkdir -p /data{1,2,3,4,5}

 

mount /dev/sdb /data1

mount /dev/sdc /data2

mount /dev/sdd /data3

mount /dev/sde /data4

mount /dev/sdf /data5

 

mkdir -p /data{1,2,3,4,5}/kafka

 

3. 写入fstab文件

vi /etc/fatab

/dev/sdb /data{1,2,3,4,5} xfs defaults 0 0

 

安装kafka

1. 上传安装包并解压

tar -zxf kafka_2.12-2.8.2.tgz -C /opt/

ln -s kafka_2.12-2.8.2 /opt/kafka

 

2. 复制目录

scp -rp /opt/kafka_2.12-2.8.2 DPS2-kafka-qas2:/opt

scp -rp /opt/kafka_2.12-2.8.2 DPS2-kafka-qas3:/opt

 

3. 修改权限

mkdir -p /log/kafka

chown -R kafka:kafka /opt/kafka/

for i in {1..5}; do chown -R kafka:kafka /data$i/kafka/;done

chown -R kafka:kafka /log/kafka

 

配置kafka

修改配置文件

vi /opt/kafka/config/server.properties

 

broker.id=0 #每个节点的id不一样

listeners = PLAINTEXT://172.16.xxx.xxx:9092 #IP为每个节点的ip

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=/data1/kafka,/data2/kafka,/data3/kafka,/data4/kafka,/data5/kafka

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

zookeeper.connect=172.16.xxx.xxx:2181,172.16.xxx.xxx:2181,172.16.xxx.xxx:2181/kafka

zookeeper.connection.timeout.ms=18000

group.initial.rebalance.delay.ms=0

修改脚本

vi /opt/kafka/bin/kafka-run-class.sh(208行)

LOG_DIR="$base_dir/logs" 改为LOG_DIR="/log/kafka"

 

启动kafka

1. 切换用户

苏- kafka

 

2. 启动服务

cd /opt/kafka

bin/kafka-server-start.sh -daemon config/server.properties

 


相关文章

Python functools 模块

1、reduce 方法reduce 方法,顾名思义就是减少,map reduce 应用:大数据语法: reduce(function, sequence[, initial]) -> value...

Golang 垃圾回收

Golang 垃圾回收

1、标记清除算法Golang 使用标记清除算法作为垃圾回收器的一部分。标记清除算法是一种常见的垃圾回收算法,它通过标记和清除未被引用的对象来回收内存空间。Golang 中,垃圾回收器会定期扫描堆空间,...

helm部署gitlab

helm部署gitlab

官方文档地址添加gitlab的helm仓库helm repo add gitlab https://charts.gitlab.io/�查看已经安装的helm仓库helm repo list安装git...

Elasticsearch查询慢日志配置

shard级别的查询慢日志会将慢查询(查询和获取阶段)记录到elasticsearch_cluster_index_search_slowlog.log日志中。设置查询慢日志各种级别下的阀值,同时也支...

Linux Firewall规则配置

Linux Firewall规则配置

1、Firewalld是否启动成功systemctl start firewalld && systemctl enable firewalld2、开启规则需求:客户由于网络审查问题。...

离线部署Mysql 8.X

离线部署Mysql 8.X

安装包和环境准备将mysql-8.0.23-el7-x86_64.tar.gz安装包上传至服务器wget https://cdn.mysql.com/archives/mysql-8.0/mysql-...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。