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

相关推荐
十二零七6 分钟前
掌握 ElasticSearch 精准查询:Term Query 与 Filter 详解
大数据·elasticsearch·搜索引擎
不要停止思考22 分钟前
克隆项目到本地
大数据·elasticsearch·搜索引擎
risc1234561 小时前
【Elasticsearch】动态计算字段的几种方式
elasticsearch
猫吃了源码2 小时前
CentOS系统安装NFS
linux·运维·centos
EelBarb2 小时前
ubuntu:桌面版磁盘合并扩容
linux·运维·ubuntu
令狐少侠20113 小时前
devops-Jenkins一键部署多台实例
运维·jenkins·devops
yinshuilan4 小时前
今日运维之-Mac笔记本python环境问题
运维·git·python·brew
web136885658714 小时前
Nginx 负载均衡详解
运维·nginx·负载均衡