kafka-部署安装

一. 简述: 

  Kafka 是一个分布式流处理平台,常用于构建实时数据管道和流应用。

二. 安装部署:

1. 依赖:

   a).  Java:Kafka 需要 Java 8 或更高版本。

   b).  zookeeper:

#tar fxvz zookeeper-3.7.0.tar.gz
#mv zookeeper-3.7.0 zookeeper && cd zookeeper
#mkdir data log

编辑 conf/zoo.cfg 文件,设置 dataDir 和其他必要参数。对于多节点集群,还需要配置 myid 文件,并在每个节点上指定唯一的 ID。


#cd conf/ && cp zoo_sample.cfg zoo.cfg
#vim zoo.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/xiaoxiang/elk/zookeeper/data
dataLogDir=/xiaoxiang/elk/zookeeper/log
clientPort=12181
server.1=10.0.4.80:12888:13888
server.2=10.0.4.81:12888:13888
server.3=10.0.4.82:12888:13888
 
#echo 1 > /xiaoxiang/elk/zookeeper/data/myid  (不同的node,输入不同的id)
 
#bin/zkServer.sh start  (启动)
 
#检测:
# netstart -nltp  (leader会多一个12888 port)
#jps    会有QuorumPeerMain 进程

连接测试:

# bin/zkCli.sh -server 10.0.4.80:12181,10.0.4.81:12181,10.0.4.82:12181
Connecting to 10.0.4.80:12181,10.0.4.81:12181,10.0.4.82:12181

............
12181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@506c589e
Welcome to ZooKeeper!
2016-09-28 16:55:29,711 [myid:] - INFO  [main-SendThread(10.0.4.81:12181):ClientCnxn$SendThread@1032] - Opening socket connection to server 10.0.4.81/10.0.4.81:12181. Will not attempt to authenticate using SASL (unknown error)
JLine support is enabled
2016-09-28 16:55:29,906 [myid:] - INFO  [main-SendThread(10.0.4.81:12181):ClientCnxn$SendThread@876] - Socket connection established to 10.0.4.81/10.0.4.81:12181, initiating session
[zk: 10.0.4.80:12181,10.0.4.81:12181,10.0.4.82:12181(CONNECTING) 0] 2016-09-28 16:55:30,093 [myid:] - INFO  [main-SendThread(10.0.4.81:12181):ClientCnxn$SendThread@1299] - Session establishment complete on server 10.0.4.81/10.0.4.81:12181, sessionid = 0x2576ff98af20000, negotiated timeout = 30000

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
 
# 从log上看,client端连接的是10.0.4.81:12181(连接上哪台机器的zk进程是随机的)

2. kafka安装:

#tar fxvz kafka_2.11-0.10.0.0.tgz 
#mv kafka_2.11-0.10.0.0 kafka
#cd kafka/config
#vim server.properties

broker.id=1   #节点id,各broker会不同
port=19092
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=/tmp/kafka-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
log.retention.hours=24
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=10.0.4.80:12181,10.0.4.81:12181,10.0.4.82:12181
zookeeper.connection.timeout.ms=6000

启动:

#nohup bin/kafka-server-start.sh config/server.properties &
#bin/kafka-server-stop.sh

测试生产/消费:

# bin/kafka-topics.sh --create --zookeeper 10.0.4.80:12181 --replication-factor 1 --partitions 1 --topic test 创建topic
# bin/kafka-topics.sh --list --zookeeper 10.0.4.80:21181 查看topic列表
#bin/kafka-console-producer.sh --broker-list 10.0.4.80:19092 --topic test   生产
#bin/kafka-console-consumer.sh --zookeeper 10.0.4.80:12181 --topic test --from-beginning 消费

  ----------------------------------------------------------------------------------------------------------

                         深耕运维行业多年,擅长运维体系建设,方案落地。欢迎交流!

                                                    V: ywjw996

                                                    《 运维经纬 》

