操作系统:CentOS 7.1
Java版本:1.8
Elasticsearch 6.2.4
Flume 1.8
Kibana
由于Elasticsearch可以接收用户输入的脚本并且执行,为了系统安全考虑,不允许root账号启动,所以建议给Elasticsearch单独创建一个用户来运行Elasticsearch。
创建elsearch用户
$ groupadd elsearch
$ useradd elsearch -g elsearch
$ echo "password" |passwd elsearch --stdin
设置目录属主和属组(非必须)
$ mkdir -pv /data/ES/
$ chown -R elsearch:elsearch /data/ES/
$ su - elsearch
ES 去官网直接下载,本人使用的是 6.4.2 版本;因为版本的不同安装head插件的时候安装步骤不同;好像是从5.0 以后的版本安装head 插件的步骤就不一样了 下载地址 : https://www.elastic.co/cn/downloads/elasticsearch
$ tar xf elasticsearch-6.4.2.tar.gz
没有配置集群,只是简单的配置了一下;详细说明可以参考官网;
cluster.name: TRAS-ES # 集群名称
node.name: node1 #
主机名
path.data: /data/ES/elasticsearch-6.4.2/data #
数据路径
path.logs: /data/ES/elasticsearch-6.4.2/logs #
日志路径
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 192.168.1.101
http.port: 9200
#默认通讯端口
#discovery.zen.ping.unicast.hosts: ["host1", "host2"]//集群ip
创建ES数据文件和日志文件
mkdir -p /data/ES/elasticsearch-6.4.2/data
mkdir -p /data/ES/elasticsearch-6.4.2/logs
进入到bin 目录下执行 ./elasticsearch 命令就可以了,
执行 ./elasticesrarch -d 是后台运行
这里就不写了,自行百度或者下我的文档都会有描述的。
执行curl 'http://自己配置的IP地址:9200/' 命令,就出现下面的结果
$ curl 'http://192.168.1.101:9200/'
{
"name" : "node1",
"cluster_name" : "TRAS-ES",
"cluster_uuid" : "g_YrGeWpT4aEMKAdigk-rQ",
"version" : {
"number" : "6.4.2",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "04711c2",
"build_date" : "2018-09-26T13:34:09.098244Z",
"build_snapshot" : false,
"lucene_version" : "7.4.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
如果没有什么问题话,就可以停掉前台启动,使用后台启动ES;
$ ./bin/elasticsearch -d
$ ss -tnlp |grep 9200
1.8 参考博客
http://blog.51cto.com/moerjinrong/2310817?source=dra
Flume 1.8是fulme出来的第一个稳定版,所以推荐使用这个版本
下载地址 https://mirrors.tuna.tsinghua.edu.cn/apache/flume/
无需安装 直接解压就可以使用
修改配置文件
复制flume-env.sh.template 修改名称为 flume-env.sh
命令:cp flume-env.sh.template flume-env.sh
打开flume-env.sh 修改下面内容
# Enviroment variables can be set here.
export JAVA_HOME=/opt/jdk1.8.0_112
# Give Flume more memory and pre-allocate, enable remote monitoring via JMX
ExportJAVA_OPTS=" -Xms100m -Xmx2000m -Dcom.sun.management.jmxremote“
配置flume-conf修改下面内容 创建spool.conf
这是配置是sources为 spool类型的配置文件 监听/root/logs文件夹 并显示到控制台
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = spooldir
a1.sources.r1.channels = c1
a1.sources.r1.spoolDir =/root/logs
a1.sources.r1.fileHeader = true
# Describe the sink
a1.sinks.k1.type = logger
# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
还有各种类型的配置文件 需要去官网自行查看 可以配置不通的sources,channel,sink,还能多对多的配置在这不详细解释
官网:http://flume.apache.org/FlumeUserGuide.html
bin/flume-ng agent --conf conf --conf-file conf/spool.conf --name a1 -Dflume.root.logger=INFO,console
Kibana 必须和Elasticsearch的版本一样,下载地址如下https://www.elastic.co/cn/products/kibana
Kibana是ElasticSearch的可视化平台,依赖ElasticSearch,需要优先安装ElasticSearch。
示例:ElasticSearch 4.2.4 集群
Kibana官方下载地址:https://www.elastic.co/cn/downloads/kibana
根据ElasticSearch版本及安装环境下载相应的Kibana安装包。
将安装包上次到服务器,然后解压安装包,例如解压到:/run/
tar –zxvf kibana-5.5.2-linux-x86_64.tar.gz–C /run/
然后到kibana安装目录的config下,编辑kibana.yml配置文件,添加如下配置:
#配置本机ip
server.host: "192.168.252.129"
#配置es集群url
elasticsearch.url: http://192.168.252.129:9200
该配置文件还可以添加其他配置项,例如:server.port: 5601 用来配置kibana服务端口,具体其他配置可以参考kibana.yml文件内部的注释说明。
切换到kibana安装目录的bin目录下,执行kibana文件 cd /run/kibana-5.5.2-linux-x86_64/bin/sh kibana
由于Elasticsearch 迭代太快,我所知道的就是几个月都更新就四五个大版本了,所以官方flume 一直就只能直接支持Elasticsearch 0.9 版本,所以需要对flume-ng-sinks 进行重写 在这不赘述要重写那些方法,需要做的就是把重写后的工程打成jar包,同时把工程依赖的jar包的jar包加上Elasticsearch6.2.4的lib下的jar包都全部放到Fulme 的lib下
在这里就不赘述需要怎么重写flume-ng-sinks 我就直接把把所有的Elasticsearch 6.2.4和flume1.8 打包给到这个网址:
https://download.csdn.net/download/qq_28455537/10790847 需要3积分 希望大家能多多分享
不能直接运行。需要修改flume 配置文件flume-env.sh的 export JAVA_HOME=/opt/jdk1.8.0_112
losg这个这个文件夹是写的绝对路径,记得修改
好了,有什么错的可以在这下面给我留言,第一次写博客,排版可能会很差,请多多包涵!