首页 > 其他分享 >kafka集群环境部署记录

kafka集群环境部署记录

时间:2024-03-18 14:45:59浏览次数:17  
标签:src zk 部署 root kafka 集群 kafka01 data

kafka集群环境部署记录
ip地址            主机名          安装软件
192.168.248.134    kafka01         zookeeper、kafka
192.168.248.135    kafka02         zookeeper、kafka
192.168.248.136    kafka03         zookeeper、kafka
192.168.248.139    kafka-manager   kafka-manager


4台机器关闭iptables和selinux
[root@kafka01 ~]# /etc/init.d/iptables stop
[root@kafka01 ~]# vim /etc/sysconfig/selinux
......
SELINUX=disabled
[root@kafka01 ~]# setenforce 0
[root@kafka01 ~]# getenforce
Permissive
  
4台机器做hosts绑定
[root@kafka01 ~]# vim /etc/hosts
......
192.168.248.134    kafka01   
192.168.248.135    kafka02
192.168.248.136    kafka03
192.168.248.139    kafka-manager


jdk安装(四台机器都要操作,安装1.7以上版本)
安装及配置kafka(192.168.248.134、192.168.248.135 、192.168.248.136三台机器如下同样操作)

1)安装三个节点的zookeeper
[root@kafka01 ~]# cd /usr/local/src/
[root@kafka01 src]# wget http://apache.forsale.plus/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
[root@kafka01 src]# tar -zvxf zookeeper-3.4.10.tar.gz
[root@kafka01 src]# mkdir /data
[root@kafka01 src]# mv zookeeper-3.4.10 /data/zk
 
修改三个节点的zookeeper的配置文件,内容如下所示:
[root@kafka01 src]# mkdir -p /data/zk/data
[root@kafka01 src]# cp /data/zk/conf/zoo_sample.cfg /data/zk/conf/zoo_sample.cfg.bak
[root@kafka01 src]# cp /data/zk/conf/zoo_sample.cfg /data/zk/conf/zoo.cfg
[root@kafka01 src]# vim /data/zk/conf/zoo.cfg           #清空之前的内容,配置成下面内容
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zk/data/zookeeper
dataLogDir=/data/zk/data/logs
clientPort=2181
maxClientCnxns=60
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
server.1=192.168.248.134:2888:3888
server.2=192.168.248.135:2888:3888
server.3=192.168.248.136:2888:3888
 
===============
配置参数说明:
server.id=host:port:port:表示了不同的zookeeper服务器的自身标识,作为集群的一部分,每一台服务器应该知道其他服务器的信息。
用户可以从"server.id=host:port:port" 中读取到相关信息。
在服务器的data(dataDir参数所指定的目录)下创建一个文件名为myid的文件,这个文件的内容只有一行,指定的是自身的id值。
比如,服务器"1"应该在myid文件中写入"1"。这个id必须在集群环境中服务器标识中是唯一的,且大小在1~255之间。
这一样配置中,zoo1代表第一台服务器的IP地址。第一个端口号(port)是从follower连接到leader机器的端口,第二个端口是用来进行leader选举时所用的端口。
所以,在集群配置过程中有三个非常重要的端口:clientPort=2181、port:2888、port:3888。
===============
 
注意:如果想更换日志输出位置,除了在zoo.cfg加入"dataLogDir=/data/zk/data/logs"外,还需要修改zkServer.sh文件,大概修改方式地方在
125行左右,内容如下:
[root@kafka01 src]# cp /data/zk/bin/zkServer.sh /data/zk/bin/zkServer.sh.bak
[root@kafka01 src]# vim /data/zk/bin/zkServer.sh
.......
125 ZOO_LOG_DIR="$($GREP "^[[:space:]]*dataLogDir" "$ZOOCFG" | sed -e 's/.*=//')"     #添加这一行
126 if [ ! -w "$ZOO_LOG_DIR" ] ; then
127 mkdir -p "$ZOO_LOG_DIR"
128 fi
 
[root@kafka01 src]# diff /data/zk/bin/zkServer.sh /data/zk/bin/zkServer.sh.bak
125d124
< ZOO_LOG_DIR="$($GREP "^[[:space:]]*dataLogDir" "$ZOOCFG" | sed -e 's/.*=//')"
 
在启动zookeeper服务之前,还需要分别在三个zookeeper节点机器上创建myid,方式如下:
[root@kafka01 src]# mkdir /data/zk/data/zookeeper/
[root@kafka01 src]# echo 1 >  /data/zk/data/zookeeper/myid
 
=================================================================
另外两个节点的myid分别为2、3(注意这三个节点机器的myid决不能一样,配置文件等其他都是一样配置)
[root@kafka02 src]# mkdir /data/zk/data/zookeeper
[root@kafka02 src]# echo 2 >  /data/zk/data/zookeeper/myid
 
