linux安装elasticsearch7_elasticsearch入门

2022-11-04 16:21:36 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

Linux上elasticsearch7集群搭建 前期准备: 服务器三台 168.168.12.62 168.168.12.63 168.168.12.64 部署jdk 解压jdk放在/data目录,/data/jdk 配置环境变量,/etc/proifle里面加入如下

export JAVA_HOME=/data/jdk export PATH= P A T H : PATH: PATH:JAVA_HOME/bin export CLASSPATH=.: J A V A H O M E / l i b / t o o l s . j a r : JAVA_HOME/lib/tools.jar: JAVAH​OME/lib/tools.jar:JAVA_HOME/lib/dt.jar:$CLASSPATH source /etc/profile生效,查看版本java -version

部署ES集群,三台机器同样的操作 1、添加普通用户启动es(es不能以root运行) useradd elasticsearch

2、安装ES

tar xf elasticsearch-6.4.0.tar.gz -C /data/ mv /data/elasticsearch-6.4.0/ /data/elasticsearch mkdir /data/elasticsearch/startlogs 3、配置elasticsearch.yml文件内容

cp /data/elasticsearch/config/elasticsearch.yml /data/elasticsearch/config/elasticsearch.yml.bak cat elasticsearch.yml cluster.name: escluster node.name: es1 node.master: true node.data: true path.data: /data/elasticsearch/data path.logs: /data/elasticsearch/logs bootstrap.memory_lock: true bootstrap.system_call_filter: false http.port: 9200 network.host: 0.0.0.0 discovery.zen.minimum_master_nodes: 2 discovery.zen.ping_timeout: 3s discovery.zen.ping.unicast.hosts: [“168.168.12.62:9300”,“168.168.12.63:9300”,“168.168.12.64:9300”] 三台机器不一样的配置点如下

node.name: es1 ===》168.168.12.62 node.name: es2 ===》168.168.12.63 node.name: es3 ===》168.168.12.64 4、配置文件重点参数解析 (1)cluster.name 集群名字,三台集群的集群名字都必须一致

(2)node.name 节点名字,三台ES节点字都必须不一样

(3)discovery.zen.minimum_master_nodes:2 表示集群最少的master数,如果集群的最少master数据少于指定的数,将无法启动,官方推荐node master数设置为集群数/2 1,我这里三台ES服务器,配置最少需要两台master,整个集群才可正常运行,

(4)node.master该节点是否有资格选举为master,如果上面设了两个mater_node 2,也就是最少两个master节点,则集群中必须有两台es服务器的配置为node.master: true的配置,配置了2个节点的话,如果主服务器宕机,整个集群会不可用,所以三台服务器,需要配置3个node.masdter为true,这样三个master,宕了一个主节点的话,他又会选举新的master,还有两个节点可以用,只要配了node master为true的ES服务器数正在运行的数量不少于master_node的配置数,则整个集群继续可用,我这里则配置三台es node.master都为true,也就是三个master,master服务器主要管理集群状态,负责元数据处理,比如索引增加删除分片分配等,数据存储和查询都不会走主节点,压力较小,jvm内存可分配较低一点

(5)node.data 存储索引数据,三台都设为true即可

(6)bootstrap.memory_lock: true 锁住物理内存,不使用swap内存,有swap内存的可以开启此项

(7)discovery.zen.ping_timeout: 3000s 自动发现拼其他节点超时时间

(8)discovery.zen.ping.unicast.hosts: [“168.168.12.62:9300”,“168.168.12.63:9300”,“168.168.12.64:9300”] 设置集群的初始节点列表,集群互通端口为9300

5、jvm调优 vim /data/elasticsearch/config/jvm.options

-Xms1g 修改为 ===> -Xms2g -Xmx1g 修改为 ===> -Xmx2g 设置为物理内存一半最佳,可根据服务器内存去选择调

6、设置权限 chown -R elasticsearch: /data/elasticsearch

7、操作系统调优(必须配置,否则ES起不来) 【1】内存优化 在/etc/sysctl.conf添加如下内容

fs.file-max=655360 vm.max_map_count=655360 sysctl -p生效

解释: (1)vm.max_map_count=655360 系统最大打开文件描述符数

(2)vm.max_map_count=655360 限制一个进程拥有虚拟内存区域的大小

【2】修改vim /etc/security/limits.conf

  • soft nofile 65536
  • hard nofile 65536
  • soft nproc 65536
  • hard nproc 65536
  • soft memlock unlimited
  • hard memlock unlimited 解释: (nofile)最大开打开文件描述符 (nproc)最大用户进程数 (memlock)最大锁定内存地址空间

【3】修改/etc/security/limits.d/90-nproc.conf 将1024修改为65536

代码语言:javascript复制
     soft    nproc     1024     修改前
代码语言:javascript复制
     soft    nproc     65536   修改后

ctrl d从进终端 ulimit -a查看

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/182485.html原文链接:https://javaforall.cn

0 人点赞