linux安装elasticsearch7_elasticsearch入门

linux安装elasticsearch7_elasticsearch入门Linux上elasticsearch7集群搭建前期准备:服务器三台168.168.12.62168.168.12.63168.168.12.64部署jdk解压jdk放在/data目录,/data/jdk配置环境变量,/etc/proifle里面加入如下exportJAVA_HOME=/data/jdkexportPATH=PATH:PATH:PATH:JAVA_HOME/binexportCLASSPATH=.:JAVAHOME/lib/tools.jar:JAVA_HOME/

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

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: JAVAHOME/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

  •      soft    nproc     1024     修改前
    
  •      soft    nproc     65536   修改后
    

ctrl +d从进终端
ulimit -a查看

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

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

(0)
上一篇 2022年10月13日 上午11:46
下一篇 2022年10月13日 上午11:46


相关推荐

  • 面试官,不要再问我三次握手和四次挥手「建议收藏」

    面试官,不要再问我三次握手和四次挥手「建议收藏」三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题。很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了。见过比较典型的面试场景是这样的:面试官:请介绍下三次握手求职者:第一次握手就是客户端给服务器端发送一个报文,第二次就是服务器收到报文之后,会应答一个报文给客户端,第三次握手就是客户端收到报文后再给服务器发送一个报文,三次握手就…

    2022年4月29日
    48
  • get请求怎么传递多个参数

    get请求怎么传递多个参数

    2020年11月12日
    349
  • [Android] [逆向工程] 安卓逆向入门篇

    [Android] [逆向工程] 安卓逆向入门篇掌握逆向工程可以带给你哪些技能 抓取 APP 内容 制作套壳包拦截 APP 数据 激活成功教程单机游戏修改游戏属性行为 加强反逆向的防范意识逆向手段介绍我了解到的安卓逆向有复现工程 侵入工程 注入工程三种手段 复现工程复现工程是指通过工具将 APK 转换为 Android 工程 并对 Android 工程的配置项修复使其可以正常运行 只要工程可以被成功复现接下来就可以为所欲为了 事实上并不是所有工程都可以被成功复现 而且需要花费大量的时间去复原工程 这也非常考验开发人员的耐心和技术经验 侵入工程侵入工程

    2026年3月17日
    2
  • div居中方法(共8种)

    div居中方法(共8种)水平居中行级元素 为该行级元素的父元素设置 text align center 配合 line height 样式 divstyle width 500px height 100px line height 100px border 1pxsolidgree text align center span 行级元素 span divstyle width 500px height 100px line height 100px border 1pxsolidgree text align center

    2026年3月16日
    2
  • PyCharm激活码永久有效PyCharm2021.3.3激活码教程-持续更新,一步到位[通俗易懂]

    PyCharm激活码永久有效PyCharm2021.3.3激活码教程-持续更新,一步到位[通俗易懂]PyCharm激活码永久有效2021.3.3激活码教程-Windows版永久激活-持续更新,Idea激活码2021.3.3成功激活

    2022年6月19日
    280
  • ArrayList底层实现原理「建议收藏」

    ArrayList底层实现原理「建议收藏」ArrayList简介ArrayList是我们开发中非常常用的数据存储容器之一,其底层是数组实现的,我们可以在集合中存储任意类型的数据,ArrayList是线程不安全的,非常适合用于对元素进行查找,效率非常高。源码分析创建了一个大小为0的数组,在后面会用到。声明了一个数组。ArrayList的无参构造方法,将前面声明创建的大小为0的数组赋给elementData数组。这是ArrayList的有参构造方法,传入一个int类型的变量,相当于我们在使用arrayList的时候指定list的大小

    2022年8月8日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号