1:环境准备

jdk 推荐oracle,不建议open sdk

在/etc/profile加入下列环境变量

在PATH中将jdk和jre的bin加入path里面

$JAVA_HOME/bin:$JRE_HOME/bin

2:安装zookeeper

下载zookeeper tar

url: https://archive.apache.org/dist/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz

将压缩包移动到/usr/local下面

tar -zxvf ***

更改配置文件

(1)将conf/zoo_sample.cfg更改为zoo.cfg

(2)更改配置如下

注意:

  *其中默认port为2181。

  *datadir需手动创建 mkdir -p datadir

*注释掉的参数在单机中无用

(3)加入环境变量 /etc/profile

测试:

可以cd 到bin目录下通过执行 zkServer.sh shell脚本启动、停止或者查看状态

eg:

./zkServer.sh start/stop/status

3:安装kafka

先下载tar包、解压、mv到/usr/local下面

wget https://www.apache.org/dyn/closer.cgi?path=/kafka/0.11.0.0/kafka_2.11-0.11.0.0.tgz
sudo mv *** /usr/local
cd /usr/local
sudo tar -zxvf ****
sudo rm **.tar.gz

修改config目录下配置文件

vim server.properties

修改如下参数

#broker.id需改成正整数,单机为1就好
broker.id=
#指定端口号
port=
#localhost这一项还有其他要修改,详细见下面说明
host.name=localhost
#指定kafka的日志目录
log.dirs=/usr/local/kafka_2.-0.11.0.0/kafka-logs
#连接zookeeper配置项,这里指定的是单机,所以只需要配置localhost,若是实际生产环境,需要在这里添加其他ip地址和端口号
zookeeper.connect=localhost:

vim zookeeper.properties

修改如下参数

#数据目录
dataDir=/usr/local/kafka_2.-0.11.0.0/zookeeper/data
#客户端端口
clientPort=
host.name=localhost

producer.properties and consumer.properties

zookeeper.connect=localhost:

4:启动kafka

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

终端都是info log

注意:如果是非root用户,可能会使用到sudo去启动zookeeper和kafka,但是那样会失败必须将kafka整个目录下的文件的owner和group都改为自己的用户。

可以通过jps命令查看两者是否启动成功

2576 QuorumPeerMain表示zookeeper

如果发现没启动成功,可以在zookeeper/config/zookeeper.out里debug。

成功启动后,可以简单通过demo进行测试

github有各种语言的kafka支持

url:https://github.com/edenhill/librdkafka/tree/v0.9.5

可以简单通过go的demo进行测试

consumer

import (
"fmt"
"github.com/confluentinc/confluent-kafka-go/kafka"
) func main() { c, err := kafka.NewConsumer(&kafka.ConfigMap{
"bootstrap.servers": "localhost",
"group.id": "myGroup",
"auto.offset.reset": "earliest",
}) if err != nil {
panic(err)
} c.SubscribeTopics([]string{"myTopic", "^aRegex.*[Tt]opic"}, nil) for {
msg, err := c.ReadMessage(-)
if err == nil {
fmt.Printf("Message on %s: %s\n", msg.TopicPartition, string(msg.Value))
} else {
fmt.Printf("Consumer error: %v (%v)\n", err, msg)
break
}
} c.Close()
}

producer

import (
"fmt"
"github.com/confluentinc/confluent-kafka-go/kafka"
) func main() { p, err := kafka.NewProducer(&kafka.ConfigMap{"bootstrap.servers": "localhost"})
if err != nil {
panic(err)
} go func() {
for e := range p.Events() {
switch ev := e.(type) {
case *kafka.Message:
if ev.TopicPartition.Error != nil {
fmt.Printf("Delivery failed: %v\n", ev.TopicPartition)
} else {
fmt.Printf("Delivered message to %v\n", ev.TopicPartition)
}
}
}
}() topic := "myTopic"
for _, word := range []string{"Welcome", "to", "the", "Confluent", "Kafka", "Golang", "client"} {
p.Produce(&kafka.Message{
TopicPartition: kafka.TopicPartition{Topic: &topic, Partition: kafka.PartitionAny},
Value: []byte(word),
}, nil)
} p.Flush( * )
}

