elasticsearch 5.x 安装与优化 (Windows & linux)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35704236/article/details/79047550

es 5.x安装与优化

1、jdk版本要求

a、 要求JDK至少1.8+

b、操作系统最好用linux,建议CentOS

2、安装步骤

es从2.x开始禁止直接使用root用户启动,必须独立创建账号。

a、创建组与账户

groupadd elastic
useradd elastic -g elastic -p elastic_pass

b、给相应的目录权限

chown -R elastic:elastic /ssd
chown -R elastic:elastic /home/elasticsearch-5.6.5

上面的 /ssd 是es数据存储的目录
第二行是 es的存储位置。

c、修改操作系统的配置文件,否则无法正常启动

修改/etc/security/limits.conf配置文件,在末尾追加以下配置

* soft memlock unlimited 
* hard memlock unlimited 
* hard nofile 65536
* soft nofile 65536

执行以下操作,修改/etc/sysctl.conf配置文件

cat /etc/sysctl.conf | grep -v "vm.max_map_count" > /tmp/system_sysctl.conf
echo "vm.max_map_count=262144" >> /tmp/system_sysctl.conf
mv /tmp/system_sysctl.conf /etc/sysctl.conf

d、es配置 (Windows 用户直接从这里开始)

修改elasticsearch-5.6.5/config/jvm.options配置文件
配置 jvm 最大堆 , 和最小堆

以下是默认配置

-Xms2g
-Xmx2g

需要修改为(一般为服务器物理内存的一半)

-Xms16g
-Xmx16g

修改elasticsearch-5.6.5/config/elasticsearch.yml配置文件

(1) 找到#claster.name,去掉前面的#号(#号是注释),然后修改cluster.name,这个名称可以随便,例如:elasticsimilar之类的,cluster.name: elastic

(2) 找到#path.data,默认情况下索引是存放在elasticsearch/5.6.5/data下面的,但我们需要修改为ssd下面,因此修改为path.data: /ssd/elastic/

(3) 找到#node.name,这里是配置节点名称,默认情况下,是随机生成的,为了方便查看和管理,修改为node.name: ${HOSTNAME}

(4) 找到 #bootstrap.memory_lock: true 这里去掉注释#号即可

(5) 找到 #network.host:,去掉注释并且修改为network.host: 0.0.0.0

(6) 找到 # discovery.zen.ping.unicast.hosts: ["host1", "host2"],去掉注释,里面的ip则修改为部分机器即可,从安全和稳定的角度,建议每台机器配第1个节点即可。(这里是用于配置Mater节点选举的,也就是Master会从这些节点中选举,其它节点与这些节点通讯,走的是单播)

(7) 在其中几台机器的(或都增加也行)配置文件尾部增加

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

这个主要是便于监控插件走http协议获取相关数据

e、基本优化

(1) 如果是内网可以直接关掉防火墙,如果安全较高,则需要将9200-9300这个范围加入防火墙例外。

(2) 所有机器关闭swapswapoff -a

f、启动

(1) 使用root执行sysctl -p(以前一直使用1.x,最近更新至这个版本,目前发前每次启动前必须执行这个命令,还没有找到可以不用每次执行的方法)

(2) 使用elastic用户切换到elasticsearch-5.6.5/bin下,然后执行./elasticsearch -d,这里的-d是以后台方式运行

g、性能和集群监控

由于官方的Xpack需要收费,因此一直使用elasticsearch-headelasticsearch-bigdesk监控集群,下载与使用地址分别是:
https://github.com/mobz/elasticsearch-headhttps://github.com/hlstudio/bigdesk

elasticsearch-head elasticsearch 5.x 以后 不支持插件, 必须单独起一个服务

bigdesk我们目录没有使用es插件的方式,而是直接以python的方式运行独立站点,操作方法如下:

cd bigdesk/_site/
python -m SimpleHTTPServer

然后访问8000端口即可。

猜你喜欢

转载自blog.csdn.net/qq_35704236/article/details/79047550