es 原生linux部署集群

背景

目的:

  1. 理解不同部署方式的架构差异

  2. 对比环境配置的复杂度

  3. 评估性能与资源管理

  4. 探索扩展性与高可用性

  5. 学习安全与隔离机制

  6. 实践监控与维护

  7. 掌握混合部署与云原生场景

实验的最终目标

技能提升:

全面掌握Elasticsearch在不同环境下的部署、配置、优化和故障排查能力。

决策支持:

为实际生产环境中的技术选型(原生 vs. 容器化)提供数据支持和实践经验。

需求:

es 原生linux部署集群

原生linux命令部署

1.准备两台服务器,修改静态IP,关闭防火墙和SELinux,其中静态IP分别设为10.1.1.32和10.1.1.33,通过命令systemctl stop firewalld && systemctl disable firewalld关闭防火墙,修改selinux配置文件后重启。

2.安装ES准备工作:安装Java并验证版本,下载ES安装包并解压,创建es用户和组,移动文件目录并赋予权限,修改sysctl.conf和limits.conf文件,其中在sysctl.conf添加vm.max_map_count=262144 ,在limits.conf配置用户文件打开数限制。

3.安装ES:配置elasticsearch.yml文件,设置集群名称、节点名称、绑定IP等参数,两台服务器的集群名称需相同;切换到es用户启动ES服务,另一台服务器重复相同步骤。

4.测试:在任意一台服务器上使用curl命令测试ES集群状态,注意修改为自己的IP地址。

一.准备环境

1.1环境准备(可先配置好一台,随后克隆)

|-------------------|------------------------------|
| IP | |
| 10.1.1.32 | cpu 2核 内存:4G 硬盘 100G |
| 10.1.1.33 | cpu 2核 内存:4G 硬盘 100G |

1.2 修改静态IP

bash 复制代码
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=9ca3309e-8a00-4ad0-a902-792e121282d9
DEVICE=ens33
ONBOOT=yes
IPADDR=10.1.1.32
PREFIX=24
GATEWAY=10.1.1.2
DNS1=114.114.114.114
DNS2=8.8.8.8

1.3关闭Slinux和防火墙

systemctl stop firewalld && systemctl disable firewalld

vi /etc/sysconfig/selinux

SELinux=enforcing改为SELinux=disabled

reboot #重启

二.安装es准备工作

2.1 安装java

sudo yum install java-1.8.0-openjdk

java -version #验证java

2.2 下载es

bash 复制代码
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.tar.gz
tar -xvf elasticsearch-6.5.4.tar.gz #解压

2.3创建用户和组

#创建组

groupadd es

#创建用户 组 密码

useradd es -g es -p es

#移动文件目录 把解压的elasticsearch-6.5.4 移到 /home/es下

mv elasticsearch-6.5.4 /home/es

#赋值权限

chown -R es:es /home/es/elasticsearch-6.5.4

2.4 修改sysctl.conf

vi /etc/sysctl.conf

需要在:/etc/sysctl.conf 添加上:vm.max_map_count=262144最后启动配置:sysctl -w vm.max_map_count=262144

2.5 修改limits.conf

vim /etc/security/limits.conf

配置内容 *表示所有用户生效

* soft nofile 65536

* hard nofile 65536

重新登录即可生效

可使用命令查看是否生效

ulimit -H -n

. 安装es

此处可用执行完以上操作的虚拟机克隆一台新的虚拟机,修改IP为10.1.1.33

3.1 配置文件

vi /home/es/elasticsearch-6.5.4/config/elasticsearch.yml

IP为10.1.1.32:

cluster.name: my-application

node.name: node-1

network.host: 0.0.0.0

discovery.zen.ping.unicast.hosts: ["host1", "host2"]

discovery.zen.minimum_master_nodes: 2

bash 复制代码
cluster.name: my-application

node.name: node-1

network.host: 0.0.0.0

discovery.zen.ping.unicast.hosts: ["host1", "host2"]

discovery.zen.minimum_master_nodes: 2

IP为10.1.1.33:

cluster.name: my-es-cluster

node.name: node-2

network.host: 10.1.1.33

http.port: 9200

discovery.zen.ping.unicast.hosts: ["10.1.1.32", "10.1.1.33"]

discovery.zen.minimum_master_nodes: 2

node.master: true

node.data: true

bash 复制代码
cluster.name: my-es-cluster
node.name: node-2
network.host: 10.1.1.33
http.port: 9200
discovery.zen.ping.unicast.hosts: ["10.1.1.32", "10.1.1.33"]
discovery.zen.minimum_master_nodes: 2
node.master: true
node.data: true
  • cluster.name: 集群名称,所有节点必须相同。

  • node.name: 当前节点的名称。

  • network.host: 节点绑定的 IP 地址。

  • discovery.zen.ping.unicast.hosts: 用于发现其他节点的主机列表。

  • discovery.zen.minimum_master_nodes: 主节点数量的最小值,通常是 (节点总数 / 2) + 1。

3.2 切换用户

su es

cd /home/es/elasticsearch-6.5.4/bin

./elasticsearch -d

四.测试

curl -X GET "10.1.1.33:9200/_cluster/health?pretty"

curl -X GET "10.1.1.32:9200/_cluster/health?pretty"

相关推荐
DeeplyMind30 分钟前
AMD rocr-libhsakmt分析系列3-4:svm-reserve模式实现分析
linux·驱动开发·1024程序员节·amdgpu·kfd·rocr
神秘的土鸡31 分钟前
从数据仓库到数据中台再到数据飞轮:我的数据技术成长之路
java·服务器·aigc·数据库架构·1024程序员节
大米粥哥哥1 小时前
Qt QProcess基于Linux的命令管道符号无效问题【已解决】
linux·qt·shell·qprocess·1024程序员节·管道符号
北京迅为1 小时前
【北京迅为】iTOP-4412精英版使用手册-第六十七章 USB鼠标驱动详解
linux·人工智能·嵌入式·4412
骑士9991111 小时前
rabbitMQ 的安装和使用
linux·rabbitmq
小白不想白a2 小时前
【shell】每日shell练习:系统备份文件管理/系统性能趋势分析
linux·服务器
咬_咬2 小时前
C++仿muduo库高并发服务器项目:Channel模块
linux·c++·channel·1024程序员节·muduo·高并发服务器
csdn_aspnet2 小时前
如何在 Ubuntu 24.04/22.04/20.04 上安装 MySQL 8.0
linux·mysql·ubuntu
Yyyy4822 小时前
Ubuntu22.04LTS基于cephadm快速部署Ceph Reef(18.2.X)集群
linux·服务器·ceph
Pastthewind2 小时前
docker-compose部署ES
elasticsearch