【ElasticSearch】03 部署
Windows集群部署:
把包解压成三个节点 【kibana-7.16.3-windows-x86_64.zip】
- Node-1001
- Node-1002
- Node-1003
修改集群的配置信息
- Node-1001\config\elasticsearch.yml
- Node-1002\config\elasticsearch.yml
- Node-1003\config\elasticsearch.yml
配置信息:
============================== Node-1001 ==========================
# 集群名称一致
cluster.name: Cloud9-WIN-ES-CAT #节点名称,集群内要唯一
node.name: node-1001
node.master: true
node.data: true # ip 地址
network.host: localhost
# http 端口
http.port: 1001
# tcp 监听端口
transport.tcp.port: 9301 # 跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"
============================== Node-1002 ==========================
# 集群名称一致
cluster.name: Cloud9-WIN-ES-CAT #节点名称,集群内要唯一
node.name: node-1002
node.master: true
node.data: true # 候选主节点
discovery.seed_hosts: ["localhost:9301"]
discovery.zen.fd.ping_timeout: 1m
discovery.zen.fd.ping_retries: 5 # ip 地址
network.host: localhost
# http 端口
http.port: 1002
# tcp 监听端口
transport.tcp.port: 9302 # 跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"
============================== Node-1003 ==========================
# 集群名称一致
cluster.name: Cloud9-WIN-ES-CAT #节点名称,集群内要唯一
node.name: node-1003
node.master: true
node.data: true #候选主节点的地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["localhost:9301", "localhost:9302"]
discovery.zen.fd.ping_timeout: 1m
discovery.zen.fd.ping_retries: 5 # ip 地址
network.host: localhost
# http 端口
http.port: 1003
# tcp 监听端口
transport.tcp.port: 9303 # 跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"
(可选)编写辅助启动脚本【start-cluster.cmd】:
@echo off
start %CD%\Node-1001\bin\elasticsearch.bat
start %CD%\Node-1002\bin\elasticsearch.bat
start %CD%\Node-1003\bin\elasticsearch.bat
(可选)编写辅助清除脚本【clear-nodes.cmd】:
@ECHO OFF
RD /S /Q %CD%\Node-1001\data\nodes
RD /S /Q %CD%\Node-1002\data\nodes
RD /S /Q %CD%\Node-1003\data\nodes
启动之前,删除data目录下的nodes目录
然后依次启动
bin\elasticsearch.bat
请求节点地址,查看节点运行状态【GET请求】
http://localhost:1001/_cluster/health
http://localhost:1002/_cluster/health
http://localhost:1003/_cluster/health
响应这些信息表示正常
{
"cluster_name": "Cloud9-WIN-ES-CAT",
"status": "green",
"timed_out": false,
"number_of_nodes": 1,
"number_of_data_nodes": 1,
"active_primary_shards": 3,
"active_shards": 3,
"relocating_shards": 0,
"initializing_shards": 0,
"unassigned_shards": 0,
"delayed_unassigned_shards": 0,
"number_of_pending_tasks": 0,
"number_of_in_flight_fetch": 0,
"task_max_waiting_in_queue_millis": 0,
"active_shards_percent_as_number": 100.0
}
或者是查看cat/nodes?v查看集群状态
http://localhost:1001/_cat/nodes?v
http://localhost:1002/_cat/nodes?v
http://localhost:1003/_cat/nodes?v
响应的信息:
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
127.0.0.1 20 97 19 cdfhilmrstw - node-1003
127.0.0.1 21 97 19 cdfhilmrstw - node-1002
127.0.0.1 16 97 19 cdfhilmrstw * node-1001
# 测试集群是否是相互通信的?
# 在1001节点创建一个sample索引
PUT http://localhost:1001/sample
# 然后去1002节点和1003节点上面查看sample索引信息
# 如果其他节点能够找到1001节点的索引,说明集群是相互通信的
GET http://localhost:1003/sample
GET http://localhost:1002/sample
Linux集群部署:
首先提供集群服务环境 (每台虚拟机最少提供2G内存,内存过低将导致服务无法集群通信)
192.168.177.128
192.168.177.129
192.168.177.130
每台机器都需要有ES的包
elasticsearch-7.16.0-linux-x86_64.tar.gz
解压包到/opt/module目录下面
mkdir -p /opt/module/
tar -zxvf elasticsearch-7.16.0-linux-x86_64.tar.gz -C /opt/module/
# (可选)变更目录名称
mv /opt/module/elasticsearch-7.16.0 /opt/module/es
# 创建elasticsearch用户, 设置密码123456
useradd user-es
passwd user-es
# 权限赋予
chown -R user-es:user-es /opt/module/elasticsearch-7.16.0/
# 编辑集群参数
mv /opt/module/elasticsearch-7.16.0/config/elasticsearch.yml /opt/module/elasticsearch-7.16.0/config/elasticsearch.yml.bak
vim /opt/module/elasticsearch-7.16.0/config/elasticsearch.yml = = = = = 1号节点 192.168.177.128 = = = = =
# 集群名称
cluster.name: cluster-es # 节点名称,每个节点的名称不能重复
node.name: node-1 # ip地址,每个节点的地址不能重复
network.host: 192.168.177.128 # 是否具有资格主节点
node.master: true
node.data: true
http.port: 9200 # head 插件需要这打开这两个配置
http.cors.allow-origin: "*"
http.cors.enabled: true
http.max_content_length: 200mb # es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes: ["node-1"] # es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["192.168.177.128:9300","192.168.177.129:9300","192.168.177.130:9300"]
gateway.recover_after_nodes: 2
network.tcp.keep_alive: true
network.tcp.no_delay: true
transport.tcp.compress: true # 集群内同时启动的数据任务个数,默认是 2 个
cluster.routing.allocation.cluster_concurrent_rebalance: 16
# 添加或删除节点及负载均衡时并发恢复的线程个数,默认 4 个
cluster.routing.allocation.node_concurrent_recoveries: 16
# 初始化数据恢复时,并发恢复线程的个数,默认 4 个
cluster.routing.allocation.node_initial_primaries_recoveries: 16 = = = = = 2号节点 192.168.177.129 = = = = =
# 集群名称
cluster.name: cluster-es # 节点名称,每个节点的名称不能重复
node.name: node-2 # ip地址,每个节点的地址不能重复
network.host: 192.168.177.129 # 是否具有资格主节点
node.master: true
node.data: true
http.port: 9200 # head 插件需要这打开这两个配置
http.cors.allow-origin: "*"
http.cors.enabled: true
http.max_content_length: 200mb # es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes: ["node-1"] # es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["192.168.177.128:9300","192.168.177.129:9300","192.168.177.130:9300"]
gateway.recover_after_nodes: 2
network.tcp.keep_alive: true
network.tcp.no_delay: true
transport.tcp.compress: true # 集群内同时启动的数据任务个数,默认是 2 个
cluster.routing.allocation.cluster_concurrent_rebalance: 16
# 添加或删除节点及负载均衡时并发恢复的线程个数,默认 4 个
cluster.routing.allocation.node_concurrent_recoveries: 16
# 初始化数据恢复时,并发恢复线程的个数,默认 4 个
cluster.routing.allocation.node_initial_primaries_recoveries: 16 = = = = = 3号节点 192.168.177.130 = = = = =
# 集群名称
cluster.name: cluster-es # 节点名称,每个节点的名称不能重复
node.name: node-3 # ip地址,每个节点的地址不能重复
network.host: 192.168.177.130 # 是否具有资格主节点
node.master: true
node.data: true
http.port: 9200 # head 插件需要这打开这两个配置
http.cors.allow-origin: "*"
http.cors.enabled: true
http.max_content_length: 200mb # es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes: ["node-1"] # es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["192.168.177.128:9300","192.168.177.129:9300","192.168.177.130:9300"]
gateway.recover_after_nodes: 2
network.tcp.keep_alive: true
network.tcp.no_delay: true
transport.tcp.compress: true # 集群内同时启动的数据任务个数,默认是 2 个
cluster.routing.allocation.cluster_concurrent_rebalance: 16
# 添加或删除节点及负载均衡时并发恢复的线程个数,默认 4 个
cluster.routing.allocation.node_concurrent_recoveries: 16
# 初始化数据恢复时,并发恢复线程的个数,默认 4 个
cluster.routing.allocation.node_initial_primaries_recoveries: 16
# 解除进程限制
vim /etc/security/limits.conf
= = = = = 配置参数 = = = =
# 每个进程可以打开的文件数的限制
user-es soft nofile 65536
user-es hard nofile 65536 vim /etc/security/limits.d/20-nproc.conf
= = = = = 配置参数 = = = =
# 每个进程可以打开的文件数的限制
user-es soft nofile 65536
user-es hard nofile 65536
# 操作系统级别对每个用户创建的进程数的限制
* hard nproc 4096
# 注:* 带表 Linux 所有用户名称 vim /etc/sysctl.conf
= = = = = 配置参数 = = = =
# 在文件中增加下面内容
# 一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536
vm.max_map_count=655360
# 重新加载
sysctl -p
# 关闭防火墙
systemctl stop firewalld
# 切换ES用户,启动elasticsearch集群
su user-es
# 清空遗留的节点数据
# 所有节点都执行一遍
rm -rf /opt/module/elasticsearch-7.16.0/data/nodes
# 启动elasticsearch
/opt/module/elasticsearch-7.16.0/bin/elasticsearch -d
# 访问
http://192.168.177.128:9200/_cat/nodes?v
http://192.168.177.129:9200/_cat/nodes?v
http://192.168.177.130:9200/_cat/nodes?v
# 如果每个地址访问都是下面一样的内容,则集群部署成功
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
192.168.177.128 32 94 2 0.28 0.62 0.32 cdfhilmrstw * node-1
192.168.177.129 25 95 7 0.19 0.65 0.37 cdfhilmrstw - node-2
192.168.177.130 20 94 0 0.24 0.58 0.31 cdfhilmrstw - node-3
【ElasticSearch】03 部署的更多相关文章
- ELK日志监控平台安装部署简介--Elasticsearch安装部署
最近由于工作需要,需要搭建一个ELK日志监控平台,本次采用Filebeat(采集数据)+Elasticsearch(建立索引)+Kibana(展示)架构,实现日志搜索展示功能. 一.安装环境描述: 1 ...
- 【分布式搜索引擎】Elasticsearch如何部署以及优化查询性能
一.Elasticsearch生产集群如何部署 (1)es生产集群部署5台机器,若每台机器是6核64G的,那么集群总内存是320G (2)假如我们es集群的日增量数据大概是2000万条,每天日增量数据 ...
- ElasticSearch安装部署,基本配置(Ubuntu14.04)
ElasticSearch部署文档(Ubuntu 14.04) 安装java sudo add-apt-repository ppa:webupd8team/java sudo apt-get upd ...
- elasticSearch的部署和使用
部署服务 docker run启动elastic服务 docker pull elasticsearch:6.7.2 docker run -d -p 9200:9200 -p 9300:9300 - ...
- MatrixOne从入门到实践03——部署MatrixOne
MatrixOne从入门到实践--部署MatrixOne 前两章节我们简单介绍了MatrixOne和源码编译了MatrixOne.本章节将使用不同的部署方式,来部署MatrixOne的服务. 注意:不 ...
- ElasticSearch 单点部署
1.下载指定的ES版本(7.17.3) https://www.elastic.co/downloads/past-releases/elasticsearch-7-17-3 2.单点部署elasti ...
- ElasticSearch安装部署
官网:http://www.elasticsearch.org ElasticSearch is an open-source and distributed search engine which ...
- elastic-search单机部署以及中文分词IKAnalyzer安装
前提条件 elasticsearch使用版本5.6.3,需要jdk版本1.8,低于该版本不能使用 下载 https://artifacts.elastic.co/downloads/elasticse ...
- Docker笔记四:Elasticsearch实例部署
在运行或启动elasticsearch容器前,先在宿主机上执行 sysctl -w vm.max_map_count=262144: 解决" max virtual memory areas ...
- elasticsearch单机部署多个节点
cp -r elasticsearch-2.4.4 elasticsearch-2.4.4-2 mv elasticsearch-2.4.4 elasticsearch-2.4.4-1 总共cp了三个 ...
随机推荐
- redux中集成immutable.js
安装redux-immutable redux中利用combineReducers来合并reducer并初始化state,redux自带的combineReducers只支持state是原生js形式的 ...
- 国产大模型参加高考,同写2024年高考作文,及格分(通义千问、Kimi、智谱清言、Gemini Advanced、Claude-3-Sonnet、GPT-4o)
大家好,我是章北海 今天高考,上午的语文结束,市面上又要来一场大模型参考的文章了. 我也凑凑热闹,让通义千问.Kimi.智谱清言一起来写一下高考作文. 公平起见,不加任何其他prompt,直接把题目甩 ...
- 荣耀无5G开关,荣耀手机,荣耀80GT
荣耀无5G开关,荣耀手机,荣耀80GT. Magic OS 版本号是:7.0.0.138(C00E135R2P6). 解决方法: 1.进入设置-关于手机-连续点击7次版本号. 会提示,开发者选项已开启 ...
- MoneyPrinterPlus:AI自动短视频生成工具,赚钱从来没有这么容易过
这是一个轻松赚钱的项目. 短视频时代,谁掌握了流量谁就掌握了Money! 所以给大家分享这个经过精心打造的MoneyPrinterPlus项目. 它可以:使用AI大模型技术,一键批量生成各类短视频. ...
- OpenCV + sklearnSVM 实现手写数字分割和识别
这学期机器学习考核方式以大作业的形式进行考核,而且只能使用一些传统的机器学习算法. 综合再三,选择了自己比较熟悉的MNIST数据集以及OpenCV来完成手写数字的分割和识别作为大作业. 1. 数据集准 ...
- 又跳槽!3年Java经验收割成都大厂的面试心得(干货满满&文末有福利)
中厂->阿里->字节,成都->杭州->成都 系列文章目录和关于我 0.前言 笔者在不足两年经验的时候从成都一家金融科技中厂跳槽到杭州阿里淘天集团,又于今年5月份从杭州淘天跳槽到 ...
- java datetime数据类型去掉时分秒
在Java中,如果我们想要表示一个日期而不包括时间(时分秒),我们通常会使用java.time包中的LocalDate类.LocalDate是一个不可变的日期对象,它只包含年.月.日三个字段. 1. ...
- IS-IS总结
IS-IS 管理距离115 ISIS是链路状态协议 封装在数据链路层,所以没有协议号 使用SPF算法计算最短路径 没有骨干区的概念 使用IIH(ISIS ...
- C++面向对象多级菜单向Arduino的移植
前段时间写了一篇文章<C++面向对象语言自制多级菜单>,文中指出了可以将HeleMenu库进行移植,现已完成技术思路,特此记录. 一.特性 基本与上一篇文章指出的一致,只是将菜单显示和响应 ...
- 使用AWS SageMaker进行机器学习项目
使用AWS SageMaker进行机器学习项目 本文主要介绍如何使用AWS SageMaker进行机器学习项目. 1. 题目 使用的题目为阿里天池的"工业蒸汽量预测",题目地址为: ...