部署5.x版本的ES
下载 Elasticsearch5.x ES 官网下载
环境需求:
es5.x版本 不能以root用户运行es,需增加普通用户,此例新加用户es
JDK 1.8
useradd es
修改系统参数
1 vi /etc/security/limits.conf
添加如下内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
2 vi /etc/security/limits.d/90-nproc.conf
找到如下内容:
* soft nproc 1024
修改为
* soft nproc 2048
3 vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
并执行命令:
sysctl -p
4 文件打开数,要求大于65535
ulimit -n 65536
普通用户进入解压安装包。
tar -zxvf elastic*.tar.gz
在本机中找一个存储空间比较大的磁盘,如 /data,在该目录下执行以下命令
mkdir -p /data/es5/{data,logs}
用于存放es的数据和日志文件
ES参数配置
elasticsearch.yml是elasticsearch主要的配置文件,所有的配置都在这个文件里完成,一般情况下,默认的配置已经可以比较好地运行一个集群了,但你也可以对其进行微调。下面对其比较常见的一部分参数做一些说明:
Ø Cluster
- cluster.name
集群名称,如果有多个集群,那么每个集群名就得是唯一的。
Ø Node
1.node.data
集群中的节点名称,比如前面说的82、83、84三台机子每台都有一个名称,你也可以不设这个名称,默认的集群启动时会自己给每个节点初始化一个名称,但强烈建议这里还是由自己设置比较好。
2.node.master
该节点是否是master,true表示是的,false表示否,默认是true.
3.node.data
该节点是否存储数据,默认true表示是的。
说明:对于上面两个节点,如果你希望该节点只是一个master,但不存储数据,则应当设置为:
node.master: true
node.data: false
如果你希望该节点只存储数据,但不是一个master,则应该设置:
node.master: false
node.data: true
如果你既不希望该节点为一个master,也不想它存储数据,则应该设置为:
node.master: false
node.data: false
这种情况一般是你希望该节点仅仅是作为一个搜索负载均衡器,比如从各节点得到数据,聚合结果等。
Ø Index
1. index.number_of_shards
设置一个索引被分成的分片数,默认是5
2.index.number_of_replicas
设置一个索引有几个拷贝,默认为1。拷贝指的是其它节点对该节点的拷贝,比如在84上创建了一个索引,那么这个拷贝会存在于82和83上,这是一个分布式的属性。
拷贝越多,则搜索性能越佳,而分片越多则索引创建性能越好。
Ø Paths
1.path.conf
配置文件目录,默认为es根目录下的config目录。
2.path.data
索引存储路径,默认为es根目录下的data目录,可以有多个存储路径,各存储路径用逗号隔开,如:path.data: /path/to/data1,/path/to/data2
3.path.work
临时文件存放目录,默认为es根目录下的work目录
4.path.logs
日志文件存放目录,默认为es根目录下的logs目录。
5.path.plugins
插件的安装目录,默认为es根目录下的plugins目录。
Ø Network And HTTP
1.network.bind_host
Es节点绑定的地址