单机配置kafka和zookeeper的更多相关文章

  1. Windows单机配置Kafka环境

    首先确保机器已经安装好Zookeeper,Zookeeper安装参考 Windows单机配置Zookeeper环境 然后确保Zookeeper是正常启动状态 下载Kafka http://kafka. ...

  2. centOS7安装kafka和zookeeper

    wget http://mirrors.hust.edu.cn/apache/kafka/2.0.0/kafka_2.11-2.0.0.tgz tar zxvf kafka_2.-.tgz cd ka ...

  3. Kafka单机配置部署

    摘要:上节 学习了Kafka的理论知识,这里安装单机版以便后续的测试. 首先安装jdk 一.单机部署zk 1.1安装: tar -zxf zookeeper-3.4.10.tar.gz -C /opt ...

  4. 使用kafka bin目录中的zookeeper-shell.sh来查看kafka在zookeeper中的配置

    cd kafka_2.11-0.10.2.1\bin\windowsecho ls /brokers/ids |  zookeeper-shell.bat localhost:2181 使用kafka ...

  5. hadoop+yarn+hbase+storm+kafka+spark+zookeeper)高可用集群详细配置

    配置 hadoop+yarn+hbase+storm+kafka+spark+zookeeper 高可用集群,同时安装相关组建:JDK,MySQL,Hive,Flume 文章目录 环境介绍 节点介绍 ...

  6. kafka与zookeeper

    kafka简介 kafka (官网地址:http://kafka.apache.org)是一款分布式消息发布和订阅的系统,具有高性能和高吞吐率. 下载地址:http://kafka.apache.or ...

  7. centos7单机安装kafka,进行生产者消费者测试

    [转载请注明]: 原文出处:https://www.cnblogs.com/jstarseven/p/11364852.html   作者:jstarseven    码字挺辛苦的.....  一.k ...

  8. linux单机部署kafka(filebeat+elk组合)

    filebeat+elk组合之kafka单机部署 准备: kafka下载链接地址:http://kafka.apache.org/downloads.html 在这里下载kafka_2.12-2.10 ...

  9. Java面试题(Kafka篇+zookeeper 篇)

    Kafka 152.kafka 可以脱离 zookeeper 单独使用吗?为什么? kafka 不能脱离 zookeeper 单独使用,因为 kafka 使用 zookeeper 管理和协调 kafk ...

随机推荐

  1. Python杂记

    一.函数 1.numpy 模块中的nonzero函数 nonzero返回的数非零元素的下标. 如果输入是单维度的时候它的返回值只有一个:如果输入是多个维度的话,那么它的返回值也是多个维度的.并且的它的 ...

  2. [ASP.NET MVC] Controlle中的Aciton方法数据接收方式

    POST数据接收方式包括: 1.request.Form:(逐个获取表单提交的数据); FormCollection: [HttpPost]public async Task<string> ...

  3. AE的空间分析(转载)

    1.1 ITopologicalOperator接口 1.1.1 ITopologicalOperator接口简介ITopologicalOperator接口用来通过对已存在的几何对象做空间拓扑运算以 ...

  4. URI和URL的区别 【转】

    源地址:http://www.cnblogs.com/gaojing/archive/2012/02/04/2413626.html 这两天在写代码的时候,由于涉及到资源的位置,因此,需要在Java ...

  5. 16.git命令汇总

  6. rsync 密钥文件错误问题总结

    rsync 可以使用 --password-file 选项指定密钥文件,密钥文件中简单存放 rsync 密码:在第一次使用密钥文件的时候经常遇到文件权限相关问题:这里总结一下,我遇到的问题. 问题描述 ...

  7. Java 算法(二)

    [程序9] 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数 //第一种public class A09 {publi ...

  8. linux进程、线程与cpu的亲和性(affinity)

    参考:http://www.cnblogs.com/wenqiang/p/6049978.html 最近的工作中对性能的要求比较高,下面简单做一下总结: 一.什么是cpu亲和性(affinity) C ...

  9. LR测试

    LoadRunner种预测系统行性能负载测试工具通模拟千万用户实施并发负载及实性能监测式确认查找问题LoadRunner能够整企业架构进行测试通使用 LoadRunner企业能限度缩短测试间优化性能加 ...

  10. Netty中如何写大型数据

    因为网络饱和的可能性,如何在异步框架中高效地写大块的数据是一个特殊的问题.由于写操作是非阻塞的,所以即使没有写出所有的数据,写操作也会在完成时返回并通知ChannelFuture.当这种情况发生时,如 ...