1.说明

Kafka单机安装,基于版本1.0.1,

使用kafka_2.12-1.0.1.tgz安装包,

其中2.12是编译工具Scala的版本。

而且不需要另外安装Zookeeper服务,

使用Kafka自带的Zookeeper即可。

2.安装规划

Kafka:单机

Zookeeper:单机,Kafka自带

Jdk:安装好并且配置环境变量

3.安装用户

kafka/ai123456

useradd -g hadoop -s /bin/bash -md /home/kafka kafka

4.上传并且解压安装包

上传安装包:

ftp kafka_kafka_2.12-1.0.1.tgz

解压安装包:

tar -zxvf kafka_2.12-1.0.1.tgz

5.配置环境变量和别名

vim .bashrc

#配置Jdk环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_221
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar #配置Kafka环境变量
export KAFKA_HOME=/home/kafka/kafka_2.12-1.0.1
export PATH=$PATH:$KAFKA_HOME/bin #配置别名,方便使用
alias conf='cd $KAFKA_HOME/config'
alias logs='cd $KAFKA_HOME/logs'

使配置生效:

source .bashrc

6.修改Kafka配置文件

首先创建本地数据存放的目录:

mkdir /home/kafka/kafka_2.12-1.0.1/data

vim config/server.properties

主要修改如下配置:

#服务器IP地址,修改为自己的服务器IP
host.name=10.21.13.14
#Kafka的topic内的数据本地保存目录
log.dirs=/home/kafka/kafka_2.12-1.0.1/data

以下使用默认配置即可:

#如果搭建Kafka集群,需要保证唯一
broker.id=0
#端口号、记得开启端口,云服务器要开放安全组
port=9092
#zookeeper地址和端口, Kafka支持内置的Zookeeper和引用外部的Zookeeper
zookeeper.connect=localhost:2181
#topic的默认分区数
num.partitions=1
#Kafka接收的数据保存7天,之后会被删除
log.retention.hours=168
#数据最大为1G,超过需要分块

7.修改Zookeeper配置

首先创建本地数据存放的目录:

mkdir /home/kafka/kafka_2.12-1.0.1/zookeeper

vim config/zookeeper.properties

主要修改如下配置:

#Zookeeper数据本地存储目录
dataDir=/home/kafka/kafka_2.12-1.0.1/zookeeper

以下使用默认配置即可:

# Zookeeper对外提供服务的端口
clientPort=2181

8.启动Zookeeper

启动Kafka服务必须先启动Zookeeper服务,

使用如下命令后台启动自带的Zookeeper:

bin/zookeeper-server-start.sh -daemon config/zookeeper.properties

9.启动Kafka

注意使用-daemon后台启动Kafka服务:

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

10.查看进程

使用jps可以看到如下进程,

一个是Kafka,另一个是Zookeeper:

1464 Kafka
1035 QuorumPeerMain

11.验证安装

11.1.创建一个名为testTopic的主题

kafka-topics.sh --create --topic testTopic --replication-factor 1 --partitions 1 --zookeeper localhost:2181

由于只有一个Kafka服务,

创建主题时指定副本和分区都是1个。

11.2.查看刚才创建的主题

kafka-topics.sh --list --zookeeper localhost:2181

11.3.使用producer生产者发送消息

注意使用上面配置的host.name连接,

而且Kafka服务端口号默认为9092,

否则有可能无法连接成功:

kafka-console-producer.sh --broker-list 10.21.13.14:9092 --sync --topic testTopic

然后输入要发送的消息:

"hello wrold"

11.4.使用consumer消费者查看刚才发送的消息

kafka-console-consumer.sh --zookeeper localhost:2181 --topic testTopic --from-beginning

或者

kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic --from-beginning

Kafka官方推荐使用bootstrap-server方式连接。

11.5.删除一个Topic

这里先创建一个主题,再删除掉:

kafka-topics.sh --create --topic testDelete --zookeeper localhost:2181 --replication-factor 1 --partitions 1
kafka-topics.sh --delete --topic testDelete --zookeeper localhost:2181

注意修改server.properties配置文件,

delete.topic.enable设置为true才能真正删除topic:

#是否能够删除topic的开关,默认为false
delete.topic.enable=true

12.其他

12.1.Kafka Debug方法

在kafka-run-class.sh增加如下参数:

KAFKA_DEBUG=true
DEBUG_SUSPEND_FLAG="y"

12.2.清除kafka数据

只要删除上面配置的两个本地存储目录即可:

rm -rf /home/kafka/kafka_2.12-1.0.1/data
rm -rf /home/kafka/kafka_2.12-1.0.1/zookeeper

12.3.参考文章

