Centos7下配置elasticsearch环境
相关环境介绍
本文所使用环境为centos7+docker+elasticsearch7.6.2
elasticsearch安装
使用docker获取es的镜像进行安装,如果没安装docker请先安装,以下暂不展示,请参考如下连接
以下为elasticsearch安装步骤
-
拉取elasticsearch镜像,选择自己需要的版本,详情见 docker仓库elasticsearch历史版本
docker pull elasticsearch:7.6.2
-
查看镜像
docker images
-
安装es
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 --network esnet -e "discovery.type=single-node" f9f7fac59a10
命令 含义 --name 名称 给容器起个名字 -p 外部访问端口:容器端口 9200是供htpp访问端口,9300是供tcp访问的端口,如果不做端口映射,浏览器就不能访问elasticsearch的服务 --network 网络名 用于多个服务通信与隔离,例如用kibana连接elasticsearch就需要他们在同一个网络下 e "discovery.type=single-node" 单集群模式启动 f9f7fac59a10 通过docker images命令查看到需要创建的容器id,此处用镜像名也可以 -
配置跨域访问
# 容器名即为之前安装运行es命令中 --name后面所取的名字 docker exec -it [容器名] /bin/bash
进入容器后查看目录,进入config目录修改elasticsearch.yml文件
# 编辑 elasticsearch.yml文件,vim需要安装 # 使用 yum -y install vim 命令即可,不安装的话使用 vi进行编辑也行 vim elasticsearch.yml
在elasticsearch.yml文件中添加如下语句
http.cors.enabled: true http.cors.allow-origin: "*"
保存后使用exit退出容器,之后重启容器
docker restart [容器名]
-
最后检验docker是否安装成功
浏览器访问 9200端口 http://[你自己服务器IP/本地则使用localhost]:9200
没有开放端口的先在防火墙开放端口
# 开放9200端口 firewall-cmd --zone=public --add-port=9200/tcp --permanent # 开放9300端口 firewall-cmd --zone=public --add-port=9300/tcp --permanent # 开放5601端口(kibana访问端口) firewall-cmd --zone=public --add-port=5601/tcp --permanent #重新加载防火墙配置 firewall-cmd --reload #重启防火墙 systemctl restart firewalld
访问9200端口后出现下图则表示安装成功
elasticsearch Head安装
elasticsearch Head是一个浏览器端的可视化图形界面,有两种使用方式,一种是直接以插件形式安装,另一种是使用chrome扩展
插件安装
-
直接安装
# 在Elasticsearch目录下 /bin/plugin -install mobz/elasticsearch-head # 如果出现ERROR: unknown command [-install]. Use [-h]错误,是因为好像2.0以上的版本-install 变成了 install了。 /bin/plugin install mobz/elasticsearch-head
-
下载安装
- 插件下载方式安装:从https://download.csdn.net/download/xiaolong2230/11209538下载或者从https://github.com/mobz/elasticsearch-head下载ZIP包。
- 在 elasticsearch 目录下创建目录/plugins/head 并且将刚刚解压的elasticsearch-head-master目录下所有内容COPY到当前创建的/plugins/head/下面。
- 重启Elasticsearch。访问。
访问地址是http://{你的ip地址}:9200/_plugin/head/
chrome扩展
-
此方法需科学web,但是方便,安装即用,有能力的推荐使用
界面图
IK分词器的安装
- 首先确保elsaticsearch容器已经启动
- 安装有在线和离线两种
在线安装
-
进入容器 docker exec -it elasticsearch /bin/bash
-
在线下载并安装ik分词器
# ik分词器的版本必须和elasticsearch版本一致, ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip
-
进入plugins可以看到IK分词器已经安装成功
离线安装
-
首先下载好ik分词器的压缩包并上传到 虚拟机/服务器 的某个目录(github自行下载对应版本)
-
将压缩包移入elasticsearch容器中
docker cp [你上传目录]/elasticsearch-analysis-ik-7.6.2.zip elasticsearch:/usr/share/elasticsearch/plugins
-
进入容器 docker exec -it 【容器名】 /bin/bash
-
创建目录,将文件移动到该目录解压
# 创建目录 mkdir /usr/share/elasticsearch/plugins/ik # 移动文件 mv /usr/share/elasticsearch/plugins/elasticsearch-analysis-ik-7.6.2.zip /usr/share/elasticsearch/plugins/ik # 进入目录 cd /usr/share/elasticsearch/plugins/ik # 解压 unzip elasticsearch-analysis-ik-7.6.2.zip # 删除压缩包 rm -rf elasticsearch-analysis-ik-7.6.2.zip # 退出容器 exit;
-
最后重启容器即可
kibana安装
-
拉取镜像
# 注意和elasticsearch版本一致 docker pull kibana:7.6.2
-
构建docker容器并运行
# 启动kibana docker run -d --name kibana --link 已经启动的elasticsearch的容器ID或者是名字:elasticsearch -p 5601:5601 kibana:7.6.2 # 例如 docker run -d --name kibana --link elasticsearch:elasticsearch -p 5601:5601 kibana:7.6.2
-
修改kibana为中文
# 进入容器并打开配置文件 docker exec -it kibana /bin/bash cd config vi kibana.yml # 添加如下代码 # 设置中文 i18n.locale: "zh-CN"
-
退出重启
exit docker restart kibana
-
界面如下