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下单机安装的更多相关文章

  1. Kafka学习笔记之Kafka背景及架构介绍

    0x00 概述 本文介绍了Kafka的创建背景,设计目标,使用消息系统的优势以及目前流行的消息系统对比.并介绍了Kafka的架构,Producer消息路由,Consumer Group以及由其实现的不 ...

  2. Kafka学习笔记之Kafka三款监控工具

    0x00 概述 在之前的博客中,介绍了Kafka Web Console这 个监控工具,在生产环境中使用,运行一段时间后,发现该工具会和Kafka生产者.消费者.ZooKeeper建立大量连接,从而导 ...

  3. Kafka学习笔记之Kafka性能测试方法及Benchmark报告

    0x00 概述 本文主要介绍了如何利用Kafka自带的性能测试脚本及Kafka Manager测试Kafka的性能,以及如何使用Kafka Manager监控Kafka的工作状态,最后给出了Kafka ...

  4. Kafka学习笔记之Kafka Consumer设计解析

    0x00 摘要 本文主要介绍了Kafka High Level Consumer,Consumer Group,Consumer Rebalance,Low Level Consumer实现的语义,以 ...

  5. Kafka学习笔记1——Kafka的安装和启动

    一.准备工作 1. 安装JDK 可以用命令 java -version 查看版本

  6. 分布式缓存技术redis学习(一)——redis简介以及linux上的安装

    redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssd ...

  7. Linux下单机安装部署kafka及代码实现

    技术交流群:233513714 这几天研究了kafka的安装及使用,在网上找了很多教程但是均以失败告终,直到最后想起网络方面的问题最终才安装部署成功,下面就介绍一下kafka的安装部署及代码实现 一. ...

  8. Kafka学习笔记之Kafka High Availability(上)

    0x00 摘要 Kafka在0.8以前的版本中,并不提供High Availablity机制,一旦一个或多个Broker宕机,则宕机期间其上所有Partition都无法继续提供服务.若该Broker永 ...

  9. Kafka学习笔记之Kafka High Availability(下)

    0x00 摘要 本文在上篇文章基础上,更加深入讲解了Kafka的HA机制,主要阐述了HA相关各种场景,如Broker failover,Controller failover,Topic创建/删除,B ...

随机推荐

  1. Q&A to prepare interview of HSBC

    1.How do you keep updating lastest IT knowledge? 1).keep an eye on current project technology evetho ...

  2. Educational Codeforces Round 35 B/C/D

    B. Two Cakes 传送门:http://codeforces.com/contest/911/problem/B 本题是一个数学问题. 有a个Ⅰ类球,b个Ⅱ类球:有n个盒子.将球放入盒子中,要 ...

  3. (30)导入时如何定制spring-boot依赖项的版本【转载】【从零开始学Spring Boot】

    此文章转载地址:http://www.tuicool.com/articles/RJJvMj3 请注重作者的版权. spring-boot通过maven的依赖管理为我们写好了很多依赖项及其版本,我们可 ...

  4. SpringBoot+FreeMarker开发word文档下载,预览

    背景: 开发一个根据模版,自动填充用户数据并下载word文档的功能 使用freemarker进行定义模版,然后把数据进行填充. maven依赖: <parent> <groupId& ...

  5. HTML【2】表单提交与服务层的模拟(具体解释get与post提交方式的不同)

    在HTML[1]中已经说明了HTML编程的基本方式,最后说到了表单提交的方式有get和post方式.那么究竟什么是get/post 方式呢,两者有什么差别?如今我就详细的介绍一下. 首先回想一下表单的 ...

  6. Dynamics CRM 2015 New Feature (9): Services Changes

    Dynamics CRM 2015 为开发者加入了一些新的Service Request以及一个帮助类库XrmTooling,它支持连接各种环境下的CRM,比方:Online,O365,On Prem ...

  7. cocos2d-android学习四 ---- 精灵的创建

    上篇文章我们创建了一个黑乎乎的界面.以下我们就给它增加一个精灵. 我们这次就一起来学习精灵的基础知识. 1.什么是精灵 游戏中全部会动的对象都是精灵,能够是主人公,背景元素,一个子弹或者是敌人. 一个 ...

  8. 创建quickstart报错

    在cmd中创建helloword成功(一开始是mvn package失败,后面又执行了一遍又成功了,应该是网络问题) 然后在eclipse 中创建quickstart,结果pom报错找不到如下包 ma ...

  9. Java深入 - Filter过滤器

    Java的1.3開始,对servlet2.3规范中增加了过滤器的支持.过滤器可以让我们对目标资源的请求和响应进行截取. 一些filter的特性: 1. Filter是Servlet规范的规定,须要Se ...

  10. hdu 1698 Just a Hook 基本线段树

    使用线段树更新每段区间的奖(1,2,3),最后在统计整段区间的数和,基本线段树,果断1A啊 #include<iostream> #include<stdio.h> using ...