1.1部署es:9200

安装es:root用户:

1.布署java环境 - 所有节点

wget https://d6.injdk.cn/oraclejdk/8/jdk-8u341-linux-x64.rpm

yum localinstall jdk-8u341-linux-x64.rpm -y

java -version

2.下载安装elasticsearch - 所有节点

wget ftp://10.3.148.254/Note/Elk/elasticsearch-6.4.1.tar.gz

2.1.创建elk用户

useradd elk # elasticsearch不能以root用户运行,仅普通用户运行

echo 123|passwd --stdin elk

tar xf elasticsearch-6.4.1.tar.gz -C /usr/local/

ln -s /usr/local/elasticsearch-6.4.1 /usr/local/es

chown -R elk.elk /usr/local/es/*

2.2.创建数据目录

mkdir -p /data/es/{data,logs}

chown -R elk.elk /data/es/

修改es配置:elk用户

1.节点一配置es-master

su - elk

egrep -v "^#" /usr/local/es/config/elasticsearch.yml

cluster.name: es-cluster # 集群名称,各节点配置相同集群名称

node.name: node-1 # 节点名称,各节点配置不同。

node.master: true # 指示某个节点是否符合成为主节点的条件

node.data: true # 指示节点是否为数据节点。数据节点包含并管理索引的一部分

path.data: /data/es/data # 数据存储目录

path.logs: /data/es/logs # 日志存储目录

bootstrap.memory_lock: true # 内存锁定,是否禁用交换

network.host: 0.0.0.0 # 绑定节点IP

http.port: 9200 # rest api端口

discovery.zen.ping.unicast.hosts: "node-1", "node-2" # 提供其他 Elasticsearch 服务节点的单点广播发现功能

#bootstrap.system_call_filter 系统调用过滤器。

#discovery.zen.minimum_master_nodes 集群中可工作的具有Master节点资格的最小数量,官方的推荐值是(N/2)+1,其中N是具有master资格的节点的数量。

#discovery.zen.ping_timeout 节点在发现过程中的等待时间。

#discovery.zen.fd.ping_retries 节点发现重试次数。

#http.cors.enabled 是否允许跨源 REST 请求,用于允许head插件访问ES。

#http.cors.allow-origin 允许的源地址。

2.节点二配置es-data

su - elk

egrep -v "^#" /usr/local/es/config/elasticsearch.yml

cluster.name: es-cluster

node.name: node-2

node.master: false

node.data: true

path.data: /data/es/data

path.logs: /data/es/logs

bootstrap.memory_lock: true

network.host: 0.0.0.0

http.port: 9200

discovery.zen.ping.unicast.hosts: "node-1", "node-2"

配置环境:root用户:

1.两台机器要互相解析;节点名和主机名一样,就无需解析!

节点一:

hostnamectl set-hostname es1

vim /etc/hosts

192.168.148.132 es1 node-1

192.168.148.133 es2 node-2

节点二:

hostnamectl set-hostname es2

vim /etc/hosts

192.168.148.133 es2 node-2

192.168.148.132 es1 node-1

更改性能要求:所有节点

2.进程最大可同时打开文件数太小,至少要65536

echo "elk soft nofile 65536" >> /etc/security/limits.conf

echo "elk hard nofile 65536" >> /etc/security/limits.conf

3.请求锁内存失败,系统默认能让进程锁住的最大内存为64k

echo "elk soft memlock unlimited" >> /etc/security/limits.conf

echo "elk hard memlock unlimited" >> /etc/security/limits.conf

4.elk用户拥有的内存权限太小了,至少需要262114

echo vm.max_map_count=262144 >> /etc/sysctl.conf

启动服务:elk用户:

1.先启动master节点, 再启动data节点

su - elk

$ /usr/local/es/bin/elasticsearch -d #-d以守护进程方式运行

su - elk -c '/usr/local/es/bin/elasticsearch -d'

2.验证端口:9200:传输数据;9300:集群通信

netstat -tln #elk用户不能+p

tcp6 0 0 :::9200 :::* LISTEN 1238/java

tcp6 0 0 :::9300 :::* LISTEN 1238/java

3.查看服务情况:

curl 192.168.148.132:9200

查看集群的详细信息:

curl 192.168.148.132:9200/_cluster/health?pretty

number_of_nodes 和 number_of_data_nodes 这个命名完全是自描述的。

active_primary_shards 指出你集群中的主分片数量。这是涵盖了所有索引的汇总值。

active_shards 是涵盖了所有索引的所有分片的汇总值,即包括副本分片。

relocating_shards 显示当前正在从一个节点迁往其他节点的分片的数量。通常来说应该是0,不过在ES发现集群不太均衡时,该值会上涨。

initializing_shards 是刚刚创建的分片的个数。比如,当你刚创建第一个索引,分片都会短暂的处于 initializing 状态。

unassigned_shards 是已经在集群状态中存在的分片,但是实际在集群里又找不着。通常未分配分片的来源是未分配的副本。

关于集群健康状况

响应信息中最重要的一块就是 status字段。状态可能是下列三个值之一:

green - 所有的主分片和副本分片都正常运行。

yellow - 所有的主分片都正常运行,但不是所有的副本分片都正常运行。

red - 有主分片没能正常运行。

相关推荐
SakitamaX2 小时前
LVS(Linux Virtual Server)概念详解
linux·运维·lvs
小张同学a.2 小时前
Linux系统管理
linux·运维
会飞的小新2 小时前
Windows CMD 与 PowerShell 深度解析:底层原理、命令差异、自动化选型指南
运维·windows·自动化
代码村新手3 小时前
Linux的基本指令
linux·运维·服务器
MonolithIoT3 小时前
实战方案|设备备件无人值守仓库:连续化产线运维备件 7×24 小时数字化管控方案
运维·网络·数据库
gwf2164 小时前
磨损均衡算法(Wear Leveling)——SSD如何让每块闪存“公平退休“?
运维·数据库·人工智能·python·嵌入式硬件·算法·智能硬件
AAA@峥4 小时前
CentOS7 源码编译安装 MySQL5.7|SQL 基础操作 + 备份恢复完整实战
运维·数据库·sql·centos
Ai_easygo6 小时前
自动化客服Agent实战:用LangGraph+RAG+MCP把80%工单交给AI(从设计到部署)
运维·人工智能·自动化
HiDev_6 小时前
【非标自动化】2、认识元器件(开关电源)
运维·自动化
Elastic 中国社区官方博客7 小时前
不到 5 分钟完成本地部署:Jina embedding 模型现已支持本地部署
大数据·人工智能·elasticsearch·搜索引擎·embedding·jina