zoukankan      html  css  js  c++  java
  • ElasticSeach(二、部署运行)

    ES版本:7.6.1

    elasticsearch.yml

    # ---------------------------------- Cluster -----------------------------------
    # 集群名称,同一集群名称需一致,默认:elasticsearch
    cluster.name: my-application
    # ------------------------------------ Node ------------------------------------
    # 节点名称,集群内节点名称需唯一
    node.name: node-1
    # 自定义属性
    #node.attr.rack: r1
    # 当前节点是否储存数据
    node.data: true
    # 是否是主节点
    node.master: true
    # ----------------------------------- Paths ------------------------------------
    # 索引数据存放地址
    path.data: /path/to/data
    # 日志文件存放地址
    path.logs: /path/to/logs
    # ----------------------------------- Memory -----------------------------------
    # 是否锁住物理内存
    bootstrap.memory_lock: true
    # ---------------------------------- Network -----------------------------------
    # 监听地址用于访问es
    network.host: 0.0.0.0
    # 对外提供的http端口
    http.port: 9200
    # --------------------------------- Discovery ----------------------------------
    # es7新配置,写入候选主节点的设备地址,在开启服务后可被选为主节点
    discovery.seed_hosts: ["10.32.16.195:9300", "10.32.16.196:9300"]
    # es7新配置,初始化一个新集群时,需要此配置来选举master
    #cluster.initial_master_nodes: ["node-1", "node-2"]
    # ---------------------------------- Gateway -----------------------------------
    #gateway.recover_after_nodes: 3
    # ---------------------------------- Various -----------------------------------
    #action.destructive_requires_name: true

    jvm.options

    配置文件jvm.options里配置jvm等相关信息,默认是1g,若本地测试可相对改小,不超过内存的50%

    -Xms256m
    -Xmx256m

    windows单机版部署

    执行bin/elasticsearch.bat

    访问http://127.0.0.1:9200/地址可看到返回的json

     linux单机部署

    解压文件

    tar -zxvf elasticsearch-7.6.1-linux-x86_64.tar.gz

    es不能用root角色启动,新建用户es

    useradd es

    赋予文件夹权限

    chown -R es:es /user/local/elasticsearch-7.6.1

    用es启动

    su es

    ./elasticsearch -d

    此处注意:因为我本机安装了JDK8,而es需要jdk11以上,虽然兼容,不影响使用。es7以上内置了JDK12,不需要本地安装JDK。

     集群部署

    es集群部署只需要修改只需要设置elasticsearch.yml文件,其他的无须设置,例如:

    节点一:

    # 设置集群名称,集群内所有节点的名称必须一致。
    cluster.name: escluster
    # 设置节点名称,集群内节点名称必须唯一。
    node.name: node1
    # 监听地址,用于访问该es
    network.host: 172.16.100.1
    discovery.seed_hosts: ["172.16.100.1:9300", "172.16.100.2:9300", "172.16.100.3:9300"]
    cluster.initial_master_nodes: ["node1", "node2", "node3"]

    节点二:

    # 设置集群名称,集群内所有节点的名称必须一致。
    cluster.name: escluster
    # 设置节点名称,集群内节点名称必须唯一。
    node.name: node2
    # 监听地址,用于访问该es
    network.host: 172.16.100.2
    discovery.seed_hosts: ["172.16.100.1:9300", "172.16.100.2:9300", "172.16.100.3:9300"]
    cluster.initial_master_nodes: ["node1", "node2", "node3"]

    节点三:

    # 设置集群名称,集群内所有节点的名称必须一致。
    cluster.name: escluster
    # 设置节点名称,集群内节点名称必须唯一。
    node.name: node3
    # 监听地址,用于访问该es
    network.host: 172.16.100.3
    discovery.seed_hosts: ["172.16.100.1:9300", "172.16.100.2:9300", "172.16.100.3:9300"]
    cluster.initial_master_nodes: ["node1", "node2", "node3"]

    启动常见问题

    1. max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

    换回root用户,修改/etc/security/limits.conf文件,在后面追加:

    es hard nofile 65536

    es soft nofile 65536

    es就是启动用户

    2. max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

    /etc/sysctl.conf文件最后添加一行

    vm.max_map_count=262144

    3. the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

    取消注释保留一个节点
    cluster.initial_master_nodes: ["node-1"]

    Kibana

    es可视化操作页面

    config/kibana.yml中配置 elasticsearch.url的值为 ES的访问地址

    启动bin/kibana 默认端口是5601

  • 相关阅读:
    DJango简单的后台定义登录验证
    简单聊聊HTTP/TCP/IP协议
    简单的线程说明
    设计模式 -- 常用设计模式
    网络知识 -- 第二部
    c#利用脚本,本地执行linux命令
    Json和类之间的转化
    关于地址映射穿透和套接字复用的说明
    多线程调用中的注意事项
    Task多线程的常规用法
  • 原文地址:https://www.cnblogs.com/Unlimited-Blade-Works/p/12532201.html
Copyright © 2011-2022 走看看