跟我一起学kafka(二)

  kafka安装到linux服务器中的情况较多,但是我们现在在学习当中,所以可以拿windows先试试手。要想学kafk那么必然要做一件事就是安装好kafka,下面我讲详细得windows下安装kafka得步骤告诉大家。

  第一步:先安装jdk,因为kafka依赖于Java环境,所以确保你的系统中装有JDK(安装jdk我就不说了,请自行百度,在此分享一个下载链接:http://pan.baidu.com/s/1i5jgMFF)

  第二步:这里我们要使用完全的zookeeper,而不是用Kafka打包的那个,因为这是一个单节点的Zookeeper实例。也可以运行打包了zookeeper的Kafka,位置在\kafka\bin\windows库中。下载地址:http://pan.baidu.com/s/1c12D7C8.这里面包含zookeeper和kafka得下载链接,请注意哦

  第三步:解压你得zookerper到你指定得目录,我解压到了F盘

解压完了还不算完,要修改一下配置文件和环境变量才能使用!

1)。打开F:\zookeeper-3.4.8\conf\zoo_sample.cfg这个文件,建议不要用记事本打开,用noteped++这类得文本编辑器打开,然后按ctrl+f找到dataDir这个属性并讲后面得属性改为图中所示,这个属性得意思就是日志文件存放得位置,我们必须手动创建data文件夹,不会自动创建哦!

其他得不用动,端口号默认为2181就行。

2)。在系统变量中添加ZOOKEEPER_HOME,值为你得zookeeper安装路径:

修改path变量,值为:System Variable%ZOOKEEPER_HOME%\bin;注意不是让你把path得值清空!!!,而是在最前面或者最后面新增!记住每个值要以;隔开.


好了 该配置得配置完毕了,让我们启动服务,进入bin目录下启动zkserver命令,按住shift键,鼠标右键单机,会发现多出一个选择:在此处打开命令,选择它.

如果你看到了这些文字那说明你已经安装成功了,恭喜,Zookeeper已经完成并在端口2181运行。否则请回调到第三步重新来一遍!

第四步:解压kafka到你指定得目录.我得还是在F盘。

当然了还得修改一些东西才可以使用。

1)、进入Kafka配置目录,例如F:\kafka_2.11-0.9.0.1\config,编辑文件“server.properties”

找到并修改log.dirs得值为:f:\kafka_2.11-0.9.0.0\kafka-logs,当然了这个文件夹也是手动创建得!如果Zookeeper在某些其他的机器或集群上运行,可以将“zookeeper.connect:2181”修改为自定义IP与端口。在这个演示中我们使用了同一个机器,因此没必要做修改。文件中的Kafka端口和broker.id也是可以配置的。其他设置不变。OK,现在我们启动kafka,重要:请确保在启动Kafka服务器前,Zookeeper实例已经准备好并开始运行。

第五步:进入Kafka安装目录,按下Shift+右键,选择“打开命令窗口”选项,打开命令行,现在输入.\bin\windows\kafka-server-start.bat .\config\server.properties 并回车

如果一切正常,那么你看到得界面应该是正常,否则请自行百度解决,注意JDK版本必须1.7以上

现在Kafka已经准备好并开始运行,可以创建topic来存储消息了。我们也能从Java/Scala代码中,或直接从命令行中生成或使用数据.

现在创建topic,命名为“test”,在f:\kafka_2.11-0.9.0.1\bin\windows打开新的命令行。输入下面的命令,回车:

kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

创建Producer及Consumer来测试服务器,在f:\kafka_2.11-0.9.0.1\bin\windows打开新的命令行。输入下面的命令,回车:

kafka-console-producer.bat --broker-list localhost:9092 --topic test,再打开一个f:\kafka_2.11-0.9.0.1\bin\windows新的命令行。输入下面的命令,回车:

kafka-console-consumer.bat --zookeeper localhost:2181 --topic test

再producer端输入任意文字,你会发现consumer端都会接收到。

OK Kafka安装就完成了!稍后我会奉上java如何使用,我找找代码,因为代码在公司电脑上,而我现在家!

时间: 2024-11-08 23:16:00

跟我一起学kafka(二)的相关文章

笨鸟学php(二) 如何使用变量

