从零到壹搭建一个商城架构--在Docker中安装Elasticsearch

1、下载镜像地址

docker pull elasticsearch:7.4.2 存储和检索数据
docker pull kibana:7.4.2 可视化检索数据

2、创建实例

2.1、ElasticSearch

mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml

接下来就安装ElasticSearch的docker镜像

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-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

执行完以上命令可能会出现几个问题

  • yml语法写错了

查看日志

docker logs elasticsearch
Caused by: ParsingException[Failed to parse object: expecting token of type [START_OBJECT] but found [VALUE_STRING]]

以上错误信息是我们的elasticsearch.yml文件中的键值对写的有问题

#错误语法
echo "http.host:0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml
#正确语法,键值对中间需要有一个空格,这是yml格式的规范
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml

看上面这两条语句,我们的yml语法规则是键值中间必须有空格,所以我们使用第二条

  • 没有权限
"Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes"

以上错误信息,是我们所配置的文件夹的访问权限不足

在/mydata/elasticsearch目录下我们执行

在这里插入图片描述

当前我们只有执行和阅读权限,没有写的权限,我们执行如下命令

chmod -R 777 /mydata/elasticsearch

解决完以上问题,我们接着启动elasticsearch

docker start [elasticsearch容器ID]

访问浏览器192.168.56.10:9200

出现如下效果,说明启动已经完成
在这里插入图片描述

2.2、kibana

docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200 -p 5601:5601 \
-d kibana:7.4.2

注意:ELASTICSEARCH_HOSTS=http://192.168.56.10:9200 一定要改为自己虚拟机中ElasticSearch的地址加端口

浏览器访问http://192.168.56.10:5601,出现如下效果,说明已经启动成功
在这里插入图片描述

2.3、使ElasticSearch和kibana随系统启动

docker update elasticsearch --restart=always
docker update kibana --restart=always

以上,我们的ElasticSearch配置完毕,下一个博客就来初步的学习这个玩意

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章