标签:DockerCompose ip elasticsearch ElasticSearch docker data 节点 es 搭建
说明
由于我本机配置较低,无法开启多台虚拟机,ES的集群需要用到不同的ip,故而只搭建单机,不做集群。
一、目录准备
mkdir /docker/es
mkdir /docker/es/data
mkdir /docker/es/config
mkdir /docker/es/plugins
二、es配置准备
cd /docker/es
vi elasticsearch.yml
使用以下配置:
# 集群名称
cluster.name: elasticsearch-cluster
# 节点名称
node.name: es-node-1
# 绑定host,0.0.0.0代表当前节点的ip
network.host: 0.0.0.0
# 设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址(本机ip)
network.publish_host: 192.168.200.135
# 设置对外服务的http端口,默认为9200
http.port: 9200
# 设置节点间交互的tcp端口,默认是9300
transport.tcp.port: 9300
# 是否支持跨域,默认为false
http.cors.enabled: true
# 当设置允许跨域,默认为*,表示支持所有域名,如果我们只是允许某些网站能访问,那么可以使用正则表达式。比如只允许本地地址。 /https?:\/\/localhost(:[0-9]+)?/
http.cors.allow-origin: "*"
# 表示这个节点是否可以充当主节点
node.master: true
# 是否充当数据节点
node.data: true
# 所有主从节点ip:port
#discovery.seed_hosts: ["192.168.200.135:9300"] #本地只有一个节点,无法正常启动,先注释
# 这个参数决定了在选主过程中需要 有多少个节点通信 预防脑裂 N/2+1
discovery.zen.minimum_master_nodes: 1
#初始化主节点
#cluster.initial_master_nodes: ["es-node-1"] #本地只有一个节点,无法正常启动,先注释
三、准备docker-compose.yml
vi docker-compose.yml
内容如下:
version: '3'
services:
elasticsearch:
image: elasticsearch:6.8.13
restart: always
hostname: es1
container_name: es-single
volumes:
- /docker/es/data:/usr/share/elasticsearch/data
- /docker/es/plugins:/usr/share/elasticsearch/plugins
- /docker/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
environment:
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- discovery.type=single-node
ports:
- '9200:9200' #java、集群通信端口
- '9300:9300' #http通信端口
privileged: true #环境变量
四、启动容器docker-compose up -d
五、查看
docker-compose ps
如果启动是吧,可以使用docker container logs 容器id/es-single logs
查看启动日志
参考:docker部署redis/mongodb/rabbitmq中的es小节
如果出现启动日志中出现java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes
,需要给data目录设置权限 chmod 777 /docker/es/data
标签:DockerCompose,ip,elasticsearch,ElasticSearch,docker,data,节点,es,搭建 来源: https://blog.csdn.net/keketrtr/article/details/122784469
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。