kafka集群版及单机版安装

kafka

Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。

单机直接使用内置zookeeper部署安装即可
以下为单机配置server.properties文件

broker.id=1
listeners=SASL_PLAINTEXT://:9092
advertised.listeners=SASL_PLAINTEXT://:9092
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=/opt/kafka/logs
num.partitions=10
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=192.168.76.131:2181

zookeeper.connection.timeout.ms=60000
group.initial.rebalance.delay.ms=0
advertised.host.name=192.168.76.131
security.inter.broker.protocol=SASL_PLAINTEXT
port=9092
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN

配置文件里加了kafka的验证,不需要的可以去掉
验证加在config/jaas/jaas.conf下
这里基于kafka sasl用户名密码验证

KafkaServer {
  org.apache.kafka.common.security.plain.PlainLoginModule required
  username="kafka"
  password="passwd"
  user_kafka="passwd"
  user_emotibot="passwd";
};
KafkaClient {
  org.apache.kafka.common.security.plain.PlainLoginModule required
  username="user"
  password="passwd";
};
根据需要修改用户名密码
然后需要在
kafka-server-start.sh 
kafka-console-producer.sh
kafka-console-consumer.sh
三个文件中增加

kafka安装路径自行修改

export KAFKA_OPTS="-Djava.security.auth.login.config=/opt/kafka/config/jaas/jaas.conf"

依次启动zookeeper 和kafka

/opt/kafka/bin/zookeeper-server-start.sh -daemon /opt/kafka/config/zookeeper.properties && /opt/kafkae/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties

集群版需要至少三节点部署
zookeeper集群配置文件
dataDir=/tmp/zookeeper

# the port at which the clients will connect
clientPort=2181
# disable the per-ip limit on the number of connections since this is a non-production config
maxClientCnxns=0
# Disable the adminserver by default to avoid port conflicts.
# Set the port to something non-conflicting if choosing to enable this
admin.enableServer=false
# admin.serverPort=8080
tickTime=2000
initLimit=10
syncLimit=5
server.1=192.168.76.129:2888:3888
server.2=192.168.76.130:2888:3888
server.3=192.168.76.131:2888:3888

kafka配置文件server.properties需要zookeeper连接地址

zookeeper.connect=192.168.76.129:2181,192.168.76.130:2181,192.168.76.131:2181

然后启动即可

/opt/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic test1 
#创建一个topic 名为test1用来测试
/opt/kafka/bin/kafka-topics.sh --list --zookeeper zookeeper:2181 #列出已经创建好的topic 列表,可以找到test1这个topic,表明上一步创建的没有问题,zk也算正常
/opt/kafka/bin/kafka-console-producer.sh --broker-list 192.168.76.129:9092 --topic test1 --producer-property security.protocol=SASL_PLAINTEXT --producer-property sasl.mechanism=PLAIN 
#在test1这个 topic下面生产消息,比如输入111,然后回车开另外一下终端,看能不能消费到,不要关掉本shell终端
>1111 
#输入111,然后回车
> 
#回车成功表明生产出来111这条消息

开启另外一个窗口验证

/opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.76.129:9092 --topic test1 --from-beginning --consumer-property security.protocol=SASL_PLAINTEXT --consumer-property sasl.mechanism=PLAIN 
#看能不能接收消息,接收不到,表明有问题

一键自动安装脚本地址
https://download.csdn.net/download/w2909526/20403512

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
首先,您需要确保您的系统满足Kafka的要求: 1. Java环境:Kafka需要Java 8或更高版本,请确保已经安装了Java并正确配置了环境变量。 接下来,您可以按照以下步骤在单机安装Kafka: 1. 下载Kafka:您可以从Apache Kafka的官方网站(https://kafka.apache.org/downloads)上下载最新版本的Kafka。 2. 解压文件:解压下载的Kafka压缩包到您选择的目录中。 3. 配置Kafka:编辑Kafka的配置文件 `config/server.properties`。您可以按照需要进行更改,但在单机环境下,您可以保持大部分默认配置不变。 关键配置项包括: - `broker.id`:每个Kafka broker在集群中都需要一个唯一的ID。在单机环境下,您可以将其设置为0。 - `listeners`:监听器列表,指定Kafka监听客户端连接的方式和地址。默认值为 `PLAINTEXT://:9092`,这将使Kafka监听本机的9092端口。 4. 启动Zookeeper:Kafka依赖于Zookeeper来管理集群元数据。在单机环境下,您可以使用Kafka自带的Zookeeper。在Kafka目录中,运行以下命令启动Zookeeper: ```bash bin/zookeeper-server-start.sh config/zookeeper.properties ``` 5. 启动Kafka broker:在同一个Kafka目录中,打开一个新的终端窗口,并运行以下命令启动Kafka broker: ```bash bin/kafka-server-start.sh config/server.properties ``` 如果一切顺利,您将看到Kafka成功启动并开始监听指定的端口。 至此,您已经成功安装Kafka单机版。您可以使用Kafka提供的命令行工具或编程语言的Kafka客户端来与Kafka进行交互。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

怪兽在此

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

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

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

打赏作者

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

抵扣说明:

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

余额充值