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所示。
图-1:选择Elasticsearch版本
图-2:下载Elasticsearchtar包
图-3:下载的Elasticsearchtar包
2.下载elasticsearch对应的IK分词器:访问elasticsearch-analysis-ik软件GitHub托管地址https://github.com/medcl/elasticsearch-analysis-ik如图-4、图-5所示。
点击“Download ZIP”下载elasticsearch-analysis-ik压缩包。
图-4:elasticsearch-analysis-ik主页
图-5:选择elasticsearch-analysis-ik对应版本
图-7:下载 elasticsearch-analysis-ik zip格式的软件包
图-8:elasticsearch-analysis-ik zip格式的软件包
3.上传elasticsearch及elasticsearch-analysis-ik软件包到Linux服务器。
图-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/ |
图-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所示。
图-11 解压elasticsearch-analysis-ik软件包
11.在“/usr/local/elasticsearch/plugins”目录下创建“analysis-ik”目录,如图-12所示。
图-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所示。
图-13 analysis-ik目录
13. elasticsearch不能使用root用户进行启动,因此需要创建对应管理elasticsearch的用户。使用以下命令创建elsearch用户组,并在“elsearch”组下创建名为“elsearch”用户,设置密码为“elasticsearch”。
groupadd elsearch useradd elsearch -g elsearch -p elasticsearch |
14.为“elsearch”用户创建elasticsearch目录的读写及执行权限,如图-14所示。
图-14 elasticsearch文件夹权限
15.切换至elsearch用户,并启动elasticsearch,启动命令如图-15所示。
elasticsearch/bin/elasticsearch -d |
图-15 启动elasticsearch
16.按照以下路径访问elasticsearch,访问界面如图-16所示。如能出现图16所示则表示elasticsearch安装成功。
http://ip地址:9200/ |
图-16 elasticsearch启动页面
3. 在Linux系统中安装kibana
1.下载kibana 软件包,版本为6.2.4。
下载地址为:https://www.elastic.co/downloads/past-releases
图-17 kibana6.2.4下载
3.下载kibana 软件包,版本为6.2.4,并上传至”/usr/local/”目录,并解压,如图18、图19所示。
图-18 kibana软件包
图-19 kibana默认解压文件夹
4.将kibana-6.2.4-linux-x86_64文件夹命名为kibana,如图20所示。
图-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安装成功。
图-21 kibana主界面
7.使用kibana访问elasticsearch,并添加及访问数据。点击如图22所示“Dev Tools”菜单,并点击右侧执行按钮。出现如图所示执行结果则代表连接成功。
图-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"] |