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集群

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用Docker安装Elasticsearch的步骤: 1. 确保您已经安装DockerDocker Compose。如果您还没有安装,请按照官方文档进行安装。 2. 创建一个新的目录,例如`elasticsearch`,用于存储Elasticsearch配置和数据。 3. 在该目录中创建一个名为`docker-compose.yml`的文件,并将以下内容添加到该文件中: ``` version: '3' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.18.0 container_name: elasticsearch environment: - node.name=elasticsearch - discovery.type=single-node ulimits: memlock: soft: -1 hard: -1 volumes: - ./data:/usr/share/elasticsearch/data ports: - 9200:9200 - 9300:9300 ``` 此文件定义了一个名为`elasticsearch`的Docker服务。我们使用7.18.0版本的Elasticsearch镜像,将容器命名为`elasticsearch`,并将环境变量设置为`node.name`和`discovery.type`以使其成为单节点集群。我们还将内存锁定限制设置为无限制,并将Elasticsearch数据存储在我们创建的名为`data`的本地目录中。最后,我们将容器的端口映射到主机的9200和9300端口,以便我们可以通过HTTP和Transport协议访问Elasticsearch。 4. 在终端中导航到`elasticsearch`目录,并运行以下命令以启动Elasticsearch服务: ``` docker-compose up -d ``` 这将使用我们在`docker-compose.yml`文件中定义的配置启动一个名为`elasticsearch`的Docker容器。 5. 要验证Elasticsearch是否正在运行,请运行以下命令: ``` curl -X GET "localhost:9200" ``` 如果您看到Elasticsearch的版本信息,则表示它已成功安装并正在运行。 现在您已经成功地使用Docker安装Elasticsearch,可以开始在其上构建应用程序或进行数据分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值