一. 变量的声明 1. php中声明变量的方法:  $var = 123; 2. php是弱类型的语言, 变量的类型由存储的值决定 注: Java是强类型语言, 声明变量一定要先指定类型 3. isset() 和 unset() isset() : 判断值是否存在;    unset() : 去掉变量的值 <?php $a = $b = $c = $d = "hello, world"; unset($a); if(isset($a)){ echo $a; }else{ echo

一步一步学WebSocket(二) 使用SuperWebSocket实现自己的服务端

上一篇文章,我们了解了客户端如何与服务器创建WebSocket连接.但是一个巴掌拍不响,既然是通信,就必然最少要有两个端.今天我们来看看c#如何用已有的框架实现一个WebSocket服务端. 在.Net Framework 4.5及以上版本中,微软为我们集成了WebSocket协议的基本实现.微软提供的WebSocket对象位于System.Net.WebSocket命名空间下,使用起来挺繁琐的,所以我选择了SuperWebSocket框架来简化开发的难度. SuperWebSocket框架可以

从头开始学JavaScript (二)——变量及其作用域

原文:从头开始学JavaScript (二)--变量及其作用域 一.变量 ECMAscript变量是松散型变量,所谓松散型变量,就是变量名称可以保存任何类型的数据,每个变量仅仅是一个用于保存值的占位符. 定义:var firstDemo; 二.变量的作用域 2.1基本概念 使用var 定义变量:定义该变量的作用域的局部变量,这种定义变量的方法也被成为显式声明. 这么说不理解的话可以看看下面这个简单粗暴的例子: test();function test(){var firstDemo="hello

三分钟教你学Git(二)之命令索引

记住这三个概念,工作区(Working Area),暂存区(Stage),版本库,通过add,工作区的变化到暂存区,通过commit暂存区的变化到本地版本库,通过push本地版本库的变化到远程版本库.下面是常用的命令. 保存进度恢复工作进度 #把工作区和暂存区的内容保存到进度列表里 git stash save "description" #列出stash里的所有项 git stash list #把进度恢复出来并删除进度列表中的项 git stash pop #只把进度恢复出来,不删

跟我一起学kafka(一)

从昨天下午接到新任务,要采集一个法院网站得所有公告,大概是需要采集这个网站得所有公告列表里得所有txt内容,txt文件里边是一件件赤裸裸得案件,记录这案由,原告被告等相关属性(不知道该叫什么就称之为属性吧,汗),把这些文件放到本地某个目录,并把一个案件作为一条数据放入数据库中.本以为很轻松得用Jsoup就可以完成,但是我还是低估了政府部门填写数据得人得不规范性,你妹啊,一会英文冒号,一会中文冒号,一会当事人,一会原告人得......气死我了,昨天晚回家了一个钟头,今天又忙活到下午3点才算采集完毕

【原创】只学到二维数组和结构体,不用链表也能写一个C贪食蛇?(一)

先扯几句闲话 往往非科班出身的编程爱好者,以C作为入门语言时,往往会问:“我学了这个XX,能做些什么?” 其实,配合Google,基本上啥都能做了. 你甚至连链表都不需要,就可以写一个贪食蛇小游戏 :) 本系列将分4个部分,让任何一个仅仅会二维数组合结构体的初学者写出自己的贪食蛇 进入正题.我们先分析一下问题,确定下四个部分. 0.分析游戏的本质以及在控制台中的表现形式 1.分析贪食蛇游戏的基本结构 2.确定实现方案 3.全部源代码 一.游戏,或者视频游戏的本质是什么? 0.游戏的本质是程序 对

乐哥学AI_Python(二):Numpy索引,切片,常用函数

Numpy的索引和切片 ndarray对象的内容可以通过索引和切片查看和修改. 索引:ndarray对象中的元素索引基于0开始 切片:对数组里某个片段区域的描述 数组的切片也可以理解为原始数组的局部视图,都是指向内存中的原始数组,所以不同于列表复制,切片上的修改都会直接反映到原始数组上. 索引切片的实例代码演示: Numpy常用函数的代码演示: Numpy的置换函数transpose.T和swapaxes演示与区别 T适用于一.二维数组 arr = np.arange(12).reshape(3

再学ajax--第二天 | 基于php+mysql+ajax的表单注册、登录、注销

写在前面 ajax学习到了第二天,这次是用第一天封装的ajax函数,后端使用了php+mysql实现基本的注册,登录,注销. php是我前几个月get到的技能,我已经学习到了面向对象,知道各修饰符的含义,继承,接口,构造函数,实例化对象 mysql是跟php一块学的,学习了基本增删改查. ajax原理其实不难理解,最主要的就是XMLHttpRequest(ActiveXObject("Microsoft.XMLHTTP")):在理解该对象之后,最主要理解的是前后端数据的传递问题,我也是

从零开始学JavaScript二(基本概念)

基本概念 一.区分大小写 在ECMAScript中的一切(变量.函数名.操作符)都是区分大小写的. 如变量名test和Test分别表示两个不同的变量, 二.标识符 所谓标识符,就是指变量.函数.属性的名字,或者函数的参数.标识符按照下列格式规则组合起来的一或者多个字符: 第一个字符必须为一个字母.下划线(_).或者一个美元符号($); 其它字符可以是字母.下划线.美元符号或数字. ECMAScript标识符采用驼峰大小写格式,也就是第一个字母小写,剩下的每个单词的首字母大写,例如:firstSe