docker 安装 elasticsearch

docker 安装 elasticsearch

1. 搜索镜像
[root@izwz91quxhnlk6j7a211 ~]# docker search elasticsearch
INDEX       NAME                                            DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/elasticsearch                         Elasticsearch is a powerful open source se...   3588      [OK]       
docker.io   docker.io/kibana                                Kibana gives shape to any kind of data — s...   1461      [OK]       
docker.io   docker.io/nshou/elasticsearch-kibana            Elasticsearch-6.5.4 Kibana-6.5.4                97                   [OK]
docker.io   docker.io/itzg/elasticsearch                    Provides an easily configurable Elasticsea...   67                   [OK]
docker.io   docker.io/elastichq/elasticsearch-hq            Official Docker image for ElasticHQ: Elast...   28                   [OK]
docker.io   docker.io/kubernetes/fluentd-elasticsearch      An image that ingests Docker container log...   25                   
docker.io   docker.io/lmenezes/elasticsearch-kopf           elasticsearch kopf                              18                   [OK]
docker.io   docker.io/bitnami/elasticsearch                 Bitnami Docker Image for Elasticsearch          16                   [OK]
docker.io   docker.io/elastic/elasticsearch                 The Elasticsearch Docker image maintained ...   15                   
docker.io   docker.io/taskrabbit/elasticsearch-dump         Import and export tools for elasticsearch       15                   [OK]
docker.io   docker.io/esystemstech/elasticsearch            Debian based Elasticsearch packing for Lif...   14                   
docker.io   docker.io/monsantoco/elasticsearch              ElasticSearch Docker image                      11                   [OK]
docker.io   docker.io/mesoscloud/elasticsearch              [UNMAINTAINED] Elasticsearch                    9                    [OK]
docker.io   docker.io/blacktop/elasticsearch                Alpine Linux based Elasticsearch Docker Image   8                    [OK]
docker.io   docker.io/justwatch/elasticsearch_exporter      Elasticsearch stats exporter for Prometheus     8                    
docker.io   docker.io/centerforopenscience/elasticsearch    Elasticsearch                                   4                    [OK]
docker.io   docker.io/barchart/elasticsearch-aws            Elasticsearch AWS node                          3                    
docker.io   docker.io/forkdelta/fluentd-elasticsearch       fluent/fluentd with fluent-plugin-elastics...   1                    [OK]
docker.io   docker.io/jetstack/elasticsearch-pet            An elasticsearch image for kubernetes PetSets   1                    [OK]
docker.io   docker.io/phenompeople/elasticsearch            Elasticsearch is a powerful open source se...   1                    [OK]
docker.io   docker.io/18fgsa/elasticsearch                  Built from https://github.com/docker-libra...   0                    
docker.io   docker.io/axway/elasticsearch-docker-beat       "Beat" extension to read logs of container...   0                    [OK]
docker.io   docker.io/driveclutch/infra-elasticsearch-aws   Elasticsearch Docker for use in AWS             0                    [OK]
docker.io   docker.io/igneoussystems/base-elasticsearch     A base image containing 3p tools for elast...   0                    
docker.io   docker.io/wreulicke/elasticsearch               elasticsearch                                   0                    [OK]

2.拉取镜像
[root@izwz91quxhnlk6j7a211 ~]# docker pull docker.io/elasticsearch

[root@izwz91quxhnlk6j7a211 ~]# docker images
REPOSITORY                              TAG                 IMAGE ID            CREATED             SIZE         
docker.io/elasticsearch                 latest              5acf0e8da90b        7 months ago        486 MB
3.创建Docker自定义网络

创建自定义网络,是为了能指定IP.
容器创建后默认是使用bridge网络类型,但默认的bridge网络类型不能指定IP,否则会出现如下错误:

/usr/bin/docker-current: Error response from daemon: User specified IP address is supported on user defined networks only.
[root@izwz91quxhnlk6j7a211 ~]# docker network create --subnet=172.18.0.0/24 mynetwork

[root@izwz91quxhnlk6j7a211 ~]# docker network ls

5fbe11c6a146        bridge              bridge              local
6d5f43379fd8        host                host                local
0cb4c88e4188        mynetwork           bridge              local
fc9ff80e1d4e        none                null                local