Kafka1.X官方安装文档
消息中间件kafka安装启动自带配置好的Zookeeper

Kafka单机安装Version1.0.1(自带Zookeeper)的更多相关文章

  1. Kafka集群安装Version1.0.1(自带Zookeeper)

    1.说明 Kafka集群安装,基于版本1.0.1, 使用kafka_2.12-1.0.1.tgz安装包, 其中2.12是编译工具Scala的版本. 而且不需要另外安装Zookeeper服务, 使用Ka ...

  2. Linux下Kafka单机安装配置方法(图文)

    Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了 ...

  3. Linux下Kafka单机安装配置方法

    Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语: •Kafka将消息以topi ...

  4. Storm集群安装Version1.0.1开启Kerberos

    Storm集群安装,基于版本1.0.1, 同时开启Kerberos安全认证, 使用apache-storm-1.0.1.tar.gz安装包. 1.安装规划 角色规划 IP/机器名 安装软件 运行进程 ...

  5. kafka单机安装配置

    1.下载kafka wget https://www.apache.org/dyn/closer.cgi?path=/kafka/0.8.2.1/kafka_2.9.2-0.8.2.1.tgz 2.解 ...

  6. Linux下Kafka单机安装配置

    安装jdkJDK版本大于1.8 安装kafkatar -zxvf kafka_2.11-0.10.2.1.tgz mv kafka_2.11-0.10.2.1 /usr/local/kafka 配置k ...

  7. Kafka单机安装

    一.Kafka简介 Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.Kafka是一种高吞吐量的 分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作 ...

  8. Storm集群安装Version1.0.1

    Storm集群安装,基于版本1.0.1, 使用apache-storm-1.0.1.tar.gz安装包. 1.安装规划 角色规划 IP/机器名 安装软件 运行进程 nimbus zdh-237 sto ...

  9. kafka单机安装和启动

    1.下载并解压到/usr/local/src目录下 2.运行kafka需要使用Zookeeper,先启动Zookeeper,如果没有Zookeeper,可以使用kafka自带打包和配置好的Zookee ...

随机推荐

  1. redis安装与简单实用

    1.在Linux上redis的安装时十分简单的: 第一步:wget http://download.redis.io/releases/redis-2.8.12.tar.gz 解压: tar zxvf ...

  2. ReactiveCocoa操作方法-重复

    retry重试      只要失败,就会重新执行创建信号中的block,直到成功. __block int i = 0; [[[RACSignal createSignal:^RACDisposabl ...

  3. entfrm-boot开发平台一览【entfrm开源模块化无代码开发平台】

    介绍 entfrm-boot是一个以模块化为核心的无代码开发平台,能够让中小企业快速从零搭建自己的开发平台:开箱即用,可插拔可自由组合:以模块化的方式,最大化的代码复用,避免重复开发:无代码可视化开发 ...

  4. Java 使用slf4j记录日志

    引入依赖 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12< ...

  5. 阿里云esc 登录时的相关提示

    1. 如果该ecs 未绑定密钥对,可以通过常规的用户名密码登录 2. 如果该 ecs 绑定了密钥对,则需要通过私钥进行登录 3. 如果使用 比如 securityCRT 登录时报 " A p ...

  6. C#内建接口:IEnumerable

    这节讲一下接口IEnumerable. 01 什么是Enumerable 在一些返回集合数据的接口中,我们经常能看到IEnumerable接口的身影.那什么是Enumerable呢?首先它跟C#中的e ...

  7. 前端避坑指南丨辛辛苦苦开发的 APP 竟然被判定为简单网页打包?

    传统混合移动App开发模式,通常会使用WebView作为桥接层,但随着iOS和Android应用商店审核政策日趋严格,有时会被错误判定为简单网页打包成App,上架容易遭到拒绝. 既然可能存在风险,那我 ...

  8. hooks中,useState异步问题解决方案

    问题描述: 在hooks中,修改状态的是通过useState返回的修改函数实现的.它的功能类似于class组件中的this.setState().而且,这两种方式都是异步的.可是this.setSta ...

  9. .NET静态代码织入——肉夹馍(Rougamo)

    肉夹馍是什么 肉夹馍通过静态代码织入方式实现AOP的组件..NET常用的AOP有Castle DynamicProxy.AspectCore等,以上两种AOP组件都是通过运行时生成一个代理类执行AOP ...

  10. 11 - Vue3 UI Framework - Card 组件

    卡片是非常常用也是非常重要的组件,特别是在移动端的众多应用场景中,随便打开一个手机 App ,您会发现充斥着各种各样的卡片. 所以,我们也来制作一个简易的 Card 组件 返回阅读列表点击 这里 需求 ...