kafka环境搭建

作者: 七号萝卜 | 来源:发表于2017-03-26 20:52 被阅读1447次

最近有一个项目需要用到kafka分布式订阅发布消息系统,于是抽空的时候学习了一下关于kafka的一些事,同样在这里记录相关的笔记。最开始当然就是环境搭建。

kafka是什么?

这当然是最开始的一个问题。

kafka是一个分布式消息系统,由LinkedIn使用Scala编写,用作LinkedIn的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础,具有高水平扩展和高吞吐量。目前已经被多家不同类型的公司作为多种类型的数据管道和消息系统使用了。

而且越来越多的开源式分布处理系统都支持和kafka集成哦,比如Flume,Storm,Spark等。

目前几种分布式队列的对比:

各种分布式队列对比

zookeeper的环境部署

kafka是由zookeeper管理的,那么kafka的部署需要在zookeeper安装好之后进行。因此我们先来看看zookeeper如何来搭建环境。

首先到zookeeper的官网下载zookeeper,这里我选择的是zookeeper 3.4.8。

安装zookeeper很简单,就是解压,然后放到该放的目录里:

tar -zxvf zookeeper-3.4.8.tar.gz
mv zookeeper-3.4.8 /usr/local/zookeeper

然后我们进入zookeeper目录看一看:

cd /usr/local/zookeeper

目录如下:

zookeeper目录

和常规的一样,bin目录下是运行文件,conf目录下是配置文件,因此看看conf目录:

conf目录

里面有一个配置例子zoo_sample.cfg,我们借助这个来配置:

cp zoo_sample.cfg zoo.cfg
添加了zoo.cfg

用vim进入zoo.cfg,看看里面的内容:

zoo.cfg

可以看到配置文件里面有几个参数:

tickTime      # 是zookeeper中使用的基本时间单位, 毫秒值. 
initLimit      # 连接leader的超时时间
syncLimit    # 
dataDir      # 数据目录. 可以是任意目录. 
clientPort    # 监听client连接的端口号.

如果是单机运行zookeeper的话,就用上面默认的配置就可以了,可以把dataDir给改了,不让它存在临时目录:

# 我把它改到存在zookeeper目录下的data目录
dataDir=/usr/local/zookeeper/data

然后进入zookeeper目录创建data目录:

cd /usr/local/zookeeper
mkdir data
cd data

# 创建一个myid文件
vim myid

不过一般来说,用起来应该是在集群环境中。因此我们需要在zoo.cfg中还要加上如下内容(假如说有三台):

server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888

集群环境下需要将zookeeper拷贝到各个结点上:

scp -r -r zookeeper/  

然后就可以运行zookeeper了(每一个节点都要运行哦):

bin/zkServer.sh start

可以用jps看看:

运行起来了,没错

kafka的环境部署

zookeeper搭建完毕后,就可以开始kafka的部署了。同样,到kafka的官网下载kafka的安装包,这里选择的是kafka_2.11-0.9.0.1。

一样先来个单机版的。。

解压文件,然后将它移动到合适的文件夹中,一般放/usr/local中:

tar -xvf kafka_2.11-0.9.0.1.tgz
mv kafka_2.11-0.9.0.1 /usr/local/kafka-0.9.0.1

接着进入相应目录:

cd /usr/local/kafka-0.9.0.1
kafka目录

目录结构还是那么个结构,大同小异,以名字来看,bin也是执行目录,config就是配置文件的目录了。

因此可以得知,我们需要进行配置kafka。

那么就来配置一下,一般来说就配置config目录下的server.properties。

vim config/server.properties

主要涉及到集群中的配置。比如broker.id、zookeeper.connect等等,单机就默认的就行了,默认broker.id=0。如果有其他的节点,每台节点的broker.id不能一样哦。

然后就可以启动kafka了,同样在bin里面。在启动了zookeeper的情况下启动kafka:

bin/kafka-server-start.sh config/server.properties

启动后可以来测试测试,打开另一个终端,创建一个叫“hello”的topic:

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic hello

查看一下topic列表:

bin/kafka-topics.sh --list --zookeeper localhost:2181
事先创建了个test,所以两个主题

有了topic之后,我们就可以作为生产者来生产消息了,这里因为是单机,也只有用本机当生产者了:

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic hello

这时可以在终端中输入文本消息。我们再在另一个终端里开启消费者来消费消息(0.10版本以后命令就不同了,官网上有新的命令):

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic hello --from-beginning

这样就可以看到效果了呢。

消费者这边接收到的消息

其它的比如设置多broker的集群啊,可以看官方文档的快速开始(因为用的版本是0.9的,粘贴的网址就是0.9.0的文档):http://kafka.apache.org/090/documentation.html#quickstart

相关文章

  • Linux CentOS 7.4 环境下安装Kafka

    Kafka环境搭建 搭建kafka运行环境需要涉及到zookeeper,zookeeper与Kafka都是运行在J...

  • kafka环境搭建2-broker集群+zookeeper集群

    上篇文章kafka环境搭建1-单机版介绍了kafka基本环境的搭建。kafka基于zookeeper管理集群,要在...

  • 共享kafka

    共享kafka 本人搭建了kafka 环境共享给大家 107.150.122.241:9092

  • 搭建Kafka源码阅读环境

    搭建Kafka源码阅读环境在阅读Kafka源码之前,我们要动手搭建Kafak源码阅读环境。需要准备的软件有:Jav...

  • springboot 集成kafka

    docker搭建kafka 由于是自己电脑本地搭建环境,为了简单点使用docker kafka需要zookeepe...

  • 2018-11-14

    Kafka如何彻底删除topic 环境描述 Kafka集群环境如下,三台broker,三台zookeeper,搭建...

  • VirtualBox中Kafka搭建

    环境搭建 为了配合阿里云消息队列Kafka版本,本次使用 `kafka_2.12-0.10.2.2` 版本搭建 S...

  • Spark Streaming和Spark Struct Str

    Kafka 单机环境搭建 从官网下载kafka_2.11-0.9.0.1和kafka_2.11-0.10.2.0两...

  • Kafka学习笔记(二)

    Kafka环境搭建 准备工作 Kafka集群是把状态保存在Zookeeper中的,首先要搭建Zookeeper集群...

  • Kafka知识探索

    环境搭建(Linux) 1. Kafka下载 下载地址:http://kafka.apache.org/downl...

网友评论

    本文标题:kafka环境搭建

    本文链接:https://www.haomeiwen.com/subject/uhyynttx.html