ELK搭建与hbase关联

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/asdfgggggggg/article/details/52818717

ELK(ElasticSearch Logstash Kibana)是三个开源工具,最常用的功能就是检查日志。如果开动脑洞,还会有更多的用途,这三个组合在一起确实功能很强大,每一种工具都有自己的功能的实现(按照日志处理的顺序来说):

(1)Logstash:具备了日志的“收集-过滤-输出”功能,其实也就这三个功能最常用。通过命令行来指定相关的配置,且配置的命令行都是固定(要根据官网提供的模板进行配置:Logstash配置文件)。按照官网的解释,Logstash中的输入input与输出output定义好了接口,也就是说只能有官网提供的开源的工具(sqlite、redis、stdin等)进行文件的输入与输出。然而这个工具也是具有将数据进行过滤进行简化,然后发送到目的工具。和hbase完全没有关系,况且也没有提供hbase的接口,也只是提供了hdfs的输入接口。

(2)ElasticSearch:这个其实就是一个分布式的数据存储工具与快速搜索功能,但是和其他的分布式不同的是它提供了可视化界面或者说是插件的提供。这个工具还是蛮强大的,在界面中提供了索引的搜索功能,接口方面还是有待研究的,但是冒号与值之间必须有空格,还有就是这个是禁止root的

该工程的配置文件:

分片与分片副本的关系:分片都是存储在一个节点上,然后在其他的节点存储相应的节点副本。

默认有5个主分片,1个分片副本,集群中只有两个节点。

其配置文件中相应的参数是:index.number_of_shards: 5 、index.number_of_replicas: 1、 gateway.expected_nodes: 2,配置之后副本之后在其他节点看不到反应,可能是没有配置集群中最大节点数。

(3)Kibana:是一个web界面的工具,主要提供了可视化搜索与可视化界面,默认与ElasticSearch接口连接。

与hbase连接解决的方法是:

1.首先将hbase数据文件读入文件中,然后在logstash定义好输入也就是检测该数据文件的变化,输出定义到elasticSearch中。

2.在elasticSearch的官网上给了一套api用于将数据存储到elasticSearch中。

大致过程是:

  1. 首先创建一个客户端client,建立与elasticSearch主节点(ip地址)的连接,里面需要定义好集群的名称。
  2. 使用client中的函数,将数据进行发送,函数中定义好(index、type、id)。

在这里开始很犹豫的地方是:在以往的数据库中,都是先建表,然后在存储数据,但是在elasticSearch中不存在直观建表的行为,或者说建表与存储数据是一体化的。

猜你喜欢

转载自blog.csdn.net/asdfgggggggg/article/details/52818717
今日推荐