十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1、Elasticsearch集群节点
候选主节点(Master-eligible node):一个节点启动后,就会使用Zen Discovery机制去寻找集群中的其他节点,并与之建立连接。集群中会从候选主节点中选举出一个主节点,主节点负责创建索引、删除索引、分配分片、追踪集群中的节点状态等工作。Elasticsearch中的主节点的工作量相对较轻,用户的请求可以发往任何一个节点,由该节点负责分发和返回结果,而不需要经过主节点转发。
数据节点(Data node):数据节点负责数据的存储和相关具体操作,比如CRUD、搜索、聚合。所以,数据节点对机器配置要求比较高,首先需要有足够的磁盘空间来存储数据,其次数据操作对系统CPU、Memory和IO的性能消耗都很大。通常随着集群的扩大,需要增加更多的数据节点来提高可用性。
客户端节点(Client node):客户端节点就是既不做候选主节点也不做数据节点的节点,只负责请求的分发、汇总等等,也就是下面要说到的协调节点的角色。这样的工作,其实任何一个节点都可以完成,单独增加这样的节点更多是为了负载均衡。
协调节点(Coordinating node):协调节点,是一种角色,而不是真实的Elasticsearch的节点,你没有办法通过配置项来配置哪个节点为协调节点。集群中的任何节点,都可以充当协调节点的角色。当一个节点A收到用户的查询请求后,会把查询子句分发到其它的节点,然后合并各个节点返回的查询结果,最后返回一个完整的数据集给用户。在这个过程中,节点A扮演的就是协调节点的角色。毫无疑问,协调节点会对CPU、Memory要求比较高。
2、部署方案
默认情况下节点既可以做候选主节点也可以做数据节点,所以我们使用两台机器分别部署master+data节点。
3、系统环境
主机名 | IP地址 | 操作系统 |
---|---|---|
node1 | 192.168.2.211 | Centos 7.6 64位 |
node2 | 192.168.2.212 | Centos 7.6 64位 |
1、关闭 selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
sed -i 's/SELINUXTYPE=targeted/#&/' /etc/selinux/config
setenforce 0
2、安装需要用的工具
yum -y install vim wget java
3、下载elasticsearch并解压
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.2.tar.gz
mkdir /data
tar zxvf elasticsearch-7.4.0-linux-x86_64.tar.gz -C /data/
mv /data/elasticsearch-6.6.2 /data/elasticsearch
4、防火墙开放以下端口
firewall-cmd --permanent --add-port=9200/tcp
firewall-cmd --permanent --add-port=9300/tcp
firewall-cmd --reload
1、修改elasticsearch配置vim /data/elasticsearch/config/elasticsearch.yml
cluster.name: cluster-test #集群名称,每个节点集群名称一样
node.name: test-1 #节点名称,每个节点设置唯一的名称
path.data: /data/elasticsearch/data #数据存储路径
path.logs: /data/elasticsearch/logs #日志文件存放路径
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.2.211", "192.168.2.212"] #节点列表
discovery.zen.minimum_master_nodes: 2 #候选主节点数量
gateway.recover_after_nodes: 1 #集群中只要有1个节点就正常工作
2、创建启动用户
useradd els -p 123456
chown -R els:els /data/elasticsearch
3、修改limit数量,需要重新登陆系统生效vim /etc/security/limits.conf #添加以下内容
* soft nofile 65536
* hard nofile 65536
4、修改内核参数vm.max_map_countvim /etc/sysctl.conf #添加以下内容
vm.max_map_count=262144
sysctl -p
5、切换到els用户,启动elasticsearch
su - els
/data/elasticsearch/bin/elasticsearch -d
6、查看集群状态
查看集群节点状态
curl http://192.168.2.211:9200/_cat/nodes?pretty
查看集群状态
curl http://192.168.2.211:9200/_cluster/state?pretty
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。