1、版本:

logstash6.1.2、kafka-0.11、kafka-0.8.2、java1.8

Note:

Logstash requires Java 8. Java 9 is not supported. Use the official Oracle distribution or an open-source distribution such as OpenJDK.

2、下载:

https://www.elastic.co/downloads/logstash(推荐下载tar包,yum源安装总提示Unable to find JRuby.)

https://kafka.apache.org/downloads

3、安装

1)kafka

#tar  xf kafka_2.11-0.11.0.2.tgz

#配置使用kafka参考我的其他文章http://www.cnblogs.com/cuishuai/p/7475356.html。

2)logstash

#tar xf logstash-6.1.2.tar.gz

#cp  ./logstash-6.1.2/bin/*   /usr/bin

创建配置文件:

#cat  etl.conf

input{

kafka{
      bootstrap_servers => ["10.10.11.2:9092"]
      client_id => "shence"
      #auto_offset_reset => "latest"
      consumer_threads => 5
      #decorate_events  => true
      topics => ["event_topic"]
     # type => "bhy"
}
}

output {
  kafka {
    bootstrap_servers => "10.10.8.2:9092"
    codec => json
    compression_type => "gzip"
    topic_id => "shence"
  }
}

详细配置参考:

https://www.elastic.co/guide/en/logstash/6.1/plugins-inputs-kafka.html

https://www.elastic.co/guide/en/logstash/6.1/filter-plugins.html

https://www.elastic.co/guide/en/logstash/6.1/codec-plugins.html

https://www.elastic.co/guide/en/logstash/6.1/plugins-outputs-kafka.html

https://github.com/joekiller/logstash-kafka/blob/master/README.md

4、启动logstash

#./bin/logstash  -f  etl.conf

这种启动方式是前端启动关掉终端程序就退出了。可以使用nohup启动:

# nohup  ./bin/logstash  -f  etl.conf  2>&1 &

5、检查

1)output端的kafka查看消息:

#./kafka-console-consumer.sh --zookeeper localhost:2181 --topic shence

2)output端kafka查看topic

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

3) output端kafka查看topic   shence的详细信息:

#./kafka-topics.sh --describe --zookeeper localhost:2181 --topic shence

6、报错解决

1)启动logstash的时候报错:

Unable to find JRuby.
If you are a user, this is a bug.
If you are a developer, please run 'rake bootstrap'. Running 'rake' requires the 'ruby' program be available.

解决方式:

去官网下载tar解压,使用bin下的logstash启动,就好了。

2)启动logstash后,发现没有数据进来,并有如下报错:

  1. Error while fetching metadata with correlation id 39 : {shence=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)
  2. 解决方式:
    检查kafkalisten的地址:listeners = PLAINTEXT://your.host.name:9092
    your.host.name 换成服务器的ip0.0.0.0
    重启服务就好了。
  3. 我是直接重启logstash就好了
  1.  

