天天看点

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

es 5.x安装与优化

  • es 5.x安装与优化
    • 1、jdk版本要求
    • 2、安装步骤
      • a、创建组与账户
      • b、给相应的目录权限
      • c、修改操作系统的配置文件,否则无法正常启动
      • d、es配置 (Windows 用户直接从这里开始)
      • e、基本优化
      • f、启动
      • g、性能和集群监控

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

,这个名称可以随便,例如:

elastic

similar

之类的,

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) 所有机器关闭

swap

swapoff -a

f、启动

(1) 使用

root

执行

sysctl -p

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

(2) 使用

elastic

用户切换到

elasticsearch-5.6.5/bin

下,然后执行

./elasticsearch -d

,这里的

-d

是以后台方式运行

g、性能和集群监控

由于官方的

Xpack

需要收费,因此一直使用

elasticsearch-head

elasticsearch-bigdesk

监控集群,下载与使用地址分别是:

https://github.com/mobz/elasticsearch-head

https://github.com/hlstudio/bigdesk

elasticsearch-head

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

bigdesk

我们目录没有使用es插件的方式,而是直接以

python

的方式运行独立站点,操作方法如下:

cd bigdesk/_site/
python -m SimpleHTTPServer           

然后访问8000端口即可。

继续阅读