kafka部署

恩慈1年前技术文章463

安装前准备

修改环境变量

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

 


相关文章

大数据集群二次开发及调优使用指导(三)-Hive

大数据集群二次开发及调优使用指导(三)-Hive

1.   业务调优:Hive业务的业务主要以批量处理作业为主,批处理主要特点是耗时时间长,消耗的资源比较多,主要的调优和设计推荐如下:1.   &nb...

gitlab的部署

gitlab的部署

一、GitLab简介GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的...

使用Sqoop将数据从Hive导入MySQL(一)

使用Sqoop将数据从Hive导入MySQL(一)

使用Sqoop将数据从Hive导入MySQL首先查看csv数据类型创建类似的hive表并导入数据CREATE TABLE data (    province STRING,    code INT,...

ES运维(二)字段类型与内存管理

ES运维(二)字段类型与内存管理

一、ES常见字段类型1、 概述字段是数据存储的最小微粒,根据数据的性质不同将数据分成不同的字段类型,熟悉不同字段类型的特性,对索引的Mapping设计、查询调优都极其重要。2、 关键参数In...

greenplum安装配置

一、配置服务器安装环境1、修改服务器内核参数(所有节点)编辑sysctl.conf,需要设置共享内存Greenplum数据库使用共享内存在属于同一postgres实例的postgres进程之间进行通信...

Elasticsearch数据生命周期如何规划

Elasticsearch中的open状态的索引都会占用堆内存来存储倒排索引,过多的索引会导致集群整体内存使用率多大,甚至引起内存溢出。所以需要根据自身业务管理历史数据的生命周期,如近3个月的数据op...

发表评论    

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