使用Docker 部署 es + kibana

启动es容器需要考虑几个问题

  1. 端口暴露问题 9200、9300
  2. 数据卷的挂载问题 data、plugins、conf
  3. 吃内存 - "ES_JAVA_OPTS=-Xms512m -Xmx512m"

扩展命令

docker stats 容器id         # 查看容器的cpu内存和网络状态

启动es测试

(--net somenetwork ? 网络配置)

9200作为Http协议,主要用于外部通讯( ES节点 和 外部 通讯使用 )

9300作为Tcp协议,jar之间就是通过tcp协议通讯( ES节点之间通讯使用 )

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2

启动之后很卡

使用 docker stats 容器id 查看下cpu状态 ,发现占用的很大

CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT   MEM %               NET I/O             BLOCK I/O           PIDS
ba236371acd0        elasticsearch       0.32%               1.226GiB / 3.7GiB   33.12%              0B / 0B             0B / 0B             43

测试访问

[root@xiaoyequ ~]#  curl localhost:9200
{
  "name" : "ba236371acd0",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "4BW_ZS-JQSu_HcuO8Vcpig",
  "version" : {
    "number" : "7.6.2",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f",
    "build_date" : "2020-03-26T06:34:37.794943Z",
    "build_snapshot" : false,
    "lucene_version" : "8.4.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

增加上内存限制启动

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2

启动之后,使用 docker stats 查看下cpu状态

CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT   MEM %               NET I/O             BLOCK I/O           PIDS
179b21041d90        elasticsearch       0.72%               342MiB / 3.7GiB     9.02%               0B / 0B             0B / 0B             43

测试访问

效果一样,ok!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章