[root@kafka03 src]# mkdir /data/zk/data/zookeeper
[root@kafka03 src]# echo 3 >  /data/zk/data/zookeeper/myid
=================================================================
 
启动三个节点的zookeeper服务
[root@kafka01 src]# /data/zk/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /data/zk/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@kafka01 src]# ps -ef|grep zookeeper
root     25512     1  0 11:49 pts/0    00:00:00 /usr/java/jdk1.8.0_131/bin/java -Dzookeeper.log.dir=/data/zk/data/logs -Dzookeeper.root.logger=INFO,CONSOLE -cp /data/zk/bin/../build/classes:/data/zk/bin/../build/lib/*.jar:/data/zk/bin/../lib/slf4j-log4j12-1.6.1.jar:/data/zk/bin/../lib/slf4j-api-1.6.1.jar:/data/zk/bin/../lib/netty-3.10.5.Final.jar:/data/zk/bin/../lib/log4j-1.2.16.jar:/data/zk/bin/../lib/jline-0.9.94.jar:/data/zk/bin/../zookeeper-3.4.10.jar:/data/zk/bin/../src/java/lib/*.jar:/data/zk/bin/../conf:.:/lib/dt.jar:/lib/tools.jar -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false org.apache.zookeeper.server.quorum.QuorumPeerMain /data/zk/bin/../conf/zoo.cfg
root     25555 24445  0 11:51 pts/0    00:00:00 grep zookeeper
[root@kafka01 src]# lsof -i:2181
COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
java    25512 root   23u  IPv6 8293793      0t0  TCP *:eforward (LISTEN)
 
查看三个节点的zookeeper角色
[root@kafka01 src]# /data/zk/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /data/zk/bin/../conf/zoo.cfg
Mode: follower
 
[root@kafka02 src]# /data/zk/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /data/zk/bin/../conf/zoo.cfg
Mode: leader
 
[root@kafka03 src]# /data/zk/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /data/zk/bin/../conf/zoo.cfg
Mode: follower
 
—————————————————————————————————————————————————————————————————————————————————————————————
2)安装kafka(三个节点同样操作)
下载地址:http://kafka.apache.org/downloads.html
[root@kafka01 ~]# cd /usr/local/src/
[root@kafka01 src]# wget http://mirrors.shu.edu.cn/apache/kafka/1.1.0/kafka_2.11-1.1.0.tgz
[root@kafka01 src]# tar -zvxf kafka_2.11-1.1.0.tgz
[root@kafka01 src]# mv kafka_2.11-1.1.0 /data/kafka
 
进入kafka下面的config目录,修改配置文件server.properties:
[root@kafka01 src]# cp /data/kafka/config/server.properties /data/kafka/config/server.properties.bak
[root@kafka01 src]# vim /data/kafka/config/server.properties
broker.id=0
delete.topic.enable=true
listeners=PLAINTEXT://192.168.248.134:9092
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=/data/kafka/data
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.flush.interval.messages=10000
log.flush.interval.ms=1000
log.retention.hours=168
log.retention.bytes=1073741824
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=192.168.248.134:2181,192.168.248.135:2181,192.168.248.136:2181
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
 
其他两个节点的server.properties只需要修改下面两行,其他配置都一样
[root@kafka02 src]# vim /data/kafka/config/server.properties
[root@kafka02 src]# cat /data/kafka/config/server.properties
broker.id=1
......
listeners=PLAINTEXT://192.168.10.203:9092
.......
 
[root@kafka03 src]# vim /data/kafka/config/server.properties
[root@kafka03 src]# cat /data/kafka/config/server.properties
broker.id=2
......
listeners=PLAINTEXT://192.168.10.205:9092
......
 
启动三个节点的kafka服务
[root@kafka01 src]# nohup /data/kafka/bin/kafka-server-start.sh /data/kafka/config/server.properties >/dev/null 2>&1 &
[root@kafka01 src]# lsof -i:9092
COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
java    26114 root   97u  IPv6 8298666      0t0  TCP kafka01:XmlIpcRegSvc (LISTEN)
java    26114 root  113u  IPv6 8298672      0t0  TCP kafka01:53112->kafka01:XmlIpcRegSvc (ESTABLISHED)
java    26114 root  114u  IPv6 8298673      0t0  TCP kafka01:XmlIpcRegSvc->kafka01:53112 (ESTABLISHED)
 
验证服务
随便在其中一台节点主机执行
[root@kafka01 src]# /data/kafka/bin/kafka-topics.sh --create --zookeeper 192.168.248.134:2181,192.168.248.135:2181,192.168.248.136:2181 --replication-factor 1 --partitions 1 --topic test
出现下面信息说明创建成功
Created topic "test".
 
然后再在其他主机查看上面创建的topic
[root@kafka02 src]# /data/kafka/bin/kafka-topics.sh --list --zookeeper 192.168.248.134:2181,192.168.248.135:2181,192.168.248.136:2181
test
 
到此,kafka集群环境已部署完成!

标签:src,zk,部署,root,kafka,集群,kafka01,data
From: https://www.cnblogs.com/sddll/p/18080349

相关文章

  • 【IT老齐048】Kafka高性能原因
    【IT老齐048】Kafka高性能磁盘顺序读写定期批量删除指定数据页缓存Kafka避免使用JVM,直接使用操作系统的页缓存特性提高处理速度,进而避免了JVMGC带来的性能损耗。Kafka采用字节紧密存储,避免产生对象,这样可以进一步提高空间利用率零拷贝批量操作......
  • 云原生最佳实践系列 1:如何快速实现kafka性能压测
    消息队列Kafka版实例类型的性能表现除了跟实例本身的规格相关外,与创建实例时选择的云盘类型也强相关,本实验通过相同规格的实例,不同的云盘类型来验证该因素的影响。消息队列KafkaServerless版本身实例未提供具体的云盘类型来选择,其性能表现只与购买实例时预留的写入、读取的......
  • 在Tomcat下部署若依框架前后端分离SpringBoot+Vue3项目
     一、后端打包在ruoyi项目的bin目录下执行package.bat打包Web工程,生成war/jar包文件。然后会在项目下生成target文件夹包含war或jar1.jar包使用命令行执行:java–jarruoyi-admin.jar或者执行脚本:ruoyi/bin/run.bat注意事项【jar包部署,需要使用nginx代理,前端项目中的代理仅......
  • HDFS辅助工具-跨集群复制数据工具distcp
    HDFS辅助工具-跨集群复制数据工具distcp概述DistCp是Hadoop中的一种工具,在hadoop-tools工程下,作为独立子工程存在。定位用于数据迁移,定期在集群之间和集群内部备份数据在备份过程中,每次运行DistCP都称为一个备份周期。尽管性能相对较慢,但它的普及程度越来越高DistCp底层使用......
  • 实践部署java
    1.查看运行端口,看看有没有被占用ps-ef|grepjavaps-ef看一下全进程信息,grepjava过滤出带有java字样的 2.存在进程,先把进程杀掉kill-9端口号 3.执行.sh部署脚本.sh里面内容是nohupjava17-Xmx600m-jarxl-tests-mini-server-1.0-SNAPSHOT.jar--debug>./mini.......
  • BcLinux-Redis-集群(cluster)模式安装配置
    IP:192.168.0.28081、8082IP:192.168.0.3 8081、8082IP:192.168.0.4 8081、80821、三个节点同样操作[root@server-1setup]#yuminstalltcl或者:wgethttp://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gztarxzvftcl8.6.1-src.tar.gz-C/home/local/cd/home/loc......
  • 上位机图像处理和嵌入式模块部署(qmacvisual脚本编辑)
    【 声明:版权所有,欢迎转载,请勿用于商业用途。联系信箱:[email protected]】    个人认为qmacvisual软件中,另外一个鲜明的特色,就是它本身支持javascript脚本编写,虽然是利用qtscriptengine完成的。这个脚本编写,让fae或者说现场部署的同学一下子有了配置插件、调整......
  • 手把手教使用静默 搭建Oracle 19c 一主一备ADG集群
    一、环境搭建主机IPora19192.168.134.239ora19std192.168.134.2401.配置yum源1.配置网络yum源1.删除redhat7.0系统自带的yum软件包;rpm-qa|grepyum>oldyum.pkg备份原信息rpm-qa|grepyum|xargsrpm-e--nodeps不检查依赖,直接删除rpm包2.自行下载所需要的软......
  • Kubernetes 新手实战指南 - 多节点集群部署
    简介Kubernetes是一个用于管理容器化应用程序的开源平台。它提供了一种声明式的方式来部署、管理和扩展应用程序,同时确保高可用性和可扩展性。在本文中,我们将逐步指导您设置一个Kubernetes多节点集群,即使您是Kubernetes的新手。先决条件至少三台具有root权限的Li......
  • 本地部署 Langchain-Chatchat & ChatGLM
     一、模型&环境介绍#1.ChatGLM#github地址:https://github.com/THUDM模型地址:https://huggingface.co/THUDM2.m3e#模型地址:https://huggingface.co/moka-ai/m3e-base/3.text2vec#模型地址:https://huggingface.co/GanymedeNil/text2vec-large-chinese/4.Lang......