Docker快速部署ElasticSearch8.14.3和kibana

数据库NoSQL数据库关系型数据库

目录

(01)环境准备

(02)部署ElasticSearch

(03)部署安装kibana

(04)添加中文分词插件IK

01

环境准备

(单节点)ElasticSearch和Kibana服务的占用内存资源还是挺高的,推荐大家准备一台2核4G以上的服务器,我的8G内存都占用了3个多G。

picture.image

准备好服务器或者虚拟机后,接下来需要安装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

picture.image

将新生成的密码保存好,一会部署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端口

在左侧菜单栏找到开发工具,在此菜单可以使用命令操作

picture.image

04

添加中文分词插件IK

github地址

https://github.com/infinilabs/analysis-ik

安装ElasticSearch完成后,如果使用场景中需要用到中文分词,需要安装以下中文分词插件IK分词器,对于中文的检索效果是非常好的。

目前的ik分词器官网安装方式已经发生改变,不需要再单独下载zip包了,只需要执行一行命令即可安装。

picture.image

首先先进入到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":"我是中国人,我热爱我的祖国"  
}

picture.image

如果效果和以上一样,证明安装部署完成。

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
高性能存储虚拟化方案 NVMe over Fabric 在火山引擎的演进
在云计算中,虚拟化存储扮演着重要角色,其中 iSCSI 协议在业界开放、流行多年。近年来,拥有更优性能的 NVMe over Fabrics 协议也得到了发展。本次分享介绍了 NVMe over Fabrics 在云原生和虚拟化方向的演进工作和成果。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论