Kafka

目录

前言

一、kafka安装

1.安装jkd

 2.安装zookeeper

3.安装kafka

总结


前言

本文主要记录Kafka安装、Kafka基本命令和Go语言如何操作Kafka。


一、kafka安装

1.安装jkd

进入甲骨文官网下载JDK1.8,下载好像比较麻烦,需要登录账号才可以下载。

安装包下载好后,通过xftp放到Linux系统的/usr/local目录下,然后对压缩包进行解压:

tar -zxvf jdk-xxxxxxx你的压缩包名称

解压好之后需要配置环境,编辑profile文件:

vim /etc/profile

在文件末尾添加:

export JAVA_HOME=/usr/local/jdk1.8   #你jdk安装的目录
export PATH=$JAVA_HOME/bin:$PATH

 重新加载profile文件:

source /etc/profile

检查是否安装成功:

java -version

 2.安装zookeeper

注意:搭建zk集群节点数量必须是奇数个!!!!!

  • 官网下载压缩包,选择一个你适合的版本进行下载,下载后通过xftp放到Linux系统的/usr/local目录下,进行解压:
tar -zxvf apache-zookeeper-xxxxxx  #你的压缩文件名称

 嫌弃名字太长可以进行修改文件名。

  • 进入解压后的zookeeper目录中,创建一个日志存储位置:
mkdir dataDir
  •  然后在dataDir目录下创建一个myid文件:
vim dataDir/myid

 在文件中输入数字1,每一台服务器输入都不一样,服务器A输入1,服务器B输入2,服务器C输入3。

  • 修改zookeeper/conf/zoo_simple.cfg内容:
vim zookeeper/conf/zoo_sample.cfg

 可以将其中内容全删除,反正用不到,然后添加以下内容:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/dataDir
server.1=服务器A的私网IP:2888:3888
server.2=服务器B的私网IP:2888:3888
server.3=服务器C的私网IP:2888:3888
clientPort=2181

maxClientCnxns=60
  •  设置systemctl启动zk的方式:
vim /usr/lib/systemd/system/zookeeper/service
  • 添加内容:
[Unit]
Description=zookeeper.service
After=network.target

[Service]
Type=forking
Environment="PATH=/usr/local/jdk1.8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
User=root
Group=root
ExecStart=/usr/local/zookeeper/bin/zkServer.sh start 
ExecStop=/usr/local/zookeeper/bin/zkServer.sh stop
Restart=on-failure

[Install]
WantedBy=multi-user.target

 整个搭建过程,只有编辑myid文件时,三台服务器输入的内容不同,剩下步骤都是相同的。

3.安装kafka

  • 1.下载

首先进入Kafka官网:Apache Kafka,选择一个版本进行下载

下载完毕后将压缩包放入Linux的/opt目录下 

  • 2.解压

使用命令进行解压,解压到/opt/module目录下:

tar -zxvf kafka_2.12-x.x.x.tgz -C /opt/module      #压缩包替换成你实际的名称

对解压文件进行重命名:

mv kafka_2.12-x.x.x/ kafka
  • 3.更改配置文件
vim /kafka/config/server.properties

master节点:

############################# Socket Server Settings #############################

# The address the socket server listens on. If not configured, the host name will be equal to the value of
# java.net.InetAddress.getCanonicalHostName(), with PLAINTEXT listener name, and port 9092.
#   FORMAT:
#     listeners = listener_name://host_name:port
#   EXAMPLE:
#     listeners = PLAINTEXT://your.host.name:9092
listeners=PLAINTEXT://当前节点的私网IP地址:9092    #修改这里



############################# Log Basics #############################

# A comma separated list of directories under which to store log files
log.dirs=/opt/module/kafka/datas        #修改这里



############################# Zookeeper #############################

# Zookeeper connection string (see zookeeper docs for details).
# This is a comma separated host:port pairs, each corresponding to a zk
# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002".
# You can also append an optional chroot string to the urls to specify the
# root directory for all kafka znodes.
zookeeper.connect=zk服务器1私网地址:2181,zk服务器2私网地址:2181,zk服务器3私网地址:2181/kafka        #修改这里




slave节点:

############################# Server Basics #############################

# The id of the broker. This must be set to a unique integer for each broker.
broker.id=1                #修改这里


############################# Socket Server Settings #############################

# The address the socket server listens on. If not configured, the host name will be equal to the value of
# java.net.InetAddress.getCanonicalHostName(), with PLAINTEXT listener name, and port 9092.
#   FORMAT:
#     listeners = listener_name://host_name:port
#   EXAMPLE:
#     listeners = PLAINTEXT://your.host.name:9092
listeners=PLAINTEXT://当前节点的私网IP地址:9092    #修改这里


############################# Log Basics #############################

# A comma separated list of directories under which to store log files
log.dirs=/opt/module/kafka/datas        #修改这里



############################# Zookeeper #############################

# Zookeeper connection string (see zookeeper docs for details).
# This is a comma separated host:port pairs, each corresponding to a zk
# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002".
# You can also append an optional chroot string to the urls to specify the
# root directory for all kafka znodes.
zookeeper.connect=zk服务器1私网地址:2181,zk服务器2私网地址:2181,zk服务器3私网地址:2181/kafka        #修改这里
  • 4.配置Kafka环境变量

 两台服务器都需要修改/etc/profile

vim /etc/profile



#在最后一行添加
export KAFKA_HOME=/opt/module/kafka    #你的Kafka路径
export PATH=:$PATH:${KAFKA_HOME}

两台服务器都需要执行:

source /etc/profile
  •   设置systemctl启动zk的方式:
vim /usr/lib/systemd/system/kafka.service
  • 添加内容:
[Unit]
Description=zookeeper.service
After=network.target

[Service]
Type=forking
Environment="PATH=/usr/local/jdk1.8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
User=root
Group=root
ExecStart=/opt/module/kafka/bin/kafka-server-start.sh /opt/module/kafka/config/server.properties
ExecStop=/opt/module/kafka/bin/kafka-server-stop.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target
  • 启动kafka,两个节点都需要启动kafka
systemctl start kafka
  •  创建topic:
kafka/bin/kafka-topics.sh --create --topic demo-topic --bootstrap-server kafka节点1的私网IP地址:9092,kafka节点1的私网IP地址:9092 --partitions 1 --replication-factor 1


总结

以上就是今天要讲的内容,本文仅仅简单介绍了kafka集群搭建的过程,后续kafka命令行操作和go语言操作kafka会持续更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值