logstash与kafka消息传输<一>的更多相关文章

  1. kafka消息传输时的对象转字符串时所需 -json String 转list 、set、 Long、 String 、map 与json Iterator遍历

    JSONObject jsonObject = new JSONObject(jsonString); Iterator iterator = jsonObject.keys(); while(ite ...

  2. 使用Nginx和Logstash以及kafka来实现网站日志采集的详细步骤和过程

    使用Nginx和Logstash以及kafka来实现网站日志采集的详细步骤和过程 先列出来总体启动流程: (1)启动zookeeper集群(hadoop01.hadoop02和hadoop03这3台机 ...

  3. Kafka简介及使用PHP处理Kafka消息

    Kafka简介及使用PHP处理Kafka消息 Kafka 是一种高吞吐的分布式消息系统,能够替代传统的消息队列用于解耦合数据处理,缓存未处理消息等,同时具有更高的吞吐率,支持分区.多副本.冗余,因此被 ...

  4. Logstash读取Kafka数据写入HDFS详解

    强大的功能,丰富的插件,让logstash在数据处理的行列中出类拔萃 通常日志数据除了要入ES提供实时展示和简单统计外,还需要写入大数据集群来提供更为深入的逻辑处理,前边几篇ELK的文章介绍过利用lo ...

  5. 一文看懂Kafka消息格式的演变

    摘要 对于一个成熟的消息中间件而言,消息格式不仅关系到功能维度的扩展,还牵涉到性能维度的优化.随着Kafka的迅猛发展,其消息格式也在不断的升级改进,从0.8.x版本开始到现在的1.1.x版本,Kaf ...

  6. Kafka实战:如何把Kafka消息时延秒降10倍

    背景 国内某大型税务系统,业务应用分布式上云改造. 业务难题 如上图所示是模拟客户的业务网页构建的一个并发访问模型.用户在页面点击从而产生一个HTTP请求,这个请求发送到业务生产进程,就会启动一个投递 ...

  7. 转载来自朱小厮博客的 一文看懂Kafka消息格式的演变

    转载来自朱小厮博客的 一文看懂Kafka消息格式的演变     ✎摘要 对于一个成熟的消息中间件而言,消息格式不仅关系到功能维度的扩展,还牵涉到性能维度的优化.随着Kafka的迅猛发展,其消息格式也在 ...

  8. MQ选型对比ActiveMQ,RabbitMQ,RocketMQ,Kafka 消息队列框架选哪个?

    最近研究消息队列,发现好几个框架,搜罗一下进行对比,说一下选型说明: 1)中小型软件公司,建议选RabbitMQ.一方面,erlang语言天生具备高并发的特性,而且他的管理界面用起来十分方便.不考虑r ...

  9. 为什么会有kafka消息系统?小问题藏着大细节!

    前言:老刘今天写这篇文章首先想对一些复制粘贴的博客表达不满:其次是想用通俗易懂的话解释消息系统:最后欢迎各位英雄好汉.女中豪杰前来battle. 1. 为什么有消息系统? 1.1 背景 今天复习kaf ...

随机推荐

  1. JVM可支持的最大线程数

    转微博,因为他也是转载  不知道原出处 一.认识问题: 首先我们通过下面这个 测试程序 来认识这个问题:运行的环境 (有必要说明一下,不同环境会有不同的结果):32位 Windows XP,Sun J ...

  2. ASP.NET MVC Owin 基本理解

    一.OWIN OWIN(Open Web Interface for .Net),定义了一个服务器(IIS)和Web应用程序(MVC,Webform)通信的标准接口,并且通过抽象层使得这两个在微软平台 ...

  3. CentOS ntp同步

    新装的CentOS系统服务器可能设置了错误的,需要调整时区并调整时间. 如下是CentOS系统使用NTP来从一个时间服务器同步 把当前时区调整为上海就是+8区,想改其他时区也可以去看看/usr/sha ...

  4. UvaOJ 10167

    暴力搜索 #include<cstdio> struct node { int x; int y; }s[]; int main() { //freopen("input.txt ...

  5. LogisticRegression in MLLib

    例子 iris数据训练Logistic模型.特征petal width和petal height,分类目标有三类. import org.apache.spark.mllib.classificati ...

  6. Mac怎么安装并配置Homebrew?

    1.在打开的命令行工具中输入如下语句: 复制内容到剪贴板 ruby -e "$(curl --insecure -fsSL https://raw.githubusercontent.com ...

  7. java解决共享资源竞争

    由于多线程的实现,在运行一个程序的时候可能会有很多的线程在同时运行,但是线程的调度并不是可见的,所以不会知道一个线程什么时候在运行,比如说 你坐在桌子前手拿着叉子,正要去叉盘中的最后一片食物,当你的叉 ...

  8. C# byte和10进制、16进制相互转换

    var SRMP = new byte[4]; Array.Copy(Encoding.UTF8.GetBytes(1.ToString("x2")), SRMP, Encodin ...

  9. 背水一战 Windows 10 (57) - 控件(集合类): ListViewBase - 增量加载, 分步绘制

    [源码下载] 背水一战 Windows 10 (57) - 控件(集合类): ListViewBase - 增量加载, 分步绘制 作者:webabcd 介绍背水一战 Windows 10 之 控件(集 ...

  10. 【文文殿下】P3737 [HAOI2014]遥感监测

    题解 显然可以把每个观测点,认为是x轴上的一段区间.问题就转换为了:对于x轴上的若干个区间,选取尽可能少的点,使得所有区间都有至少一个点. 这是一个相当经典的贪心问题. 代码如下: #include& ...