Elasticsearch+IK+Kibana环境安装

Elasticsearch+IK+Kibana环境安装

1.    Elasticsearch 介绍

谈到Elasticsearch就必须首先谈Lucene。Lucene采用Java语言开发,被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。但是,Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其集成到需要搜索功能的应用中。由于Lucene自身的专业性和复杂性,开发者在接入Lucene前,必须要深入了解检索的相关知识,这就给基于Lucene搜索引擎的开发工作带来了一定的难度。

Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。不过,Elasticsearch不仅仅是Lucene和全文搜索,我们还可以从这样几个维度去描述它:

Ø  分布式实时全文搜索引擎:Elasticsearch以Document的形式对数据记录进行存储,并且对每一个字段均可以检索。

Ø  分布式实时分析搜索引擎:Elasticsearch有一个功能叫聚合(aggregations),允许我们基于数据生成一些精细的分析结果。聚合与 SQL 中的 GROUP BY 类似但更强大。

Ø  分布式实时大数据处理引擎:Elasticsearch可以扩展到上百台服务器,处理PB级结构化或非结构化数据。

开发者可以通过简单的RESTfulAPI、各种语言的客户端甚至命令行与之交互,完成上述功能。

2.    在Linux系统中安装Elasticsearch

安装过程选用CentOS7做为操作系统,选用的Elasticsearch版本为 6.2.4,具体安装步骤如下。

1.访问Elasticsearch官网下载Elasticsearch安装文件。如图-1、图-2所示,下载的文件如图-3所示。

Elasticsearch+IK+Kibana环境安装

图-1:选择Elasticsearch版本

Elasticsearch+IK+Kibana环境安装

图-2:下载Elasticsearchtar包

Elasticsearch+IK+Kibana环境安装

图-3:下载的Elasticsearchtar包

2.下载elasticsearch对应的IK分词器:访问elasticsearch-analysis-ik软件GitHub托管地址https://github.com/medcl/elasticsearch-analysis-ik如图-4、图-5所示。

点击“Download ZIP”下载elasticsearch-analysis-ik压缩包。

Elasticsearch+IK+Kibana环境安装

图-4:elasticsearch-analysis-ik主页

 

Elasticsearch+IK+Kibana环境安装

图-5:选择elasticsearch-analysis-ik对应版本

Elasticsearch+IK+Kibana环境安装

图-7:下载 elasticsearch-analysis-ik zip格式的软件包

Elasticsearch+IK+Kibana环境安装

图-8:elasticsearch-analysis-ik zip格式的软件包

3.上传elasticsearch及elasticsearch-analysis-ik软件包到Linux服务器。

Elasticsearch+IK+Kibana环境安装

图-9:上传软件包至Linux服务器

4.使用以下命令将elasticsearch-6.2.4.tar.gz解压至/usr/local/目录。

tar -zxvf elasticsearch-6.2.4.tar.gz

5.将elasticsearch-6.2.4更名为elasticsearch。

mv elasticsearch-6.2.4 elasticsearch

6.使用以下命令切换至elasticsearch/config目录,切换后的目录如图-10所示。

cd /elasticsearch/config/

Elasticsearch+IK+Kibana环境安装

图-10:切换至config目录

7.修改elasticsearch.yml文件,以下内容

#集群名称

cluster.name: elasticsearch-application

#集群端口

http.port: 9200

#节点ip

network.host: 0.0.0.0

注意:network.host的值不能为127.0.0.1,否则除本机外,外部机器将无法连接elasticsearch。

8.解压elasticsearch-analysis-ik-6.2.4.zip到“/usr/local/ik”目录,如图11所示。

Elasticsearch+IK+Kibana环境安装

图-11 解压elasticsearch-analysis-ik软件包

11.在“/usr/local/elasticsearch/plugins”目录下创建“analysis-ik”目录,如图-12所示。

Elasticsearch+IK+Kibana环境安装

图-12 创建ik插件目录

12.使用以下命令将解压后的“ik”插件包的文件拷贝至“/usr/local/elasticsearch/plugins/analysis-ik”目录。

