Kafka学习笔记(1)----Kafka的简介和Linux下单机安装
1. Kafka简介
Kafka is a distributed,partitioned,replicated commit logservice。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者
为Consumer,此外kafka集群有多个kafka实例组成,每个实例成为broker。无论是kafka集群,还是producer和consumer都依赖于zookeeper来保证系统可用性集群保存一些meta信息。

2. ubuntu下安装Kafka
环境说明:
1. os:Ubuntu 16.04
2. zookeeper:zookeeper 3.4.13
3. kafka:kafka_2.11-2.0.1
4. jdk:jdk 8(kafka启动需要使用到jdk)
2.1 jdk安装
jdk在安装是较为常见的,所以这里就不再详细介绍了。
2.2 zookeeper安装
首先下载zookeeper,下载地址为:http://mirror.bit.edu.cn/apache/zookeeper/,如当前源不能访问,请自行更换其他源。如图:

根据自己的需要的版本下载相应的.tar.gz文件,将下载的文件上传到服务器上。通过Xshell 6端,使用命令rz。
解压文件:

解压后进入conf文件夹,
将zoo_sample.cfg拷贝一份为zoo.cfg
如下:

修改zoo.cfg文件:

为zookeeper配置环境变量:
vim /etc/profile
export ZOOKEEPER_HOME=/usr/local/middle/zookeeper-3.4.
export PATH=.:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin:$PATH

保存退出
使用zkServer.sh start启动zookeeper服务:

启动成功,配置正确,然后关闭服务zkServer.sh stop
2.3 安装配置Kafka单机模式
下载Kafka,下载地址为:http://mirror.bit.edu.cn/apache/kafka/2.0.1/,如果源不可用,自行更换其他源。如图:

下载自己需要的版本
将下载的Kafka上传到服务器,使用如下命令解压:
tar -zxvf kafka_2.-2.0..tgz
解压后进入到config文件夹,如下:

分别配置三个文件:
server.properties:
主要配置以下几项,其他的都按默认配置即可
broker.id=
#指定端口
port=
#指定主机
host.name=localhost
#数据存储位置
log.dirs=/usr/local/middle/kafka_2.-2.0./kafka-logs
#连接zookeeper配置项,这里指定的是单机,所以只需要配置localhost,若是实际生产环境,需要在这里添加其他ip地址和端口号
zookeeper.connect=localhost:
如图:
·
zookeeper.properties配置:

producer.properties配置:

consumer.properties配置:

启动kafka:
1. 启动zookeeper服务
进入kafka根目录,使用如下命令启动zookeeper。
bin/zookeeper-server-start.sh config/zookeeper.properties
如图:


会执行环境变量配置的zk,出现如上图所示表示启动成功。
新开一个会话启动kafka,使用如下命令:
bin/kafka-server-start.sh config/server.properties
如下图:


出现如上图则表示kafka启动成功。
至此,单机的Kafka安装完成了。
Kafka学习笔记(1)----Kafka的简介和Linux下单机安装的更多相关文章
- Kafka学习笔记之Kafka背景及架构介绍
0x00 概述 本文介绍了Kafka的创建背景,设计目标,使用消息系统的优势以及目前流行的消息系统对比.并介绍了Kafka的架构,Producer消息路由,Consumer Group以及由其实现的不 ...
- Kafka学习笔记之Kafka三款监控工具
0x00 概述 在之前的博客中,介绍了Kafka Web Console这 个监控工具,在生产环境中使用,运行一段时间后,发现该工具会和Kafka生产者.消费者.ZooKeeper建立大量连接,从而导 ...
- Kafka学习笔记之Kafka性能测试方法及Benchmark报告
0x00 概述 本文主要介绍了如何利用Kafka自带的性能测试脚本及Kafka Manager测试Kafka的性能,以及如何使用Kafka Manager监控Kafka的工作状态,最后给出了Kafka ...
- Kafka学习笔记之Kafka Consumer设计解析
0x00 摘要 本文主要介绍了Kafka High Level Consumer,Consumer Group,Consumer Rebalance,Low Level Consumer实现的语义,以 ...
- Kafka学习笔记1——Kafka的安装和启动
一.准备工作 1. 安装JDK 可以用命令 java -version 查看版本
- 分布式缓存技术redis学习(一)——redis简介以及linux上的安装
redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssd ...
- Linux下单机安装部署kafka及代码实现
技术交流群:233513714 这几天研究了kafka的安装及使用,在网上找了很多教程但是均以失败告终,直到最后想起网络方面的问题最终才安装部署成功,下面就介绍一下kafka的安装部署及代码实现 一. ...
- Kafka学习笔记之Kafka High Availability(上)
0x00 摘要 Kafka在0.8以前的版本中,并不提供High Availablity机制,一旦一个或多个Broker宕机,则宕机期间其上所有Partition都无法继续提供服务.若该Broker永 ...
- Kafka学习笔记之Kafka High Availability(下)
0x00 摘要 本文在上篇文章基础上,更加深入讲解了Kafka的HA机制,主要阐述了HA相关各种场景,如Broker failover,Controller failover,Topic创建/删除,B ...
随机推荐
- [Ynoi2015]即便看不到未来
题目大意: 给定一个序列,每次询问,给出一个区间$[l,r]$. 设将区间内的元素去重后重排的数组为$p$,求$p$中长度为$1\sim 10$的极长值域连续段个数. 长度为$L$的极长值域连续段的定 ...
- CentOS7.4上搭建rocketMQ集群
一.rocketMQ集群部署方案优缺点对比: 多Master模式(2m-noslave) : 一个集群无Slave,全是Master,例如2个Master或者3个Master 优点:配置简单,单个Ma ...
- QT5的模块介绍【摘】
Qt 5 模块分为 Essentials Modules 和 Add-on Modules 两部分.前者是基础模块,在所有平台上都可用:后者是扩展模块,建立在基础模块的基础之上,在能够运行 Qt 的平 ...
- Nginx学习总结(1)——Nginx入门简介
本文主要介绍一些Nginx的最基本功能以及简单配置,但不包括Nginx的安装部署以及实现原理.废话不多,直接开始. 1.静态HTTP服务器 首先,Nginx是一个HTTP服务器,可以将服务器上的静态文 ...
- POJ2116 Death to Binary?
/* POJ2116 Death to Binary? http://poj.org/problem?id=2116 齐肯多夫定理 */ #include <cstdio> #includ ...
- mysqldump中使用flush tables with read lock的风险分析
http://blog.csdn.net/wireless_tech/article/details/7332906 我们使用mysqldump --single-transaction -- ...
- 【待解决】An internal error occurred during: "Launching baiduTest1". java.lang.NullPointerException
编写的一个Java类,以junit运行可以正常执行,以testNG执行就报如下错误 解决方法:
- 新建maven web工程报错
问题: 检查本地仓库: 检查1.0跟release的文件夹: 试试:http://www.ithao123.cn/content-8028507.html 然后选择maven catalog下的:(这 ...
- setOutputFormat called in an invalid state: 1
在编写一个简单的录像应用程序的时候,爆出例如以下异常: E MediaRecorder: setOutputFormat called in an invalid state: 1 E Android ...
- SQL SERVER读书笔记:阻塞与死锁
阻塞是事务隔离带来的副作用,而并不是SQL SERVER的错. 死锁则是互相争用资源而引发.由于死锁会选择牺牲者,所以死锁的危害没有阻塞大.但有时为了解决死锁,会采取对资源加锁,导致阻塞的方式来避免.