Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

ES集群搭建文档 PDF 下载


分享到:
时间:2020-08-04 11:50来源:http://www.java1234.com 作者:小锋  侵权举报
ES集群搭建文档 PDF 下载
失效链接处理
ES集群搭建文档 PDF 下载

本站整理下载:
 
相关截图:
 
主要内容:

一、java安装
由于elasticsearch是由java语言编写,所以在服务器上配置es集群时,需要先在服务器上安装jdk。
https://www.cnblogs.com/lamp01/p/8932740.html
二、ES集群安装
1.ES集群要求
集群统一使用es稳定版本6.4.3
(1)集群硬件(内存)
测试:3台虚拟机:内存4g
正式:3台服务器:内存32g或者64g
ES是非常消耗内存的,内存的大小直接影响ES搜索的效率,es是很吃内存的,es吃的主要不是你的jvm的内存,一般来说es用jvm heap(堆内存)还是用的比较少的,主要吃的是机器的内存
es底层基于lucene,lucene是基于磁盘文件来读写和保存你的索引数据的,倒排索引,正排索引,lucene的特点就是会基于os filesystem cache,会尽量将频繁访问的磁盘文件的数据在操作系统的内存中进行缓存,然后尽量提升磁盘文件读写的性能。
(2)集群硬件(cpu)
大多数的es集群对于cpu的要求都会比较低一些,因此一台机器有多少个cpu core其实对生产环境的es集群部署相对来说没有那么的重要了,至少没有内存来的重要。当然,肯定是要用多核处理器的,一般来说2个cpu core~8个cpu core都是可以的。
(3)集群硬件(硬盘)
对于es的生产环境来说,磁盘是非常重要的,尤其是对那些大量数据写入的es集群中国,在服务器上,磁盘是最慢的那个资源,所以对于大量写入的es集群来说,会很容易因为磁盘的读写性能造成整个集群的性能瓶颈。如果我们能够使用SSD固态硬盘,而不是机械硬盘,那么当然是最好的,SSD的性能比机械硬盘可以高很多倍,可以让es的读写性能都高很多倍。
(4)集群硬件(网络)
对于es这种分布式系统来说,快速而且可靠的网络是非常的重要的。因为高速网络通信可以让es的节点间通信达到低延时的效果,高带宽可以让shard的移动和恢复,以及分配等操作更加的快速。
集群选取是,一般选取高配置的服务器,这样可以减少节点数,譬如,对于总共需要64g内存的集群,我们可以选择4台16g内存服务器,也可以选择8台8g服务器,选择4台16g内存的服务器优势在于,可以减少集群见的网络传输,提高数据查询的效率,缺点在于4台服务器的容错性要略低于8台8g服务器。
2.ES集群配置
2.1创建普通用户
由于es为了安全不允许使用root用户运行,需要创建出普通用户esuser
groupadd esgroup   // 创建用户分组
useradd esuser -g esgroup -p password   // 给分组添加一个用户
esuser用户等待es集群相关配置通过root配置好后,在将相关配置文件赋权给esuser用户。通过esuser用户启动es集群。
2.2配置普通用户免密登陆root 
https://www.cnblogs.com/bass6/p/5995092.html
这样做的目的是方便我们后续用户间的切换,进行集群搭建操作。因为在集群搭建时,是需要root权限操作。
2.3集群配置
(1)在集群节点解压ES
在es每个解压文件下都有一个config文件,config文件夹中主要集中了es的配置文件
 
Config文件夹下,主要有两个文件值得我们关注,elasticsearch.yml和jvm.option
 
elasticsearch.yml是es运行参数的配置文件
jvm.option是es中jvm的运行参数配置
es安装包的目录结构大致如下:
bin:存放es的一些可执行脚本,比如用于启动进程的elasticsearch命令,以及用于安装插件的elasticsearch-plugin插件
conf:用于存放es的配置文件,比如elasticsearch.yml
data:用于存放es的数据文件,就是每个索引的shard的数据文件
logs:用于存放es的日志文件
plugins:用于存放es的插件
script:用于存放一些脚本文件
elasticsearch.yml文件如下,配置参数见文件
 
(2)elasticsearch.yml配置参数解析
#配置集群名字,起名为es-geely。es启动后会将具有相同集群名字的节点放到一个集群下。这个是必须要进行修改的,如果使用默认的,可能会有莫名奇妙的集群节点加入到进群,导致数据在rebalance时,往莫名其妙的加入集群的节点,分发数据shard,导致数据丢失。
cluster.name: es-geely
#配置集群节点名字,这个名字是该节点在集群上的名字,独一无二
node.name: "es-node1" 
#配置节点的类型,在es集群中,节点一般是有2中角色,master node和data node。Master节点负责完成对进行各个节点状态的更新,并将节点最新的状态发送给各个data node,例如,当某个节点加入到集群中,节点会首先去join master,找master去注册,注册以后,master会把最新的进群状态commit到集群各个节点。Data node则主要是负责es中数据

 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