cp -r /usr/local/ik/elasticsearch/*  /usr/local/elasticsearch/plugins/analysis-ik/

拷贝后的“analysis-ik”目录下的文件如图-13所示。

Elasticsearch+IK+Kibana环境安装

图-13 analysis-ik目录

13. elasticsearch不能使用root用户进行启动,因此需要创建对应管理elasticsearch的用户。使用以下命令创建elsearch用户组,并在“elsearch”组下创建名为“elsearch”用户,设置密码为“elasticsearch”。

groupadd elsearch

useradd elsearch -g elsearch -p elasticsearch

14.为“elsearch”用户创建elasticsearch目录的读写及执行权限,如图-14所示。

Elasticsearch+IK+Kibana环境安装

图-14 elasticsearch文件夹权限

15.切换至elsearch用户,并启动elasticsearch,启动命令如图-15所示。

elasticsearch/bin/elasticsearch -d

Elasticsearch+IK+Kibana环境安装

图-15 启动elasticsearch

16.按照以下路径访问elasticsearch,访问界面如图-16所示。如能出现图16所示则表示elasticsearch安装成功。

http://ip地址:9200/

Elasticsearch+IK+Kibana环境安装

图-16 elasticsearch启动页面

3.    在Linux系统中安装kibana

1.下载kibana 软件包,版本为6.2.4。

下载地址为:https://www.elastic.co/downloads/past-releases

Elasticsearch+IK+Kibana环境安装

图-17 kibana6.2.4下载

3.下载kibana 软件包,版本为6.2.4,并上传至”/usr/local/”目录,并解压,如图18、图19所示。

Elasticsearch+IK+Kibana环境安装

图-18 kibana软件包

Elasticsearch+IK+Kibana环境安装

图-19 kibana默认解压文件夹

4.将kibana-6.2.4-linux-x86_64文件夹命名为kibana,如图20所示。

Elasticsearch+IK+Kibana环境安装

图-20 修改kibana目录名称

5.打开”/usr/local/kibana/config”目录,修改kibana配置文件以下属性。

server.port: 5601

server.host: "0.0.0.0"

elasticsearch.url: http://localhost:9200

6.启动kibana,出现以下界面,代表kibana安装成功。

Elasticsearch+IK+Kibana环境安装

图-21 kibana主界面

7.使用kibana访问elasticsearch,并添加及访问数据。点击如图22所示“Dev Tools”菜单,并点击右侧执行按钮。出现如图所示执行结果则代表连接成功。

Elasticsearch+IK+Kibana环境安装

图-22 kibana默认解压文件夹

至此,kibana及elasticsearch软件环境全部安装成功。

4.    在docker环境中安装elasticsearch及kibana

依据以上的安装步骤,可将elasticsearch及kibana写成dockerfile,用以生成相关docker容器。

示例1:Elasticsearchdockerfile

# elasticsearch-6 5.15.2

# Dependyce JDK8

FROM yi/centos7-jdk8u151

MAINTAINER zezhong.shang

ADD  elasticsearch-6.2.4.tar.gz /usr/local/

COPY elasticsearch.yml /usr/local/elasticsearch-6.2.4/config/

# Install libs

WORKDIR /usr/local/

RUN groupadd elsearch

RUN useradd elsearch -g elsearch -p elasticsearch

RUN chown -R elsearch:elsearch  elasticsearch-6.2.4

RUN chown -R elsearch:elsearch /usr/bin/supervisord

RUN touch /usr/local/supervisord.log

RUN chown -R elsearch:elsearch /usr/local/supervisord.log

USER elsearch

EXPOSE 9200

EXPOSE 9300

COPY supervisord.conf /etc/supervisord.conf

CMD ["/usr/bin/supervisord"]

示例2:Kibana dockerfile

#elasticsearch-6 5.15.2

# Dependyce JDK8

FROM yi/centos7-jdk8u151

MAINTAINER zezhong.shang

ADD  kibana-6.2.4-linux-x86_64.tar.gz /usr/local/

COPY kibana.yml /usr/local/kibana-6.2.4-linux-x86_64/config/

# Install libs

WORKDIR /usr/local/

RUN groupadd kibana

RUN useradd kibana -g kibana -p kibana

RUN chown -R kibana:kibana kibana-6.2.4-linux-x86_64

RUN chown -R kibana:kibana /usr/bin/supervisord

RUN touch /usr/local/supervisord.log

RUN chown -R kibana:kibana /usr/local/supervisord.log

USER kibana

EXPOSE 5601

COPY supervisord.conf /etc/supervisord.conf

CMD ["/usr/bin/supervisord"]