[喵咪KafKa(2)]单机模式运行KafKa

[喵咪KafKa(2)]单机模式运行KafKa#

前言##

在上节我们介绍完KafKa之后,今天我们来搭建KafKa三种模式(单机模式,伪集群,集群)中的一种单机模式的搭建,在正常的使用中我们一般吧单机模式作为开发环境的标配,今天就来和喵咪一同搭建一个KafKa的单机环境吧!

附上:

喵了个咪的博客:w-blog.cn

KafKa官网地址:http://kafka.apache.org/

Git地址:https://github.com/apache/kafka

百度网盘

1. 安装配置JDK

首先我们应该要安装配置JDK,应为zookeeper和KafKa都依赖与java环境

tar -zxvf jdk-7u79-linux-x64.tar.gz
mv jdk1.7/ /usr/local/

设定JAVA_HOME环境变量,编辑vim /etc/profile 加入如下内容

export JAVA_HOME=/usr/local/jdk1.7
export JRE_HOME=/usr/local/jdk1.7/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:
export PATH=$JAVA_HOME/bin:$PATH

更改后,执行命令使其生效

source /etc/profile

执行 java -version 会看到如下版本信息证明已经安装成功

java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

2. 安装zookeeper##

KafKa依赖zookeeper的配置,调度,偏移,总之就是鱼儿离不开水这个道理,KafKa没有zookeeper也没办法玩起来,所以我们的第一步就是安装zookeeper,KafKa在内部带有一套zookeeper但是还是简单单独安装配置(zookeeper需要集群分布式来保证n-1的高可用)

zookeeper这里使用的时3.4.5版本可在上方百度网盘进行下载

安装配置zookeeper单机模式 :

cd /app/install
tar zxvf zookeeper-3.4.5-cdh4.3.0.tar.gz
mv zookeeper-3.4.5-cdh4.3.0 /tmp/zookeeper
cd /tmp/zookeeper/
mv conf/zoo_sample.cfg conf/zoo.cfg
mkdir data
echo 1 > data/myid #将本节点id设定到data/myid文件中

修改bin/zkEnv.sh脚本:

将ZOO_LOG_DIR="."修改为

ZOO_LOG_DIR="/tmp/zookeeper/data"

将ZOO_LOG4J_PROP=”INFO,CONSOLE”修改为

ZOO_LOG4J_PROP="INFO,ROLLINGFILE"

修改bin/zkServer.sh脚本:

将ZOOBIN="${BASH_SOURCE-$0}"修改为

ZOOBIN=`readlink -f "${BASH_SOURCE-$0}"`

修改bin/zkCli.sh脚本:

将ZOOBIN="${BASH_SOURCE-$0}"修改为

ZOOBIN=`readlink -f "${BASH_SOURCE-$0}"`

建立软连接到PATH:

ln -s /tmp/zookeeper/bin/zkServer.sh /usr/local/bin/zk-server
ln -s /tmp/zookeeper/bin/zkCli.sh /usr/local/bin/zk-cli

使用如下命令即可启动zookeeper

zk-server start
#以下输出为运行成功
JMX enabled by default
Using config: /tmp/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

在后续博文中喵咪会对zookeeper单独开一个系列进行说明

3. 安装KafKa0.8.2.2##

第二步就是安装KafKa了,KafKa目前最新的版本是0.10.0.1,但是此版本基本只有亲儿子语言能够很好地使用,这里采用一个比较稳定大部分kafka拓展能够支持的0.8.2.2

KafKa的安装包同样可以在上方百度网盘中下载到或到http://kafka.apache.org/downloads.html下载相应的版本

tar -zxvf kafka_2.9.1-0.8.2.2.tgz
mv kafka_2.9.1-0.8.2.2 /usr/local/

到这里KafKa就已经安装完成(心里暗念太简单了),我们进入大KafKa得更目录/usr/local/kafka_2.9.1-0.8.2.2来运行起来,这里是需要制定KafKa连接的zookeeper才能启动成功默认是localhost:2181,可以自行修改config/server.properties

// 运行KafKa
sh bin/kafka-server-start.sh config/server.properties &

这个时候会看到很多INFO语句如之中没有包含的ERROR的报错并且停留到如下输出证明你的KafKa已经启动成功了

INFO [Kafka Server 0], started (kafka.server.KafkaServer)

4. 使用命令行测试KafKa##

最后就是对KafKa进行一下简单的测试,创建一个生产者和一个消费者之间互相通讯消息

运行生产者producer

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

运行消费者consumer

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

此时在生产者输入内容,消费者这里也能显示出来

注意:当有跨机的producer或consumer连接时需要配置config/server.properties的host.name

5.总结

本节讲解了KafKa在单机模式下如何安装运行,近期的内容个将介绍使用PHP如何来操作KafKa,以及KafKa的配置文件要如何配置讲解,那么今天的内容就到这里了,多谢大家的支持别忘了关注喵咪的博客哦!

注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏weixuqin 的专栏

springMVC 学习笔记(一):spring 入门

springMVC 是 spring 框架的一个模块,springMVC 和 spring 无需通过中间整合层进行整合。springMVC 是一个基于 mvc ...

15220
来自专栏杨建荣的学习笔记

dataguard中的密码文件管理(r8笔记第39天)

这篇文章的动力来自于一个朋友的提问,他问我备库的密码文件直接重建可以吗,我说最好还是复制,如果重建可能会有一些潜在的问题,当然这个所谓潜在问题也是自己给自己打的...

398130
来自专栏FreeBuf

深入解析新型加密货币挖矿恶意软件ZombieBoy

延续了2018年加密货币挖矿恶意软件的趋势,我发现了另一种类似于5月初发现的“MassMine”的挖矿恶意软件。我把这个家族称为ZombieBoy,因为它使用了...

14820
来自专栏ChaMd5安全团队

CVE-2018-1000156:GNU Patch任意代码执行漏洞分析

GNU Patch 源码下载地址:https://ftp.gnu.org/gnu/patch/

37320
来自专栏张戈的专栏

零门槛!使用Docker快速部署ES集群

自从接触 Docker 之后,对 Docker 简直是爱不释手,做什么都是行云流水。遇到部署开源软件需求,第一时间想到的都是有没有现成的 Docker 镜像?能...

3.4K40
来自专栏安富莱嵌入式技术分享

【RL-TCPnet网络教程】第15章 RL-TCPnet之创建多个TCP连接

本章节为大家讲解RL-TCPnet的TCP多客户端实现,因为多客户端在实际项目中用到的地方还挺多,所以我们也专门开启一个章节做讲解。另外,学习本章节前,务必要优...

20020
来自专栏bboysoul

vagrant安装和使用

在一次偶然的机会我碰到了vagrant,Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境,总之简单的说vagrant就是一款管理虚拟机的工具

16130
来自专栏黄日成的专栏

浅析 P2P 穿越 NAT 的原理、技术、方法 (上)

在 NAT 环境下,实现 P2P 通信的完整解决方案包括几个部分呢?相关的原理、方法、技术有哪些?

2.5K10
来自专栏张戈的专栏

修改Apache的超时设置,解决长连接请求超时问题

某日,组内后台开发找到我,问我们的 WEB 服务器超时设置是多少。他反馈的问题是,有一个 VLAN 切换任务 cgi 接口经常返回 504 网关超时错误,要我分...

1.4K80
来自专栏Jerry的SAP技术分享

使用JDBC操作SAP云平台上的HANA数据库

本文假设您对JDBC(Java Database Connectivity)有最基本的了解。您也可以将其同ADBC(ABAP Database Connecti...

17130

扫码关注云+社区

领取腾讯云代金券