四、docker 安装elasticsearch & kibana

4 篇文章 1 订阅

一、安装版本选择

  • docker search elasticsearch
C:\Users\>docker search elasticsearch
NAME                                         DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
elasticsearch                                Elasticsearch is a powerful open source sear…   5218      [OK]
nshou/elasticsearch-kibana                   Elasticsearch-7.12.1 Kibana-7.12.1              131                  [OK]
mobz/elasticsearch-head                      elasticsearch-head front-end and standalone …   80
elastichq/elasticsearch-hq                   Official Docker image for ElasticHQ: Elastic…   76                   [OK]
itzg/elasticsearch                           Provides an easily configurable Elasticsearc…   71                   [OK]
elastic/elasticsearch                        The Elasticsearch Docker image maintained by…   54
taskrabbit/elasticsearch-dump                Import and export tools for elasticsearch       27                   [OK]
  • 因为公司现在使用的是 elasticsearch : 6.5.4所以我本地就装了这版本,想安装其他版本可以加上tag
C:\Users\>docker pull elasticsearch:6.5.4
6.5.4: Pulling from library/elasticsearch
a02a4930cb5d: Pull complete
dd8a94cca3f9: Pull complete
bd73f551dee4: Pull complete
70de352c4efc: Pull complete
0b5ae4c7310f: Pull complete
489d9f8b18f1: Pull complete
8ba96caf5951: Pull complete
f1df04f27c5f: Pull complete
Digest: sha256:7053b3979a1dd709f2a225d52bc53622714790b13d88cf08164d252291ab8b61
Status: Downloaded newer image for elasticsearch:6.5.4
docker.io/library/elasticsearch:6.5.4

二、创建bridge网络
创建这个网络主要为了让es能够和kibana处在同一个子网中,可以相互通信

# 这个是在搭建zookeeper集群时候用的子网,在这也是可以用的
docker network create --driver bridge --subnet=172.18.0.0/16 --gateway=172.18.0.1 zoonet

三、创建文件映射目录
如果需要log和其他配置也可以做映射
创建D:/elasticsearch/conf/elasticsearch.yml
添加 :http.host: 0.0.0.0

D:/elasticsearch/conf
D:/elasticsearch/data
D:/elasticsearch/plugins

四、启动es

docker run -d --name elasticsearch --net zoonet --ip 172.18.0.10 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx128m" -v D:/elasticsearch/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v D:/elasticsearch/data:/usr/share/elasticsearch/data -v D:/elasticsearch/plugins:/usr/share/elasticsearch/plugins 93109ce1d590
C:\Users>docker run -d --name elasticsearch --net zoonet --ip 172.18.0.10 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx128m" -v D:/elasticsearch/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v D:/elasticsearch/data:/usr/share/elasticsearch/data -v D:/elasticsearch/plugins:/usr/share/elasticsearch/plugins 93109ce1d590
6ef9f9b0bd6e08a436f710783dbec32f9a11c6ce46e43ac2eb2be0ffb40daa2c

参数解释:

docker run -d 
# 容器名称
--name elasticsearch
# 指定所在的网络
--net zoonet 
#指定在容器内的ip
--ip 172.18.0.10
# 映射端口号 
-p 9200:9200 -p 9300:9300 
# 告诉es是非集群模式
-e "discovery.type=single-node" 
# 设置jvm的大小
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" 
# 配置文件映射
-v D:/elasticsearch/conf/elasticsearch.yml: /usr/share/elasticsearch/config/elasticsearch.yml 
# 数据映射
-v D:/elasticsearch/data:/usr/share/elasticsearch/data 
# 插件映射
-v D:/elasticsearch/plugins:/usr/share/elasticsearch/plugins 
# 镜像id
93109ce1d590

五、查看es是否口安装成功

  1. docker ps 查看是否有es的容器在运行
C:\Users>docker ps
CONTAINER ID   IMAGE                      COMMAND                  CREATED          STATUS          PORTS                                                                                                                             NAMES
b3ddcbd06746   93109ce1d590               "/usr/local/bin/dock…"   24 seconds ago   Up 22 seconds   0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 0.0.0.0:9300->9300/tcp, :::9300->9300/tcp                                              elasticsearch

