docker下安装ElasticSearch、Kibana、Cerebro

本地环境:Mac、Parallels 装了一个Centos 7

本文大部分内容来源于xttblog同学

在Centos 7上安装docker

sudo yum update
sudo yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo  #更新源,国外的太慢

sudo yum makecache fast
sudo yum install docker-ce
sudo systemctl enable docker #配置开机启动
sudo systemctl start docker
docker run hello-world  #测试
sudo groupadd docker  #最后,如果你是非 root 用户。那么你可能无法访问 Docker 引擎的 Unix socket。因为,默认情况下,只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。因此,我们需要将当前用户,或者需要使用 docker 的用户加入 docker 用户组。
sudo usermod -aG docker $USER

在Centos 7上装Docker-Compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose #下载

sudo chmod +x /usr/local/bin/docker-compose #修改权限

docker-compose version #测试

在Centos 7上运行Es\Kibana\Cerebro ,如果启动失败,建议单独服务单独配置,每个服务单独测试,容易排查问题:docker-compose -f  xxxxxx.yml up

#在家目录新建一个es目录,然后docker-compose.yml,内容如下

version: '2.2'
services:
  cerebro:
    image: lmenezes/cerebro:0.8.3
    container_name: cerebro
    ports:
      - "9000:9000"
    command:
      - -Dhosts.0.host=http://elasticsearch:9200
  kibana:
    image: docker.elastic.co/kibana/kibana:7.6.1
    container_name: kibana7
    environment:
      - I18N_LOCALE=zh-CN
      - XPACK_GRAPH_ENABLED=true
      - TIMELION_ENABLED=true
      - XPACK_MONITORING_COLLECTION_ENABLED="true"
      - server.host=0.0.0.0
      - elasticsearch.hosts="http://192.168.1.9:9200" #ip按照自己的改
    ports:
      - "5601:5601"
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.6.1
    container_name: es7_01
    environment:
      - cluster.name=geektime
      - node.name=es7_01
      - network.host=0.0.0.0
      - http.port=9200
      - node.master=true
      - node.data=true 
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.seed_hosts=es7_01,es7_02
      - cluster.initial_master_nodes=es7_01,es7_02
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es7data1:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
  elasticsearch2:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.6.1
    container_name: es7_02
    environment:
      - cluster.name=geektime
      - node.name=es7_02
      - network.host=0.0.0.0
      - http.port=9201
      - node.master=true
      - node.data=false 
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.seed_hosts=es7_01,es7_02
      - cluster.initial_master_nodes=es7_01,es7_02
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es7data2:/usr/share/elasticsearch/data
    ports:
      - 9201:9201
volumes:
  es7data1:
    driver: local
  es7data2:
    driver: local

然后启动docker

#进入es目录 启动docker
docker-compose up  #启动过程中 可能会报错之类的,自己度娘查找报错原因大部分可以解决

#mac浏览器访问 
http://192.168.1.9:9200 #es1
http://192.168.1.9:9201 #es2
http://192.168.1.9:9200/_cat/nodes?v
http://192.168.1.9:5601 #kibana
http://192.168.1.9:9000 #cerebro

#如果无法访问可能是linux防火墙问题,自己telnet测试一下,或者关闭linux防火墙或者增加相应端口出入规则,启动较慢的时候也可导致无法访问,多等一会

给各位使用docker跑Elasticsearch安装插件的简单办法,无需dockerFile自制镜像。以本帖的双es启动为例:
1.进入es的容器并启动bash。 命令 docker exec -it es7_01 bash
注:es7_01 即容器名称
2..第一步成功你会发现你已经在容器内部,此时输入 pwd 命令会发现自己处于/usr/share/elasticsearch 路径。此时即可输入插件安装命令 bin/elasticsearch-plugin install analysis-icu
等待插件下载并安装完毕
3.输入exit退出容器bash。
4.如法炮制es7_02并安装插件。
5.docker-compose restart 重启容器
6.重启后,检查安装是否成功,输入 curl 127.0.0.1:9200/_cat/plugins,输出:
es7_01 analysis-icu 7.2.0
es7_02 analysis-icu 7.2.0
代表成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值