全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。
它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。
Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。
Kibana 是一个开源的分析和可视化平台,旨在与 Elasticsearch 合作。Kibana 提供搜索、查看和与存储在 Elasticsearch 索引中的数据进行交互的功能。开发者或运维人员可以轻松地执行高级数据分析,并在各种图表、表格和地图中可视化数据。
Elasticsearch和Kibana下载地址:https://www.elastic.co/downloads
下载源码包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.tar.gz
安装jdk并新建ES组和用户
yum install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 -y #添加es组 groupadd es #添加es用户 useradd -g es es tar -zxvf elasticsearch-6.3.2.tar.gz mv elasticsearch-6.3.2 /usr/local/elasticsearch chown -R es:es /usr/local/elasticsearch cd /usr/local/elasticsearch
修改elasticsearch
vi config/elasticsearch.yml #修改内容(没有就添加): cluster.name: my-application bootstrap.memory_lock: false node.name: node-1 network.host: 0.0.0.0 http.port: 9200 bootstrap.system_call_filter: false
修改内核/etc/sysctl.conf
vi /etc/sysctl.conf #添加 vm.max_map_count=262144 #使修改的内核生效 sysctl -p
修改文件/etc/security/limits.conf
vi /etc/security/limits.conf * hard nofile 65536 * soft nofile 65536 * soft nproc 65536 * hard nproc 65536
以上修改好了启动elasticsearch
切换到es用户下
su es ./bin/elasticsearch &
浏览器访问http://ip:9200
下面是安装成功的截图
然后我们接着安装kibana
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.3.2-linux-x86_64.tar.gz tar -zxvf kibana-6.3.2-linux-x86_64.tar.gz mv kibana-6.3.2-linux-x86_64 /usr/local/kibana
修改kabana配置文件
vi /usr/local/kibana/config/kibana.yml #主要是以下几行改成这样既可 server.port: 5601 server.host: "0.0.0.0" elasticsearch.url: "http://127.0.0.1:9200"
最后我们进入kabana目录,启动它既可,注意这里启动可以无需切换到es用户
./bin/kibana &
http://ip:5601,成功启动显示界面如下图