ElasticSearchDocker搭建

ElasticSearchDocker搭建

安装前需要设置修改文件句柄数 vm.max_map_count=262144不然无法正常启动es
永久修改办法 vi /etc/sysctl.conf 在末尾加上 vm.max_map_count=262144

1.准备ElasticSearch配置文件 elasticsearch.yml

# ================= Elasticsearch Configuration ===================
# 配置es的集群名称, es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
cluster.name: elasticsearch_cluster
# 节点名称
node.name: esnode1
# 指定该节点是否有资格被选举成为node
node.master: true
cluster.initial_master_nodes: ["esnode1","esnode2","esnode3"]
#此设置防止脑裂问题,在线节点最少多少个才会选举出新的master.一般为节点数量/2+1(PS:节点数量为6那么就是6/2+1=4)
discovery.zen.minimum_master_nodes: 1
# 指定该节点是否存储索引数据,默认为true。
node.data: true
# 设置绑定的ip地址还有其它节点和该节点交互的ip地址,本机ip
network.host: 10.0.5.9
network.bind_host: 10.0.5.9
#如果要使用head,那么需要解决跨域问题,使head插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"

2.下载ik分词器

2.1 IK分词器下载 下载zip包
2.2 新建IK文件夹,然后将下载下来的zip包解压缩到IK文件夹,如下图

image

3.配置docker-compose

version: '2.2'
services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.9.2
    container_name: es01
    environment:
      - node.name=esnode1
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=esnode2,esnode3
      - cluster.initial_master_nodes=esnode1
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - /home/Elasticsearch/data:/usr/share/elasticsearch/data
      - /home/Elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - /home/Elasticsearch/plugins/:/usr/share/elasticsearch/plugins/
    ports:
      - 9200:9200
    network_mode: host

4.启动后登陆 http://服务器ip:9200查看是否启动成功如下图

image

### 如何在 Docker 中部署和使用 Elasticsearch #### 部署 Elasticsearch 容器 为了启动一个带有特定版本的 Elasticsearch 实例,可以利用官方镜像来简化操作过程。通过指定环境变量 `discovery.type=single-node` 来确保单节点模式下的正常运行[^1]。 ```bash docker run -d --name es7.8 \ -p 9200:9200 \ -p 9300:9300 \ -e "discovery.type=single-node" \ elasticsearch:7.8 ``` 此命令创建并启动了一个名为 `es7.8` 的容器实例,映射了主机端口至容器内部服务监听地址,并设置了必要的配置参数以适应单机测试场景需求。 #### 复制配置文件到宿主机 对于某些定制化的需求来说,可能需要调整默认设置或应用自定义插件,在这种情况下可以从正在运行中的容器提取原始配置副本以便修改: ```bash docker cp es7.8:/usr/share/elasticsearch/config /home/elasticsearch/ ``` 上述指令会把位于容器内的 `/usr/share/elasticsearch/config` 文件夹复制到本地路径下供进一步编辑处理。 #### 添加中文分词支持 (IK Analyzer) 当涉及到对非英文文本进行索引分析时,则往往离不开合适的语言解析工具辅助。这里介绍如何向已有的 ES 节点添加开源项目 IKAnalyzer 分析组件作为扩展功能的一部分: 首先下载对应版本压缩包放置于合适位置之后执行如下命令完成安装动作: ```bash docker cp /path/to/elasticsearch-analysis-ik.zip es-cluster-node01:/usr/share/elasticsearch/plugins/ik/ ``` 请注意替换实际存在的ZIP资源链接以及目标服务器名称部分;该步骤实现了将外部构件注入内核空间从而增强其多语种处理能力的目的[^2]。 #### 启动后的验证工作 最后一步应当确认各项变更均已生效并且能够正常使用新特性。可以通过 RESTful API 或者 Kibana 界面来进行基本的功能检测,比如查询集群健康状态、查看可用索引列表等常规手段加以检验。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值