kafka+zookeeper集群搭建

kafka+zookeeper集群搭建

规划

服务 ip 端口 配置
kafka+zookeeper 192.168.138.151 2181/9092/2888/3888 2CPU、2G内存
kafka+zookeeper 192.168.138.152 2181/9092/2888/3888 2CPU、2G内存
kafka+zookeeper 192.168.138.153 2181/9092/2888/3888 2CPU、2G内存

开启端口,关闭selinux

sh 复制代码
firewall-cmd --zone=public --add-port=2181/tcp --permanent
firewall-cmd --zone=public --add-port=9092/tcp --permanent
firewall-cmd --zone=public --add-port=2888/tcp --permanent
firewall-cmd --zone=public --add-port=3888/tcp --permanent
firewall-cmd --reload
set -i '/^SELINUX/s/enforcing/disabled/g' /etc/selinux/config
setenforce 0

安装jdk

  1. 上传jdk-8u172-linux-x64.tar.gz到/root目录下并解压
sh 复制代码
tar -xzvf jdk-8u172-linux-x64.tar.gz
sudo mv jdk1.8.0_172/ /usr/local/java
  1. 配置环境变量,在末行加入

    vi /etc/profile

    sh 复制代码
    export JAVA_HOME=/usr/local/java
    export PATH=$PATH:$JAVA_HOME/bin
  2. 让环境变量生效

    sh 复制代码
    source /etc/profile
  3. 查看java 版本

    sh 复制代码
    java -version

zookeeper安装

  1. 所有机器都执行,下载apache-zookeeper-3.7.2-bin.tar.gz并上传到服务器,解压

    sh 复制代码
    tar -xzvf apache-zookeeper-3.7.2-bin.tar.gz
    mv apache-zookeeper-3.7.2-bin /usr/local/zookeeper
  2. 创建配置文件

    sh 复制代码
    cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg
  3. 修改/usr/local/zookeeper/conf/zoo.cfg文件(默认的zookeeper配置文件)

    vim /usr/local/zookeeper/conf/zoo.cfg

    sh 复制代码
    dataDir=/usr/local/zookeeper/data #数据存放目录,需要创建
    dataLogDir=/usr/local/zookeeper/logs #日志存放目录,需要创建
    #集群信息,需要新增。
    server.1=192.168.138.151:2888:3888 #2888:节点间传送数据的端口,3888:选举节时的通信端口
    server.2=192.168.138.152:2888:3888
    server.3=192.168.138.153:2888:3888
  4. 在所有节点的数据存储目录中增加一个名为myid的文件,用于标识节点ID。

    sh 复制代码
    echo 1 > /usr/local/zookeeper/data/myid #151上执行数字为节点编号,与配置文件中的server.1中的数字对应
    echo 2 > /usr/local/zookeeper/data/myid #152上执行数字为节点编号,与配置文件中的server.2中的数字对应
    echo 3 > /usr/local/zookeeper/data/myid #153上执行数字为节点编号,与配置文件中的server.3中的数字对应

kafka安装

  1. 下载kafka_2.12-3.6.2.tgz并上传解压

    sh 复制代码
    tar -xvf kafka_2.12-3.6.2.tgz 
    mv kafka_2.12-3.6.2 /usr/local/kafka
  2. 修改配置文件: vim /usr/local/kafka/config/server.properties

    sh 复制代码
    broker.id=1 #节点编号,kafka集群中唯一,每个节点都不一样,152和153上需要修改
    listeners=PLAINTEXT://192.168.138.151:9092 #改为本机IP+端口,152和153上需要修改
    log.dirs=/usr/local/kafka/logs #日志文件目录,目录需要创建
    zookeeper.connect=192.168.138.151:2181,192.168.138.152:2181,192.168.138.153:2181

启动集群

  1. 启动zookeeper。
sh 复制代码
/usr/local/zookeeper/bin/zkServer.sh start 
/usr/local/zookeeper/bin/zkServer.sh status #状态查看
  1. 启动kafka。

    sh 复制代码
    /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties

测试集群

  1. 创建主题。
sh 复制代码
/usr/local/kafka/bin/kafka-topics.sh --bootstrap-server 192.168.138.151:9092 --create --replication-factor 2 --partitions 3 --topic test-topic #创建主题,--replicationfactor:副本数量,--partitions:分区数量,--topic:主题名称
  1. 发送消息。
sh 复制代码
/usr/local/kafka/bin/kafka-console-producer.sh --broker-list 192.168.138.151:9092,192.168.138.152:9092,192.168.138.153:9092 --topic test-topic
  1. 接收消息。
sh 复制代码
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.138.151:9092,192.168.138.152:9092,192.168.138.153:9092 --topic test-topic
--from-beginning
相关推荐
zl_dfq11 分钟前
Linux 之 【进程信号】(signal、kill、raise、abort、alarm、Core Dump核心转储机制)
linux
Ankie Wan25 分钟前
cgroup(Control Group)是 Linux 内核提供的一种机制,用来“控制、限制、隔离、统计”进程对系统资源的使用。
linux·容器·cgroup·lxc
skywalk816339 分钟前
尝试在openi启智社区的dcu环境安装ollama最新版0.15.2(失败)
linux·运维·服务器·ollama
不光头强1 小时前
kafka学习要点
分布式·学习·kafka
编程彩机1 小时前
互联网大厂Java面试:从分布式缓存到消息队列的技术场景解析
java·redis·面试·kafka·消息队列·微服务架构·分布式缓存
zhengfei6111 小时前
AutoPentestX – Linux 自动化渗透测试和漏洞报告工具
linux·运维·自动化
我材不敲代码1 小时前
在Linux系统上安装MySQL
linux·运维·服务器
yuezhilangniao2 小时前
阿里云服务器Alibaba Cloud Linux 3 安装Python3.11简明指南
linux·运维·python3.11
AC赳赳老秦2 小时前
外文文献精读:DeepSeek翻译并解析顶会论文核心技术要点
前端·flutter·zookeeper·自动化·rabbitmq·prometheus·deepseek
程序 代码狂人2 小时前
CentOS7初始化配置操作
linux·运维·开发语言·php