Linux下整合Elasticsearch和Kibana

Linux下整合Elasticsearch和Kibana

        • Elasticsearch简介
        • Elasticsearch使用案例
        • 安装环境
        • 安装
            • 创建存放es的文件目录
            • 上传文件到es目录下
            • 授权
            • 解压 elasticsearch-6.3.1.tar.gz
            • 启动
            • 添加用户es
            • 配置jvm.Opitons
            • 配置elasticSearch.yml
            • 切换到es启动
            • 修改linux的默认线程数、最大文件数、最大内存数
            • 运行测试
            • 避免运行了elasticsearch不能再继续输入操作命令
        • 配置文件
        • 整合es的工具Kibana
            • 解压kibana-6.3.1-linux-x86_64.tar.gz
            • 修改 kibana.yml
            • 启动 kibana
        • Solr、ES区别

Elasticsearch简介

Elasticsearch是一个基于Apache Lucene™的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。
特点:
1.分布式的实时文件存储,每个字段都被索引并可被搜索
2. 分布式的实时分析搜索引擎–做不规则查询
3.可以扩展到上百台服务器,处理PB级结构化或非结构化数据 Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful
API来隐藏Lucene的复杂性,从而让全文搜索变得简单。 ES能做什么?
全文检索(全部字段)、模糊查询(搜索)、数据分析(提供分析语法,例如聚合)

Elasticsearch使用案例

(1)2013年初,GitHub抛弃了Solr,采取ElasticSearch 来做PB级的搜索。 “GitHub使用ElasticSearch搜索20TB的数据,包括13亿文件和1300亿行代码”
(2)维基百科:启动以elasticsearch为基础的核心搜索架构SoundCloud:“SoundCloud使用ElasticSearch为1.8亿用户提供即时而精准的音乐搜索服务”
(3)百度:百度目前广泛使用ElasticSearch作为文本数据分析,采集百度所有服务器上的各类指标数据及用户自定义数据,通过对各种数据进行多维分析展示,辅助定位分析实例异常或业务层面异常。目前覆盖百度内部20多个业务线(包括casio、云分析、网盟、预测、文库、直达号、钱包、风控等),单集群最大100台机器,200个ES节点,每天导入30TB+数据
(4)新浪使用ES 分析处理32亿条实时日志
(5)阿里使用ES 构建挖财自己的日志采集和分析体系

安装环境

Centos + jdk8
我这里采用的是Centos6.8,用Centos 7出现的问题比较少,这里总结了Centos出现的问题
在这里插入图片描述

安装

创建存放es的文件目录
mkdir -p /opt/es
上传文件到es目录下

Linux下整合Elasticsearch和Kibana_第1张图片
在这里插入图片描述

授权
chmod 777 *
这个文件夹没有别的文件,所以一次性授权了。

在这里插入图片描述

解压 elasticsearch-6.3.1.tar.gz
tar -zxvf elasticsearch-6.3.1.tar.gz
启动

进入bin目录
在这里插入图片描述

./elasticsearch

Linux下整合Elasticsearch和Kibana_第2张图片

需要改成其他非root用户才能启动

添加用户es
adduser es

用root用户配置Es使用最大线程数、最大内存数、访问的最大文件数

chmod 777 -R elasticsearch-6.3.1 循环授权
配置jvm.Opitons

在这里插入图片描述
Linux下整合Elasticsearch和Kibana_第3张图片

配置elasticSearch.yml

elasticSearch.yml中配置es的host地址(配成本机地址,允许访问)
Linux下整合Elasticsearch和Kibana_第4张图片

切换到es启动
su es

Linux下整合Elasticsearch和Kibana_第5张图片

启动后会报错(linux的默认线程数、最大文件数、最大内存数都不够)

修改linux的默认线程数、最大文件数、最大内存数

切换为root
修改linux的limits配置文件,设置内存线程和文件
nofile - 打开文件的最大数目
noproc - 进程的最大数目
soft 指的是当前系统生效的设置值
hard 表明系统中所能设定的最大值

* hard nofile 655360
* soft nofile 131072
* hard nproc 4096
* soft nproc 2048
vi /etc/security/limits.conf

Linux下整合Elasticsearch和Kibana_第6张图片

修改linux的sysctl配置文件,配置系统使用内存
vi /etc/sysctl.conf

vm.max_map_count=655360
fs.file-max=655360

Linux下整合Elasticsearch和Kibana_第7张图片

使配置生效sysctl -p
切换成es再运行
Centos6和7报的错有些不一样。
在这里插入图片描述
切换至root用户
第一个错误:修改limits.d目录下的配置文件:
vi /etc/security/limits.d/90-nproc.conf
Linux下整合Elasticsearch和Kibana_第8张图片
第二个错误:Centos6不支持SecComp,而ES5.2.0默认bootstrap.system_call_filter为true
在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:

bootstrap.memory_lock: false
bootstrap.system_call_filter: false

Linux下整合Elasticsearch和Kibana_第9张图片

运行测试

http://192.168.23.128:9200/
Linux下整合Elasticsearch和Kibana_第10张图片

避免运行了elasticsearch不能再继续输入操作命令

& : 指在后台运行
nohup : 不挂断的运行
&是指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出
那么,我们可以巧妙的吧他们结合起来用就是
nohup COMMAND &
这样就能使命令永久的在后台执行

 nohup ./elasticsearch &

在这里插入图片描述

配置文件

修改了一下配置文件:
elasticSearch.yml es的启动host地址
jvm.options配置es的虚拟机内存
limits.conf配置linux的线程内存和文件
sysctl.conf配置系统允许的软件运行内存

整合es的工具Kibana

解压kibana-6.3.1-linux-x86_64.tar.gz
tar -zxvf kibana-6.3.1-linux-x86_64.tar.gz

在这里插入图片描述
在这里插入图片描述

修改 kibana.yml

在这里插入图片描述

vi kibana.yml

Linux下整合Elasticsearch和Kibana_第11张图片

启动 kibana
nohup ./kibana &

http://192.168.23.128:5601/
Linux下整合Elasticsearch和Kibana_第12张图片

Solr、ES区别

全文检索、搜索、分析。基于lucene

  1. Solr 利用 Zookeeper 进行分布式管理,而 Elasticsearch 自身带有分布式协调管理功能;
  2. Solr 支持更多格式的数据,而 Elasticsearch 仅支持json文件格式;
  3. Solr 官方提供的功能更多,而 Elasticsearch 本身更注重于核心功能,高级功能多有第三方插件提供;
  4. Solr 在传统的搜索应用中表现好于 Elasticsearch,但在处理实时搜索应用时效率明显低于 Elasticsearch-----附近的人

下期再见。。。

你可能感兴趣的:(java,kibana,Elasticsearch,Java,Elasticsearch,kibana,solr,es)