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 - 有主分片没能正常运行。

相关推荐
木子欢儿11 分钟前
国内 macOS/Linux 安装 rust
linux·运维·服务器·macos·rust
迪菲赫尔曼22 分钟前
【基础篇 26】第一次在服务器完成训练:准备数据、断线继续、检查成果与备份
运维·服务器·人工智能·机器学习·计算机视觉
进击的荆棘27 分钟前
Linux系统——线程同步与互斥
linux·运维·服务器·策略模式·同步·互斥·posix
.道阻且长.44 分钟前
Linux基本开发工具:gdb和cgdb的使用
linux·运维·服务器·开发语言
vipxieliang1 小时前
可观测性与安全的融合:统一数据平台的建设实践
运维·openai·自动化运维
Android系统攻城狮1 小时前
Linux FFmpeg深度解析之av_guess_format调用流程与实战(三十六)
linux·运维·服务器·ffmpeg·ffmpeg音视频进阶
进击的荆棘2 小时前
Linux系统——线程概念与控制之线程封装
linux·运维·服务器·线程
一个天蝎座 白勺 程序猿11 小时前
KingbaseES数据库归档重做日志文件管理:从配置到运维的实战指南
运维·数据库·oracle·kingbasees·金仓数据库
分布式存储与RustFS14 小时前
镜像仓库的层别堆本地盘:用 RustFS 给 Docker Registry 当 S3 后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
陈希12315 小时前
Linux 防火墙配置实战:firewalld、iptables 与云安全组
linux·运维·服务器