docker 运行 elasticsearch + kibana + head 集群


 因为ES的head插件在用作集群的查看和管理方便,所以也安装了 head 插件;

一、elasticsearch的安装

1、从官网上拉取 elasticsearch 的镜像

docker pull elasticsearch:6.6.0
docker images

 镜像ID:13aa43015aa1

2、准备目录和配置文件

2.1 准备目录:

mkdir -p /opt/elasticsearch/config mkdir -p /opt/elasticsearch/data/es1 mkdir -p /opt/elasticsearch/data/es2 mkdir -p /opt/elasticsearch/logs/es1 mkdir -p /opt/elasticsearch/logs/es2

注意:一定要给这些目录加可读可写的权限,否则启动docker时候会报错; 

chmod 777 /opt/elasticsearch/data -R;

chmod 777 /opt/elasticsearch/logs -R;

2.2 准备配置文件

es1.yml文件:

# 配置es的集群名称 cluster.name: es-cluster # 节点名称 node.name: node-1 network.host: 0.0.0.0 # 指定http端口,你使用head、kopf等相关插件使用的端口 http.port: 9200 # 设置节点间交互的tcp端口,默认是9300 transport.tcp.port: 9300 #设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点 discovery.zen.ping.unicast.hosts: ["192.168.172.20:9300", "192.168.172.20:9301"] #如果没有这种设置,遭受网络故障的集群就有可能将集群分成两个独立的集群 - 分裂的大脑 - 这将导致数据丢失 discovery.zen.minimum_master_nodes: 2 #es5.x版本以上需要,head访问 http.cors.enabled: true http.cors.allow-origin: "*" #某些系统需要 是因为centos6.x操作系统不支持SecComp,而elasticsearch 5.5.2默认   bootstrap.system_call_filter>为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。 bootstrap.memory_lock: false bootstrap.system_call_filter: false

es2.yml文件:

# 配置es的集群名称,es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。 cluster.name: es-cluster # 节点名称 node.name: node-2 # 存储数据的目录 #path.data: /home/elasticsearch/data # 存储日志的目录 #path.logs: /home/elasticsearch/logs # 设置绑定的ip地址还有其它节点和该节点交互的ip地址 network.host: 0.0.0.0 # 指定http端口,你使用head、kopf等相关插件使用的端口 http.port: 9201 # 设置节点间交互的tcp端口,默认是9300 transport.tcp.port: 9301 #设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点 discovery.zen.ping.unicast.hosts: ["192.168.172.20:9300", "192.168.172.20:9301"] #如果没有这种设置,遭受网络故障的集群就有可能将集群分成两个独立的集群 - 分裂的大脑 - 这将导致数据丢失 discovery.zen.minimum_master_nodes: 2 #es5.x版本以上需要,head插件的访问 http.cors.enabled: true http.cors.allow-origin: "*" #某些系统需要 是因为centos6.x操作系统不支持SecComp,而elasticsearch 5.5.2默认   bootstrap.system_call_filter>为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。 bootstrap.memory_lock: false bootstrap.system_call_filter: false

3、运行容器

启动ES1

docker run --name es1_6.6.0 \ -p 9200:9200 \ -p 9300:9300 \ -e ES_JAVA_OPTS="-Xms256m -Xmx256m" \ -v /opt/elasticsearch/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /opt/elasticsearch/data/es1:/usr/share/elasticsearch/data \ -v /opt/elasticsearch/logs/es1:/usr/share/elasticsearch/logs \ -d 13aa43015aa1

启动ES2:

docker run --name es1_6.6.0 \ -p 9201:9201 \ -p 9301:9301 \ -e ES_JAVA_OPTS="-Xms256m -Xmx256m" \ -v /opt/elasticsearch/config/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /opt/elasticsearch/data/es2:/usr/share/elasticsearch/data \ -v /opt/elasticsearch/logs/es2:/usr/share/elasticsearch/logs \ -d 13aa43015aa1

 4、检查elasticsearch是否启动成功

浏览器访问:http://192.168.172.20:9200/  和 http://192.168.172.20:9201/   

(需要等待一会)

 

 二、Kibana的安装

 1、从官网上拉取镜像

docker pull kibana:6.6.0 docker images

 

 

2、运行容器

docker run --name kibana6.6.0 -e ELASTICSEARCH_URL=http://192.168.172.20:9200 -p 5601:5601 -d dfc685453eaa

3、访问 http://192.168.172.20:5601  (需要等待一会)

 

 

 

 

 三、Head插件的安装

1、从官网上拉取镜像

docker pull mobz/elasticsearch-head:5
docker images

 

 

 2、运行容器

 

docker run -d -p 9100:9100 mobz/elasticsearch-head:5

 

 3、是否成功

浏览器访问:http://192.168.172.20:9100/

 

 

 

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM