Docker安装elasticsearch
一、安装Docker
1、卸载旧版本docker
yum remove docker docker-common docker-selinux docker-engine
2、安装软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
3、设置阿里仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4、查看docker版本
yum list docker-ce --showduplicates | sort -r
5、安装docker
yum -y install docker-ce-18.03.1.ce
6、启动docker
systemctl start docker
二、Docker命令
基本命令
1、启动
systemctl stop docker
2、关闭
systemctl stop docker
3、重启
systemctl restart docker
4、查看镜像、容器等信息
docker info
5、查看版本信息
docker version
6、查看docker运行状态
systemctl status docker
镜像命令
1、查询docker镜像列表
docker images
2、按镜像名称查询
docker search 镜像名称
3、删除镜像
docker rmi IMAGE ID
容器命令
1、查询容器(仅显示运行中的容器)
docker ps
2、查询容器(显示所有容器,包含未运行的)
docker ps -a
3、关闭容器
docker container stop CONTAINER ID
4、启动容器
docker container start CONTAINER ID
5、重启容器
docker container restart CONTAINER ID
6、删除容器(一个镜像可以多个容器)
docker rm CONTAINER ID
日志命令
1、查询容器运行日志
docker logs -f 容器名称
docker logs -f elasticsearch
三、Docker安装elasticsearch
1、创建宿主机数据挂载目录,配置权限
不要将数据储存在容器中,这也是 Docker
官方容器使用技巧中的一条。容器随时可以停止、或者删除。当容器被rm掉,容器里的数据将会丢失。为了避免数据丢失,用户可以使用数据卷挂载来存储数据。
这就是为什么要创建下面的文件目录的原因
[root@localhost ~]# cd /home/
[root@localhost home]# mkdir es7/config -p
[root@localhost home]# mkdir es7/data -p
[root@localhost home]# mkdir es7/plugins -p
[root@localhost home]# cd es7/
[root@localhost es7]# chmod -R 777 /home/es7/
2、添加配置文件
[root@localhost home]# cd /es7/config
[root@localhost config]# touch elasticsearch.yml
[root@localhost config]# vim elasticsearch.yml
然后在elasticsearch.yml添加:
network.host: 0.0.0.0
# 可访问IP
http.port: 9200
transport.port: 9300
# 跨域
http.cors.enabled: true
http.cors.allow-origin: "*"
3、拉取镜像
docker pull elasticsearch:7.6.2
#docker pull elasticsearch:$version
#拉取镜像的时候,可以指定版本,如果不指定,默认使用latest
4、创建容器
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPS=-Xms2g -Xmx2g" -v /home/es7/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/es7/data:/usr/share/elasticsearch/data -v /home/es7/plugins:/usr/share/elasticsearch/plugins --restart=always -d elasticsearch:7.6.2
5、浏览器查看elasticsearch是否启动成功
http://ip:9200/
四、elasticsearch安装ik中文分词器
ps:分词器版本要和你es的版本一致,不然会安装失败
1、下载分词器
https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.6.2
2、安装ik
/home/es7/plugins/ik
[root@localhost plugins]# mkdir ik -p
[root@localhost plugins]# cd ik
[root@localhost ik]# unzip elasticsearch-analysis-ik-7.6.2.zip
后面就是重启elasticsearch了
3、测试ik
五、安装ElasticSearch-head
1、安装nodejs
下载
wget https://nodejs.org/dist/v14.17.4/node-v14.17.4-linux-x64.tar.xz
解压
tar xf node-v14.17.4-linux-x64.tar.xz
添加环境变量
vim /etc/profile
在文件最后添加
export NODEJS_HOME=/nodejs安装目录
export PATH=$NODEJS_HOME/bin:$PATH
刷新配置
source /etc/profile
确认是否安装成功,查看版本号
node -v
npm -v
2、安装elasticsearch-head
下载包
https://codeload.github.com/mobz/elasticsearch-head/zip/refs/heads/master
解压文件
unzip elasticsearch-head-master.zip
进去elasticsearch-head-maste目录安装node_module
npm install
后台运行
nohup npm run start &
最后执行exit,不然无法在后台运行
exit
elasticsearch-head端口是9100
六、ElasticSearch配置开启账号密码
1、修改elasticsearch.yml
network.host: 0.0.0.0
# 可访问IP
http.port: 9200
transport.port: 9300
# # 跨域
http.cors.enabled: true
http.cors.allow-origin: "*"
# 开启账户密码验证
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
2、重启elasticsearch
docker container restart CONTAINER ID
3、进去容器内部
#docker exec -it 容器名称 bash
docker exec -it elasticsearch bash
4、设置elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user 这些用户的密码
bin/elasticsearch-setup-passwords interactive
7、ElasticSearch-head需要账号密码的登录
127.0.0.1:9200?auth_user=elastic&auth_password=elastic