ES在linux上的安装记录(单节点和集群)

本文详细介绍了Elasticsearch在Linux系统上的安装步骤及配置方法,并提供了单节点与集群环境的具体设置方案。

ES在linux上的安装记录

一、单节点安装

前提安装好了jdk

es是不能用root账号启动的所以

新建es账号并赋权# chown -R es:es elasticsearch-6.3.2

权限很容易出问题,赋权时要给es账号要操作的文件夹读写操作等权限

1、使用elasticsearch-6.3.2版本,下载elasticsearch-6.3.2压缩文件

2、文件放置在要安装的目录下解压

3、进入elasticsearch-6.3.2/config下使用vim编辑elasticsearch.yml

配置如下:

​ path.data: /data/esdata #es数据存放地- 手动创建文件夹

​ path.logs: /data/eslogs #es日志存放地- 手动创建文件夹

​ bootstrap.memory_lock: true #这个配置,锁定物理内存地址,防止elasticsearch内存被交换出去,也就是避免es使用swap交换分区,频繁的交换,会导致IOPS变高

​ network.host: 0.0.0.0 #节点将绑定到一个主机名或者 ip 地址并且会将该这个节点通知集群中的其他节点

​ http.port: 9200 #默认端口
在这里插入图片描述
4、编辑/config下面的jvm.options

配置如下:

​ -Xms5g #默认情况下,es启动互检测内存2G 根据实际硬件和需要修改512m就行

​ -Xmx5g在这里插入图片描述
5、启动进入/bin下面使用**./elasticsearch** 启动 ./elasticsearch -d后台启动

查看进程 ps -ef | grep elastic

6、如果启动报错

ERROR: bootstrap checks failed
memory locking requested for elasticsearch process but memory is not locked

修改配置:不同的es版本有不同或者多种配置修改方法可以试

编辑/etc/security/limits.conf 添加如下:

*soft nofile 65536

*hard nofile 131072

*soft nproc 4096

*hard nproc 4096
在这里插入图片描述
编辑/etc/sysctl.conf 添加如下:

vm.max_map_count=655360
在这里插入图片描述
执行systemctl daemon-reload从新加载配置文件

7、重启es成功

二、ES集群

es集群建议不在同一台服务器上部署多节点,试过不成功,没找到问题所在

不同服务器部署流程相同,但是要修改/config下面的yml配置文件

配置一:
cluster.name: my-application    #集群名称必须相同   ******
node.name: node-192-168-33-10*   #节点名称不能相同   ******
path.data: /home/soft/elasticsearch-6.2.2/esData/data
path.logs: /home/soft/elasticsearch-6.2.2/esData/logs
bootstrap.memory_lock: false
transport.tcp.port: 9300        #节点数据交互ip
network.host: 192.168.33.10*    #节点绑定ip        ******
http.port: 9200
discovery.zen.ping.unicast.hosts: 						 ["192.168.33.10*:9300","192.168.33.11*:9300","192.168.33.12*:9300"]   
discovery.zen.minimum_master_nodes: 2
gateway.recover_after_nodes: 3
node.master: true   #是否可成为主节点
node.data: false    #是否存储数据
配置二:
cluster.name: my-application
node.name: node-192-168-33-11*
path.data: /home/soft/elasticsearch-6.2.2/esData/data
path.logs: /home/soft/elasticsearch-6.2.2/esData/logs
bootstrap.memory_lock: false
transport.tcp.port: 9300
network.host: 192.168.33.11*
http.port: 9200
discovery.zen.ping.unicast.hosts: 						 ["192.168.33.10*:9300","192.168.33.11*:9300","192.168.33.12*:9300"]
discovery.zen.minimum_master_nodes: 2
gateway.recover_after_nodes: 3
node.master: true   #是否可成为主节点
node.data: false    #是否存储数据
配置三:
cluster.name: my-application
node.name: node-192-168-33-12*
path.data: /home/soft/elasticsearch-6.2.2/esData/data
path.logs: /home/soft/elasticsearch-6.2.2/esData/logs
bootstrap.memory_lock: false
transport.tcp.port: 9300
network.host: 192.168.33.12*
http.port: 9200
discovery.zen.ping.unicast.hosts: 						 ["192.168.33.10*:9300","192.168.33.11*:9300","192.168.33.12*:9300"]
discovery.zen.minimum_master_nodes: 2
gateway.recover_after_nodes: 3
node.master: true   #是否可成为主节点
node.data: false    #是否存储数据

分别启动es

启动成功之后,用CURL 请求测试集群是否搭建成功。
            curl http://192.168.33.11*:9200/_cat/nodes?v

如有错误及相关问题欢迎讨论并指正

Linux系统中,不同的服务启动单节点集群服务的方法有所不同,以下以Nginx、Elasticsearch为例介绍启动单节点服务集群服务的方法: ### Nginx单节点服务启动 启动Nginx单节点服务可使用以下命令: ```bash systemctl start nginx ``` 查询Nginx单节点服务状态可使用以下命令: ```bash systemctl status nginx ``` 以上命令适用于使用systemd管理服务的Linux系统,如CentOS 7等 [^1]。 ### Elasticsearch单节点服务启动 在Linux系统中部署Elasticsearch单节点服务,需先修改配置文件 `/opt/soft/esA/config/elasticsearch.yml`,示例配置如下: ```plaintext # 集群名称,保证唯一(每个集群中相同,不同集群间唯一) cluster.name: icoding-course # 节点名称,必须不一样 node.name: icoding-1 # 是不是有资格成为主节点 node.master: true # 是否存储数据 node.data: true # 最大集群节点数 node.max_local_storage_nodes: 3 # ip地址(0.0.0.0为允许所有地址访问) network.host: 0.0.0.0 # 端口 http.port: 9100 # 内部节点之间沟通端口 transport.tcp.port: 9301 # es7.x 之后新增的配置,节点发现 discovery.seed_hosts: ["localhost:9301","localhost:9302","localhost:9303"] # es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master cluster.initial_master_nodes: ["icoding-1"] # 数据存储路径 path.data: /opt/data path.logs: /opt/logs # 如果是CentOS 6版本 加入以下两行 bootstrap.memory_lock: false bootstrap.system_call_filter: false ``` 配置完成后,启动Elasticsearch单节点服务 [^4]。 ### Elasticsearch集群服务启动 Elasticsearch集群由多个节点组成,每个节点都需要正确配置并启动。每个节点的配置文件与单节点类似,但要确保 `node.name` 唯一,且 `discovery.seed_hosts` `cluster.initial_master_nodes` 配置正确,以实现节点间的相互发现集群的初始化。启动每个节点的Elasticsearch服务,它们会自动组成集群 [^3][^4]。 ### 注意事项 不同的服务启动配置方式会有所不同,需根据具体的服务需求进行调整。同时,启动服务前要确保相关依赖已安装,配置文件无误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值