【3】Kafka安装及部署
2024-09-05 07:19:55
一、环境准备
- Linux操作系统
- Java运行环境(1.6或以上)
- zookeeper 集群环境,可参照Zookeeper集群部署 。
- 服务器列表:
配置主机名映射。
vi /etc/hosts
##添加如下内容
168.5.7.75 server1
168.5.7.76 server2
168.5.7.77 server3
二、kafka集群部署及启动
2.1、介质准备
分别登录server1、server2、server3执行,操作、配置相同:
##更新或安装wget命令
yum -y install wget
##创建安装目录
mkdir -p /usr/local/services/kafka
##获取安装包kafka_2.11-2.3.0.tgz
wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.3.0/kafka_2.11-2.3.0.tgz
##解压缩kafka_2.11-2.3.0.tgz
tar -zxvf kafka_2.11-2.3.0.tgz
2.2、配置环境变量
分别登录server1、server2、server3执行,操作、配置相同:
export KAFKA_HOME=/usr/local/services/kafka/kafka_2.11-2.3.0
export PATH=$PATH:$KAFKA_HOME/bin
source /etc/profile
说明:再任一路径下输入 kafka 按 Tab 键后会补全 Kafka 相关脚本.sh,即Kafka 环境变量配置成功。 因 Kafka 脚本运行时会加载 /config 路径下的相关配置文件,故当不在 Kafka 安装目录 bin 下执行相关脚本时, 需要指定配置文件绝对路径。
2.3、修改配置文件
登录server1执行操作:
cd $KAFKA_HOME/config
cp server.properties server.properties.$(date +%Y%m%d)
vi server.properties
##修改文件内配置如下
broker.id=1
log.dirs=/opt/data/kafka-logs
port=9093
zookeeper.connect=server1:2181,server2:2181,server3:2181
登录server2执行操作:
cd $KAFKA_HOME/config
cp server.properties server.properties.$(date +%Y%m%d)
vi server.properties
##修改文件内配置如下
broker.id=2
log.dirs=/opt/data/kafka-logs
port=9093
zookeeper.connect=server1:2181,server2:2181,server3:2181
登录server3执行操作:
cd $KAFKA_HOME/config
cp server.properties server.properties.$(date +%Y%m%d)
vi server.properties
##修改文件内配置如下
broker.id=3
log.dirs=/opt/data/kafka-logs
port=9093
zookeeper.connect=server1:2181,server2:2181,server3:2181
说明:broker.id 用于指定代理的 id,需保证同一个集群下 broker.id 要唯一;log.dirs 指定日志存储路径。
2.4、启动服务
分别登录server1、server2、server3执行,操作、配置相同:
cd $KAFKA_HOME/bin
## -daemon :守护进程方式启动
kafka-server-start.sh -daemon ../config/server.properties
连接测试
#登录 ZooKeeper
cd /usr/local/services/zookeeper/zookeeper-3.4.13/bin
./zkCli.sh -server server1:2181
ls /
日志查看
##查看 KafkaServer 启动 日志
cat $KAFKA_HOME/logs/server.log
参考资料
参考书籍:Kafka入门与实践
DeepInThought
出处:
https://www.cnblogs.com/DeepInThought
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
最新文章
- October 27th Week 44th Thursday 2016
- Android 4.2版本以下使用WebView组件addJavascriptInterface方法存在JS漏洞
- swiper 内容超出纵向滚动 解决办法
- uc_client是如何与UCenter进行通信的
- Scala - Spark Lambda“goesto“ =>; 分析
- Java生产者和消费者问题
- C# 如何通过拼接XML调用存储过程来优化系统性能
- UDP广域网,局域网通信-原理分析,穿透技术
- Java异常的分类
- QTP自传之初识
- linux .o,.a,.so文件解析
- 配置Samba服务
- [置顶] ※数据结构※→☆非线性结构(tree)☆============树结点 链式存储结构(tree node list)(十四)
- rem vh vw vmin vmax ex ch
- Brackets - 强大免费的开源跨平台Web前端开发工具IDE (HTML/CSS/Javascript代码编辑器)
- hdu 3829 Cat VS Dog 二分匹配 最大独立点集
- Python3 randrange() 函数
- WPF C# 命令的运行机制
- sql语句基础
- mysql中的concat函数,concat_ws函数,concat_group函数之间的区别
热门文章
- CockroachDB学习笔记——[译]如何优化Go语言中的垃圾回收
- 【AMAD】django-channels -- 为Django带来异步开发
- awk工具的基本用法
- YUV RGB 格式转换
- 【ARM-Linux开发】"libxml/parser.h: 没有那个文件或目录"解决方案
- U盘自动复制文件
- 关于keepalived执行后日志狂刷IPVS: Can't initialize ipvs: Protocol not available的问题
- centos7.4安装图形界面及报错处理
- 【AtCoder】AGC002
- 【LOJ】#3103. 「JSOI2019」节日庆典