4.修改配置sysctl.conf

修改进程能拥有的最多内存区域,否则启动容器会出现如下错误

bootstrap checks failed max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

vim打开sysctl.conf

vim /etc/sysctl.conf

加入配置

vm.max_map_count=262144 

启用配置

sysctl -p
5.创建conf目录以及配置文件
[root@izwz91quxhnlk6j7a211 elasticsearc]#mkdir conf

es1.yml

cluster.name: elasticsearch-cluster
node.name: es-node1
network.bind_host: 0.0.0.0
http.port: 9200
network.publish_host: 172.18.0.11
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["172.18.0.11:9300","172.18.0.12:9300"]

es2.yml

cluster.name: elasticsearch-cluster
node.name: es-node2
network.bind_host: 0.0.0.0
http.port: 9200
network.publish_host: 172.18.0.12
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["172.18.0.11:9300","172.18.0.12:9300"]
6.创建data1,data2分别挂载两个节点的目录
[root@izwz91quxhnlk6j7a211 elasticsearc]#mkdir data1
[root@izwz91quxhnlk6j7a211 elasticsearc]#mkdir data2
[root@izwz91quxhnlk6j7a211 elasticsearch]# ls
conf  data1  data2
7.运行容器
-e ES_JAVA_OPTS="-Xms256m -Xmx256m"
这个参数是是由于/etc/elasticsearch/jvm.options默认JVM最大最小内存为2G

 -v 参数是挂载配置到容器中
 
 --network mynetwork --ip 172.18.0.11
 参数是指定网络为自定义的网络mynetwork,并且IP是172.18.0.11

es1

[root@izwz91quxhnlk6j7a211 elasticsearch]# docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 19200:9200 -p 19300:9300 -v ~/elasticsearch/conf/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v ~/elasticsearch/data1:/usr/share/elasticsearch/data --name ES01 --network mynetwork --ip 172.18.0.11 docker.io/elasticsearch

验证es1是否搭建成功

[root@izwz91quxhnlk6j7a211 ~]# curl 127.0.0.1:19200
{
  "name" : "es-node1",
  "cluster_name" : "elasticsearch-cluster",
  "cluster_uuid" : "BbagaeEiSRSqo1WddBhScA",
  "version" : {
    "number" : "5.6.12",
    "build_hash" : "cfe3d9f",
    "build_date" : "2018-09-10T20:12:43.732Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.1"
  },
  "tagline" : "You Know, for Search"
}

es2

[root@izwz91quxhnlk6j7a211 elasticsearch]# docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 29200:9200 -p 29300:9300 -v ~/elasticsearch/conf/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v ~/elasticsearch/data2:/usr/share/elasticsearch/data --name ES02 --network mynetwork --ip 172.18.0.12 docker.io/elasticsearch

验证es2是否搭建成功

[root@izwz91quxhnlk6j7a211 ~]# curl 127.0.0.1:29200
{
  "name" : "es-node2",
  "cluster_name" : "elasticsearch-cluster",
  "cluster_uuid" : "BbagaeEiSRSqo1WddBhScA",
  "version" : {
    "number" : "5.6.12",
    "build_hash" : "cfe3d9f",
    "build_date" : "2018-09-10T20:12:43.732Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.1"
  },
  "tagline" : "You Know, for Search"
}
8.验证是否搭建成功
[root@izwz91quxhnlk6j7a211ksz ~]# curl 127.0.0.1:19200/_cat/nodes?pretty
172.18.0.12 30 96 9 0.21 0.20 0.12 mdi - es-node2
172.18.0.11 30 96 8 0.21 0.20 0.12 mdi * es-node1
9.docker安装elasticsearch-head

elasticsearch的客户端工具,方便管理elasticsearch

[root@izwz91quxhnlk6j7a211ksz ~]# docker pull mobz/elasticsearch-head:5
[root@izwz91quxhnlk6j7a211ksz ~]# docker run -d -p 9100:9100 docker.io/mobz/elasticsearch-head:5 --name es-head --network mynetwork --ip 172.18.0.10
参考文章:

docker简易搭建ElasticSearch集群

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值