Linux安装ElasticSearch

前言

之前玩的ElasticSearch都是基于Docker构建的,基本上配置好Java环境就好了,这里还缺Linux使用程序包搭建ElasticSearch,那么这篇文章就来补充这个空档吧!

1.下载ElasticSearch

官网下载地址
Linux安装ElasticSearch_第1张图片

2.上传解压

Linux安装ElasticSearch_第2张图片

3.赋予权限

1.创建角色

//创建角色
adduser es
//设置密码(这里长度最好大于8位)
passwd 00000000

2.修改Linux安全策略
limits.conf

vi /etc/security/limits.conf

es soft nofile 65536
es hard nofile 65536
es soft nproc 4096
es hard nproc 4096

20-nproc.conf

vi /etc/security/limits.d/20-nproc.conf

es soft nofile 65536
es hard nofile 65536

sysctl.conf

vi /etc/sysctl.conf

vm.max_map_count = 655360

3.刷新

sysctl -p

4.赋予文件权限

chown -R es /data/ElasticSearch-7.4.2-linux/
chown -R es /data/ElasticSearch-7.4.2-linux/data/
chown -R es /data/ElasticSearch-7.4.2-linux/config/
chown -R es /data/ElasticSearch-7.4.2-linux/plugins/
chown -R es /data/ElasticSearch-7.4.2-linux/logs/
chown -R es /data/ElasticSearch-7.4.2-linux/modules/
chmod +x /data/ElasticSearch-7.4.2-linux/bin/elasticsearch 

启动

1.切换es角色

su es

2.启动

./bin/elasticsearch

3.报错

/modules/x-pack/x-pack-ml/platform/linux-x86_64/bin/controller": error=13, Permission denied

如果碰到这个报错,说明controller文件缺少文件

Linux安装ElasticSearch_第3张图片

chmod 777 /modules/x-pack-ml/platform/linux-x86_64/bin/controller

访问不通
默认ElasticSearch配置文件是只能当前主机访问的,需要调整配置文件如下

 http.host: 0.0.0.0
 http.cors.enabled: true
 http.cors.allow-origin: "*"

注意前面有一个空格

关于ElasticSearch配置项

参数名 参数值 含义
cluster.name 任意 配置ES的集群名称,默认是ES,建议改成与所存数据相关的名称, ES会自动发现在同一网段下自集群名称相同的节点
node.name 节点名称 集群中的节点名,在同一个集群中不能重复。节点的名称一旦设置,就不能再改变了。当然,也可以设置成服务器的主机名称,例如node.name:$HOSTNAME)
node.master true/false 指定该节点是否有资格被选举成为Master节点,默认是True,如果被设置为True,则只是有资格成为Master节点,具体能否成为Master节点,需要通过选举产生。
node.data true/false 指定该节点是否存储索引数据,默认为True.数据的增、删、改、查都是在Data节点完成的。
index.number_of_shards 1 设置的索引分片个数,默认是1片。也可以在创建索引时设置该值,具体设置为多大都值要根据数据量的大小来定。如果数据量不大,则设置成1时效率最高
index.number_of_replicas 1 设置默认的索引副本个数,默认为1个。副本数越多,集群的可用性越好,但是写索引时需要同步的数据越多。
transport.tcp.compress true/false 设置在节点间传输数据时是否压缩,默认为False,不压缩
discoverv.zen.minimum_master_node 1 设置在选举Master节点时需要参与的最少的候选主节点数,默认为1,如果使用默认值,则当网络,不稳定时有可能会出现脑裂。合理的数值为(master-eligible_nodes/2)+1 ,其1master_eligible nodes表示集群中的候选主节点数
discovery.zen.ping.timeout 3s 设置在集群中自动发现其他节点时Ping连按的超时时间,默认为3秒。在较差的网络环境下需要设置得大一点,防止因误判该节点的存活状态而导致分片的转移

你可能感兴趣的:(#,ElasticSearch,elasticsearch)