一、Docker 安装 Es
安装之前先检查自己docker 环境是否正常,以及建议把docker 下载镜像源修改为阿里镜像
1、下载镜像文件
1 2 3 4
| docker pull elasticsearch:7.4.2 存储和检索数据
docker pull kibana:7.4.2 可视化检索数据
|
2、创建实例
① ElasticSearch
ElasticSearch 配置
1 2 3 4 5 6 7 8 9 10
| mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml
chmod -R 777 /mydata/elasticsearch/
|
Elastic search启动
1 2 3 4 5 6 7 8 9 10 11 12
|
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \ -e "discovery.type=single-node" \-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \ -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \ -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -d elasticsearch:7.4.2
docker update elasticsearch --restart=always
|
注意:
因为容器里的文件映射到了外面,所以删除容器和新建容器数据还在
-e ES_JAVA_OPTS=”-Xms64m -Xmx256m” \ 测试环境下, 设置 ES 的初始内存和最大内存, 否则导致过大启动不了 ES
第一次查docker ps启动了,第二次查的时候发现关闭了,docker logs elasticsearch
http://192.168.56.10:9200
数据挂载到外面,但是访问权限不足
把/mydata/elasticsearch下文件夹的权限设置好,上面已经设置过了
如果你使用的阿里云服务器,记得在安全组里面开放9200端口
Elastic search测试
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| { "name": "566f1291aedb", "cluster_name": "elasticsearch", "cluster_uuid": "bap0P7JOQGy5hTBTxqS7kQ", "version": { "number": "7.4.2", "build_flavor": "default", "build_type": "docker", "build_hash": "2f90bbf7b93631e52bafb59b3b049cb44ec25e96", "build_date": "2019-10-28T20:40:44.881551Z", "build_snapshot": false, "lucene_version": "8.2.0", "minimum_wire_compatibility_version": "6.8.0", "minimum_index_compatibility_version": "6.0.0-beta1" }, "tagline": "You Know, for Search" }
|
显示elasticsearch 节点信息 http://192.168.56.10:9200/_cat/nodes
1
| 127.0.0.1 13 94 13 0.51 0.62 0.47 dilm * 566f1291aedb
|
② Kibana
启动kibana
1 2 3 4 5 6
| # kibana指定了了ES交互端口9200 # http://192.168.56.10:9200 一定改为自己虚拟机的地址 docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200 -p 5601:5601 -d kibana:7.4.2
# 设置开机启动kibana docker update kibana --restart=always
|
访问Kibana: http://192.168.56.10:5601/app/kibana
注意:
遇到了更新阿里源也下载不下来kibana镜像的情况,先在别的网络下载下来后传到vagrant中
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| docker save -o kibana.tar kibana:7.4.2
docker load -i kibana.tar
修改/etc/ssh/sshd_config 修改 PasswordAuthentication yes
systemctl restart sshd.service 或 service sshd restart
也可以通过vagrant ssh-config查看ip和端口,此时是127.0.0.1:2222
|
在安装离线docker镜像的时候还提示内存不足,看了下是因为外部挂载的内存也算在了vagrant中,即使外部删了很多文件,vagrant中df -h硬盘占用率也不下降。我在外部删完文件后在内部又rm -rf XXX 强行接触占用
CentOS 7 安装 Elasticsearch