Elasticsearch Docker环境下安装
Elasticsearch Docker环境下安装
Daemon镜像配置的是https://registry.docker-cn.com
Linux:vi /etc/docker/daemon.json
也就是 "registry-mirrors": ["https://registry.docker-cn.com"]
- 下载镜像:
docker pull elasticsearch:5.6.8
-
创建容器
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
- 停止和删除原来创建的容器:
docker stop elasticsearch
docker stop elasticsearch
-
重新执行创建容器命令:
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
-
修改/usr/share/elasticsearch.yml
transport.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
- 系统调优:
nofile是单个进程允许打开的最大文件个数 soft nofile 是软限制 hard nofile是硬限制
vi /etc/security/limits.conf
soft nofile 65536
hard nofile 65536
- 修改/etc/sysctl.conf,追加内容
vm.max_map_count=655360
- 限制一个进程可以拥有的VMA(虚拟内存区域)的数量
执行下面命令 修改内核参数马上生效
sysctl -p
- 重新启动虚拟机,再次启动容器
附: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
在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