一、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/