目录
(01)环境准备
(02)部署ElasticSearch
(03)部署安装kibana
(04)添加中文分词插件IK
01
环境准备
(单节点)ElasticSearch和Kibana服务的占用内存资源还是挺高的,推荐大家准备一台2核4G以上的服务器,我的8G内存都占用了3个多G。
准备好服务器或者虚拟机后,接下来需要安装docker环境,如果没有docker环境的话,请执行以下命令,安装一下docker
curl -fsSL https://get.docker.com | sh
#或者使用阿里云镜像
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
02
部署ElasticSearch(单节点)
首先需要创建一个docker网络,为了和后续的kibana使用同一个网络
docker network create elastic-network
执行以下命令,开始下载安装部署ElasticSearch
docker run -d \
--name elasticsearch \ #容器名称
--network elastic-network \ #声明网络
-p 9200:9200 \ #服务端口号
-p 9300:9300 \ #集群内部节点之间的通信
-e "discovery.type=single-node" \ #声明单节点部署
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ #根据自己服务器资源,自行分配最大堆栈内存
-e "ELASTIC_PASSWORD=你的密码" \ #如果开启安全认证,需要分配密码
-e "xpack.security.enabled=true" \ #开启安全认证,建议线上环境开启
-v /www/server/elasticsearch/data:/usr/share/elasticsearch/data \ #映射数据文件至宿主机
docker.elastic.co/elasticsearch/elasticsearch:8.14.3 #拉取镜像源
部署成功以后,访问localhost:9200,如果出现以下,证明安装成功
{
"name" : "Brain-Child",
"cluster_name" : "elasticsearch", "version" : {
"number" : "2.1.0",
"build_hash" : "72cd1f1a3eee09505e036106146dc1949dc5dc87",
"build_timestamp" : "2015-11-18T22:40:03Z",
"build_snapshot" : false,
"lucene_version" : "5.3.1"
},
"tagline" : "You Know, for Search"
}
注意:如果是云服务器,需要在云服务器平台开放9200端口规则,以及服务器的防火墙,不然的话访问不到。
03
先重置kibana的连接密码,进入docker容器内部,执行以下命令
bin\elasticsearch-reset-password -u kibana\_system
将新生成的密码保存好,一会部署kibana的时候需要用到
docker run -d \
--name kibana \
--network elastic-network \ #和ElasticSearch的网络保持一致
-p 5601:5601 \
-e "ELASTICSEARCH_HOSTS=http://elasticsearch:9200" \ #使用服务名进行连接,这样可以避免暴露ip
-e "ELASTICSEARCH_USERNAME=kibana_system" \ #kibana用户名
-e "ELASTICSEARCH_PASSWORD=刚才生成的密码" #kibana的密码
-e "I18N_LOCALE=zh-CN" \ #声明使用中文
-e "SERVER_PUBLICBASEURL=http://kibana.xxxx.com" \ #声明域名,如果有的话可以填,没有的话可以不声明此项
docker.elastic.co/kibana/kibana:8.14.3 #版本自行修改
部署完成以后,我们访问服务地址,同样的,也需要开放5601端口
在左侧菜单栏找到开发工具,在此菜单可以使用命令操作
04
添加中文分词插件IK
github地址
https://github.com/infinilabs/analysis-ik
安装ElasticSearch完成后,如果使用场景中需要用到中文分词,需要安装以下中文分词插件IK分词器,对于中文的检索效果是非常好的。
目前的ik分词器官网安装方式已经发生改变,不需要再单独下载zip包了,只需要执行一行命令即可安装。
首先先进入到ElasticSearch的容器内部,执行以下命令
docker exec -it 容器ID或容器名 bash
bin/elasticsearch-plugin install https://get.infini.cloud/elasticsearch/analysis-ik/8.4.1 #版本自行修改
安装完成以后,需要重启ElasticSearch容器
docker restart 容器ID或名称
登录到kibana,验证是否安装成功,在开发者工具中,执行以下命令
POST /_analyze
{
"analyzer":"ik_max_word",
"text":"我是中国人,我热爱我的祖国"
}
如果效果和以上一样,证明安装部署完成。