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
如有错误及相关问题欢迎讨论并指正