### Kafka-Eagle 安装指南 Kafka-Eagle 是一种用于管理和监控 Apache Kafka 集群的工具,提供了友好的图形化界面。以下是基于已有引用内容和其他专业知识整理出的一份完整的安装指南。 #### 1. 环境准备 确保满足以下前提条件: - Java 开发环境 (JDK >= 1.8)[^2]。 - 已经正确安装并运行了 Kafka 和 ZooKeeper[^3]。 - 至少拥有 3GB 的可用内存以保障正常运行。 - 可访问的 MySQL 数据库服务(可以是本地或者远程),如果尚未安装 MySQL,则需先完成安装并配置好远程连接权限[^3]。 #### 2. 下载与解压 前往官方仓库获取最新版本的 Kafka-Eagle 压缩包,并按照如下方式操作: ```bash cd /export/softwares/ wget https://github.com/ChenJun2hao/Kafka-Eagle/releases/download/v1.3.2/kafka-eagle-bin-1.3.2.tar.gz tar -zxvf kafka-eagle-bin-1.3.2.tar.gz -C /export/servers/ cd /export/servers/kafka-eagle-bin-1.3.2/ tar -zxvf kafka-eagle-web-1.3.2-bin.tar.gz mv kafka-eagle-web-1.3.2/ .. cd ../kafka-eagle-web-1.3.2/ ``` 上述命令实现了从指定位置下载软件包、解压缩至目标目录的操作过程[^1]。 #### 3. 设置环境变量 通过修改全局 profile 文件增加对 Kafka-Eagle 所依赖路径的支持: ```bash vi /etc/profile ``` 向其中追加以下几行代码片段: ```bash export JAVA_HOME=/usr/src/jdk1.8.0_144 export PATH=$PATH:$JAVA_HOME/bin:/export/servers/kafka-eagle-bin-1.4.0/kafka-eagle-web-1.4.0/bin export KE_HOME=/export/servers/kafka-eagle-bin-1.4.0/kafka-eagle-web-1.4.0 source /etc/profile ``` 此部分完成了对于必要环境变量定义的同时也激活更改使之立即生效[^2]。 #### 4. 数据库初始化 利用附带 sql 脚本来构建所需的数据表结构,在终端输入下面指令实现自动化建模工作流: ```sql mysql -u root -p <<EOF CREATE DATABASE IF NOT EXISTS kafka_eagle CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; USE kafka_eagle; SOURCE /path/to/your/sql/file/init_kafka_eagle.sql; EOF ``` 这里假设您已经替换了 `/path/to/your/sql/file` 成真实存在的绝对路径指向 init_kafka_eagle.sql 这个文件的位置[^5]。 #### 5. 编辑配置文件 调整位于 `conf/ke.properties` 中的各项参数使其匹配当前系统的实际情况,重点注意以下几个选项: - **ke.store.type**: 将其设为 mysql (`ke.store.type=mysql`)。 - **ke.zk.list**: 提供 zookeeper 地址列表形式如 localhost:2181。 - **ke.broker.list**: 列举所有 broker 节点地址形似 localhost:9092。 - **ke.db.driver**, **ke.db.url**, **ke.db.user**, and **ke.db.password**: 对应填写刚才设置好的 RDBMS 访问凭证信息。 例如: ```properties ke.store.type=mysql ke.zk.list=localhost:2181 ke.broker.list=localhost:9092 ke.db.driver=com.mysql.cj.jdbc.Driver ke.db.url=jdbc:mysql://localhost:3306/kafka_eagle?useSSL=false&serverTimezone=UTC ke.db.user=root ke.db.password=my-secret-pw ``` #### 6. 启动服务 最后一步就是启动 Kafka-Eagle 自身的服务进程啦!只需简单执行下列语句即可完成整个流程的最后一环: ```bash sh bin/start-kafka-eagle.sh ``` 默认情况下应该能够通过浏览器访问 http://<hostname>:8048 来验证是否成功部署完毕[^1]。 --- ### 注意事项 - 若在任何阶段遭遇失败提示,请仔细阅读对应产生的 log 日志定位具体问题所在。 - 更多高级特性的探索比如 Prometheus/Grafana 整合等内容则需要额外查阅专门文档继续深挖学习[^2]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值