电商数仓项目(七) kafka 安装、配置和简单操作


本节讲解kafka安装、配置与简单操作。
源码下载

一、集群规划

node01node02node03
kafkakafkakafka

二、下载与设置

  1. 下载
    https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.7.0/kafka_2.13-2.7.0.tgz
# 1 上传到u02目录或者使用wget下载
[jack@node01 u02]$ wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.7.0/kafka_2.13-2.7.0.tgz

# 2 解压缩
[jack@node01 u02]$ tar -zxvf kafka_2.13-2.7.0.tgz -C /u01
[jack@node01 u02]$ cd /u01
[jack@node01 u01]$ mv kafka_2.13-2.7.0 kafka-2.7.0

# 3 创建日志目录
[jack@node01 u01]$ cd kafka-2.6.0
[jack@node01 kafka-2.6.0]$ mkdir -p logs

# 4 修改配置
[jack@node01 kafka-2.7.0]$ cd config
[jack@node01 config]$ vi server.properties
#物理删除topic
delete.topic.enable=true
log.dirs=/u01/kafka-2.7.0/logs
zookeeper.connect=node01:2181,node02:2181,node03:2181

# 5 配置环境变量(所有服务器都要设置)
[jack@node01 config]$ sudo vi /etc/profile
export KAFKA_HOME=/u01/kafka-2.7.0
export PATH=$PATH:$KAFKA_HOME/bin
[jack@node01 config]$ source /etc/profile

# 6 分发到其他服务器
[jack@node01 bin]$ cd /u01/bin
[jack@node01 bin]$ xsync /u01/kafka-2.7.0

# 7 修改node02服务器的设置
[jack@node01 bin]$ ssh node02
[jack@node02 bin]$ cd /u01/kafka-2.7.0/config
[jack@node02 config]$ vi server.properties
broker.id=2
[jack@node02 config]$ exit

# 8 修改node03服务器的设置
[jack@node01 bin]$ ssh node03
[jack@node03 bin]$ cd /u01/kafka-2.7.0/config
[jack@node03 config]$ vi server.properties
broker.id=3
[jack@node03 config]$ exit
  1. 统一启动集群
    名称:kafka.sh
    存放目录:/u01/bin
#!/bin/bash

pgmName=`basename $0`
pgmName=${pgmName##*/}    # remove the path
pgmExt=${pgmName##*.}     # get the extension
pgmName=${pgmName%.*}     # get the program name

USAGE="Usage: $pgmName.$pgmExt <start/stop>\n"

if [ $# -lt 1 ]
then
   echo $USAGE
   exit 1
fi

case $1 in
"start"){
  for i in node01 node02 node03
  do
    echo "------------- start $i Kafka -------------"
    ssh $i "$KAFKA_HOME/bin/kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties "
  done
};;
"stop"){
  for i in node01 node02 node03
  do
    echo "------------- stop $i Kafka -------------"
    ssh $i "$KAFKA_HOME/bin/kafka-server-stop.sh stop"
  done
};;
esac

三、操作

  1. 前提:一定要启用zookeeper,具体见上节介绍
  2. 操作
# 创建日志主题
[jack@node01 bin]$ kafka-topics.sh --zookeeper node01:2181,node02:2181,node03:2181 --create --replication-factor 1 --partitions 1 --topic topicStart
# 创建日志事件主题
[jack@node01 bin]$ kafka-topics.sh --zookeeper node01:2181,node02:2181,node03:2181 --create --replication-factor 1 --partitions 1 --topic topicEvent
# 测试主题名带下划线
[jack@node01 bin]$ kafka-topics.sh --zookeeper node01:2181,node02:2181,node03:2181 --create --replication-factor 1 --partitions 1 --topic topic_test
WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both.
Created topic topic_test.

# 查看topic列表
[jack@node01 bin]$ kafka-topics.sh --list --zookeeper node01:2181
# 查看topic详情
[jack@node01 bin]$ kafka-topics.sh --bootstrap-server node01:2101 --describe --topic topicStart

# 删除topic
[jack@node01 bin]$ kafka-console-consumer.sh --bootstrap-server node01:9092 --from-beginning --topic topic_test

# 在kafka生产消息服务器node01/node02,随便输入字符串
[jack@node01 bin]$ kafka-console-producer.sh --broker-list node01:9092 --topic topic_test

# 在kafka消费服务器node03,能接收上述输入的字符串
[jack@node03 bin]$ kafka-console-consumer.sh --bootstrap-server node01:9092 --from-beginning --topic topic_test

电商数仓项目(一) 系统规划和配置
电商数仓项目(二) Maven 安装和hadoop-lzo编译
电商数仓项目(三) hadoop3.2.2 安装与配置
电商数仓项目(四) 模拟电商日志数据开发
电商数仓项目(五) azkaban安装、配置和使用
电商数仓项目(六) zookeeper安装和配置

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涛2021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值