kafka部署

恩慈4个月前技术文章115

安装前准备

修改环境变量

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

 


相关文章

pg_restore

逻辑备份恢复PG提供了pg_restore的命令可以为通过pg_dump转储的数据进行逻辑恢复。对于SQL脚本可通过psql进行恢复语法pg_restore [connection_option] [...

卸载mysql

1、查看安装的mysql,并停止mysqlps -ef|grep mysql #停止mysql  kill -9 pid2、卸载mysql安装包二进制安装的没有安装包 #查看安装的mysql...

Redis 源码安装

Redis 源码安装

1. 下载安装包Linux 中常用两种安装方法,第一种是通过操作系统软件管理软件来安装,例如 CentOS 中的 yum Ubuntu 中的 apt。由于 Redis 更新比较快,而这些软件也不一定更...

MySQL 初始化推荐关注的参数

MySQL 初始化推荐关注的参数

前言新部署的 MySQL 实例如何配置?本 SOP 将提供一些 MySQL 关键参数及设置方法。必须设置的参数1. innodb_buffer_pool_size对于 innodb 表引擎来说,用户数...

kubernetes调度策略

1、背景在 Kubernetes 中,调度 (scheduling) 指的是确保 Pod 匹配到合适的节点,以便 kubelet 能够运行它们。调度的工作由调度器和控制器协调完成。调度器通过 Kube...

dolphinscheduler部署-FAQ

dolphinscheduler部署-FAQ

如果是cdh集群会遇到一个问题5678端口被占用这是因为cdh的agent用了5678那我们改下配置文件文件:/opt/apache-dolphinscheduler-3.1.8-bin/st...

发表评论    

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