安装ES
1.拉取镜像
docker pull elasticsearch:5.6.8
2.启动容器(9200管控台端口、9300是es端口)
docker run -di --name=es -p 9200:9200 -p 9300:9300 elasticsearch:5.6.8
3.输入http://192.168.100.129:9200/
4.进入容器
docker exec -it es /bin/bash
5.修改elasticsearch.yml,es5后默认不支持远程访问,需要修改。
es并不支持vi vim,需要安装vim编辑器
6.安装vim编辑器
apt-get update
apt-get install vim
7.安装好vim后再修改elasticsearch.yml
①去掉# transport.host:0.0.0.0这行的#
②顺便添加一行添加集群名称cluster.name: cbw-es表示当前节点加入了cbw这个集群,es中集群是非常简单的。
③跨域配置
添加如下三行:因为使用es-head插件作为客户端跨域才能访问es
http.cors.enable: true 允许es跨域访问,默认值是false
http.cors.allow-origin: "*" 跨域访问允许的域名地址(*表示任意)
network.host: 192.168.220.100 宿主机的IP地址
8.重启es
docker restart es
重启es可能会失败,因为es比较耗内存,如果机子内存够,就没没问题。
①修改vi /etc/security/limits.conf,追加内容如下(nofile单个进程允许打开的最大文件个数,soft nofile软限制,hard nofile是硬限制)
soft nofile 65536
hard nofile 65536
②修改vi /etc/sysctl.conf,追加内容如下(限制单个进程可以拥有的VMA虚拟内存区域的数量)
vm.max_map_count=655360
③执行下面命令,修改内核参数立马生效
sysctl -p
④重新启动虚拟机,再次启动容器,可以远程访问es
reboot
9.容器开机自动启动
docker update --restart=always 容器名称或者容器id
安装elasticsearch-head客户端(windows)
1.head插件安装方式有两种:在线安装、本地安装,下面采用本地安装,es5以上版本安装head需要安装node和grunt
2.安装node
cmd中通过node -v 查看安装的node版本号
3.git拉取head插件代码到本地 https://github.com/mobz/elasticsearch-head
4.将grunt安装为全局命令,Grunt是基于Node.js的项目构建工具
①在拉取的项目中所在的文件夹搜索框中输入cmd
②在cmd中输入npm install -g grunt-cli
③在cmd中输入启动head项目
npm install
grunt server
5.浏览器输入localhost:9100
安装Kibana客户端(docker)
elasticsearch-head功能比较单一,Kibana是一款开源的数据分析和可视化平台,可以使用Kibana对ES索引中的数据进行搜索、查看、交互操作。可以很方便的利用图表、表格以及地图对数据进行多元化的分析和呈现。
搭建Kibana非常简单。
1.镜像下载(和es版本一致)
docker pull kibana:5.6.8
2.启动容器
docker run -it -d -e ELASTICSEARCH_URL=http://192.168.100.130:9200 --name es_kibana --restart=always -p 5601:5601 kibana:5.6.8
ELASTICSEARCH_URL是指es地址,kibana要连接es
restart=always开启启动
5601 kibana端口号
3.kibana常用快捷键
ctrl+i 自动缩进
ctrl+enter 提交请求
down 打开自动补全菜单
enter或tab 选中项目自动补全
esc关闭补全菜单
4.访问kibana管控台页面
先关闭防火墙systemctl stop firewalld
http://192.168.100.130:5601
Kibana的使用
ElasticSearch API
由于docker中没有vim,下载vim失败,所以下面重现创建容器,宿主机和容器文件进行挂载,只需要修改宿主机即可。
1.创建宿主机文件夹
mkdir -p /opt/elasticsearch/config
mkdir -p /opt/elasticsearch/data
mkdir -p /opt/elasticsearch/plugins
2.创建容器
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \ -e "discovery.type=single-node" \ -e ES_JAVA_OPTS="-Xms84m -Xmx512m" \ -v /opt/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /opt/elasticsearch/data:/usr/share/elasticsearch/data \ -v /opt/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -d elasticsearch:5.6.8
- -p 端口映射
- -e discovery.type=single-node 单点模式启动
- -e ES_JAVA_OPTS="-Xms84m -Xmx512m":设置启动占用的内存范围
- -v 目录挂载
- -d 后台运行
3.直接修改宿主机elasticsearch.yml配置文件
echo "http.host: 0.0.0.0" >> /opt/elasticsearch/config/elasticsearch.yml
4.查看启动详情
docker ps 查看是否启动
docker logs elasticsearch 启动日志查询
docker restart elasticsearch 重启
docker exec -it elasticsearch /bin/bash 进入