2.本地访问9200端口

http://localhost:9200/

当出现如下内容时说明es单机已经启动成功

{
  "name" : "vT2_1xW",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "BsXW3bF5Rh6Bw0_gUomVwg",
  "version" : {
    "number" : "6.5.4",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "d2ef93d",
    "build_date" : "2018-12-17T21:17:40.758843Z",
    "build_snapshot" : false,
    "lucene_version" : "7.5.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

3.查看容器详情

  • docker inspect b3ddcbd06746
    可以看到es现在的
    IP是 ; “IPAddress”: “172.18.0.10”,
    网关是; “Gateway”: “172.18.0.1”,
  "Networks": {
                "zoonet": {
                    "IPAMConfig": {
                        "IPv4Address": "172.18.0.10"
                    },
                    "Links": null,
                    "Aliases": [
                        "b3ddcbd06746"
                    ],
                    "NetworkID": "7c09afe03cac270dc75eda01d7d4583bbd2bf77b940666ccd831ec901425bc57",
                    "EndpointID": "fed985a390f0a011342499c65333c568ccb95a97aef7406da9222665b737bbcb",
                    "Gateway": "172.18.0.1",
                    "IPAddress": "172.18.0.10",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:12:00:0a",
                    "DriverOpts": null
                }
            }

六、Kibana安装
kibana的版本要与es的版本保持一致

docker pull kibana:6.5.4
  • 6.1 创建配置文件
    • D:/elasticsearch/kibana/conf/kibana.yml
server.port: 5601  # 端口号
server.host: 0.0.0.0 # 所有主机都可以访问
# elasticsearch.url: "http://172.18.0.10:9200"  版本不同这个配置不一样,
# 如果这个错大多数是因为这个原因。 FATAL  ValidationError: child "elasticsearch" fails because ["hosts" is not allowed] 
# elasticsearch.hosts: [ "http://172.18.0.10:9200" ] # es的ip地址 需要kibana和es在同一个子网中
elasticsearch.url: "http://172.18.0.10:9200" 
i18n.locale: "Zh-CN"
  • 6.2执行脚本
docker run -d -p 5601:5601 --name kibana  --net zoonet -v D:/elasticsearch/kibana/conf/kibana.yml:/usr/share/kibana/config/kibana.yml   3c8a8603d365

参数解释:

docker run -d 
# kibana端口映射
-p 5601:5601
# 容器名称 
--name kibana
# 指定所在子网  
--net zoonet
# 配置
-v D:/elasticsearch/kibana/conf/kibana.yml:/usr/share/kibana/config/kibana.yml  
# 镜像id
3c8a8603d365
C:\Users>docker run -d -p 5601:5601 --name kibana  --net zoonet -v D:/elasticsearch/kibana/conf/kibana.yml:/usr/share/kibana/config/kibana.yml   3c8a8603d365
b5e5756dbe6ebc35a2b084c4c24e9304468033ca407f6c1e2bfe9226f951f213
  • 6.3 验证kibana是否启动成功
    docker ps
C:\Users>docker ps
CONTAINER ID   IMAGE                      COMMAND                  CREATED          STATUS          PORTS                                                                                                                             NAMES
e36bae45431f   3c8a8603d365               "/usr/local/bin/kiba…"   5 minutes ago    Up 24 seconds   0.0.0.0:5601->5601/tcp, :::5601->5601/tcp                                                                                         kibana

如果查看不到kibana启动成功。
可以在启动的时候不加 -d 将它将报错信息打印到屏幕上。查看报错信息。

  • 报错:

FATAL ValidationError: child “elasticsearch” fails because [“hosts” is not allowed]

elasticsearch.url: “http://172.18.0.10:9200” 版本不同这个配置不一样,
如果这个错大多数是因为这个原因。 FATAL ValidationError: child “elasticsearch” fails because [“hosts” is not allowed]
elasticsearch.hosts: [ “http://172.18.0.10:9200” ] # es的ip地址 需要kibana和es在同一个子网中
elasticsearch.url: “http://172.18.0.10:9200”

  • 访问kibana页面
    http://localhost:5601
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值