Elasticsearch Docker环境下安装

时间:2022-06-15 13:58:32

Elasticsearch Docker环境下安装

Daemon镜像配置的是https://registry.docker-cn.com

Linux:vi /etc/docker/daemon.json

也就是 "registry-mirrors": ["https://registry.docker-cn.com"]

  1. 下载镜像:
docker pull elasticsearch:5.6.8
  1. 创建容器

    docker run -di --name=elasticsearch -p 9200:9200 -p 9300:9300 elasticsearch:5.6.8

3.拷贝配置文件到宿主机

docker cp elasticsearch:/usr/share/elasticsearch/config/elasticsearch.yml /usr/share/elasticsearch.yml
  1. 停止和删除原来创建的容器:
docker stop elasticsearch

docker stop elasticsearch
  1. 重新执行创建容器命令:

    docker run -di --name=elasticsearch -p 9200:9200 -p 9300:9300 -v /usr/share/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:5.6.8
  2. 修改/usr/share/elasticsearch.yml

transport.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
  1. 系统调优:

nofile是单个进程允许打开的最大文件个数 soft nofile 是软限制 hard nofile是硬限制

vi /etc/security/limits.conf

 soft nofile 65536
hard nofile 65536
  1. 修改/etc/sysctl.conf,追加内容
vm.max_map_count=655360
  1. 限制一个进程可以拥有的VMA(虚拟内存区域)的数量

执行下面命令 修改内核参数马上生效

sysctl -p
  1. 重新启动虚拟机,再次启动容器

附:systemctl stop firewalld.service

浏览器输入地址:

http://127.0.0.1:9200/ 即可

{
"name" : "bOT2vQT",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "xxxx",
"version" : {
"number" : "5.6.12",
"build_hash" : "xxxx",
"build_date" : "xxxx",
"build_snapshot" : false,
"lucene_version" : "6.6.1"
},
"tagline" : "You Know, for Search"
}

若想进入容器

docker exec -ti elasticsearch /bin/bash

IK分词器安装

​ 在宿主机中将准备好的elasticsearch文件夹拷贝到容器内 /usr/share/elasticsearch/plugins 目录下

docker cp elasticsearch elasticsearch:/usr/share/elasticsearch/plugins

重新启动,即可加载IK分词器

docker restart elasticsearch
http://localhost:9200/_analyze?pretty&analyzer=ik_max_word&text=*

kibana

Kibana是一个基于Node.js的Elasticsearch索引库数据统计工具,可以利用Elasticsearch的聚合功能,生成各种图表,如柱形图,线状图,饼图等。

还提供了操作Elasticsearch索引数据的控制台,并且提供了一定的API提示,非常有利于我们学习Elasticsearch的语法

安装kibana,这里安装window版(注意版本kibana的版本与es的版本换成一致)

安装目录下的config目录,修改kibana.yml文件:

修改elasticsearch服务器的地址:

elasticsearch.url: "http://localhost:9200"

运行

进入安装目录下的bin目录:双击运行:kibana.bat

发现kibana的监听端口是5601

我们访问:http://127.0.0.1:5601

在kibana控制台(Dev Tools)输入下面的请求:

POST _analyze
{
"analyzer": "ik_max_word",
"text": "我是中国人"
}

附:HEAD插件安装

(1)修改/usr/share/elasticsearch.yml ,添加允许跨域配置

http.cors.enabled: true
http.cors.allow‐origin: "*"

(2)重新启动elasticseach容器

(3)下载head镜像

docker pull mobz/elasticsearch‐head:5

(4)创建head容器

docker run ‐di ‐‐name=myhead ‐p 9100:9100 docker pull mobz/elasticsearch‐
head:5

附:java安装

vim /etc/profile
export JAVA_HOME=/usr/local/java/jdk1.8.0_171
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

source /etc/profile