Elastic Stack-Elasticsearch其他安装方式

一、YUM 方式安装

Centos5及以下不支持这种方式

Elasticsearch包含 来自JDK维护者(GPLv2 + CE)的OpenJDK捆绑版。
所以不需要额外部署 JDK 环境即可。

1 下载并安装公共签名密钥

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

2 安装

首先在 /etc/yum.repos.d/ 目录下创建一个文件 elasticsearch.repo ,并写入如下内容:

[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md

之后可以使用如下命令安装


yum install --enablerepo=elasticsearch elasticsearch

默认情况下,已配置的存储库是禁用的。这样就消除了elasticsearch在升级系统其余部分时意外升级的可能性。每个安装或升级命令必须显式启用存储库,如上面的示例命令所示。

二、docker-compose 方式

下面的 Docker Compose 文件示例 创建了一个三节点的Elasticsearch集群。节点es01上监听宿主机的 9200 端口,并es02和es03交谈es01过泊坞网络。

请注意,此配置在所有网络接口上公开端口9200,并且鉴于Docker iptables在Linux上的操作方式,这意味着您的Elasticsearch集群是可公开访问的,可能会忽略任何防火墙设置。如果您不想公开端口9200,而是使用反向代理,请在docker-compose.yml文件中替换9200:9200为127.0.0.1:9200:9200。然后,只能从主机本身访问Elasticsearch。

确保为Docker Engine分配了至少4GiB的内存。

1 docker-compose.yml 文件

version: '2.2'
services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.10.0
    container_name: es01
    environment:
      - node.name=es01
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es02,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - elastic
  es02:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.10.0
    container_name: es02
    environment:
      - node.name=es02
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data02:/usr/share/elasticsearch/data
    networks:
      - elastic
  es03:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.10.0
    container_name: es03
    environment:
      - node.name=es03
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es02
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data03:/usr/share/elasticsearch/data
    networks:
      - elastic

volumes:
  data01:
    driver: local
  data02:
    driver: local
  data03:
    driver: local

networks:
  elastic:
    driver: bridge

2 运行集群

首先需要设置一下系统内核参数

sysctl -w vm.max_map_count=262144 > /etc/sysctl.conf
sysctl -p

还需要设置关于这个进程可以打开的文件描述符数量

[root@prod ~]# tail /etc/security/limits.conf
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50
#ftp             hard    nproc           0
#@student        -       maxlogins       4

# End of file
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

进入含有 docker-compose.yml 文件的目录,之后执行如下命令启动集群

docker-compose   up -d

默认情况下,Elasticsearch 在 Docker 容器中是使用用户 elasticsearch 运行的,并且对应的 uid:pid1000:0

3 查看集群节点信息

curl -X GET "localhost:9200/_cat/nodes?v&pretty"

4 使用自定义配置文件

容器内的 /usr/share/elasticsearch/config/ 目录用于存放配置文件,可以把自定义的配置文件挂载到此目录下实现。

当然,您可以使用Docker环境变量来设置各个Elasticsearch配置参数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shark_西瓜甜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值