身安不如心安,屋宽不如心宽 。
集群

集群

对ES集群的读写操作,读应该连接哪些节点,写应该连接哪些节点?

Elasticsearchyuechen323 回复了问题 • 4 人关注 • 3 个回复 • 2372 次浏览 • 2021-06-10 17:38 • 来自相关话题

关于ElasticSearch7版本搭建集群数据存储节点数据一致性的疑问

Elasticsearchzakokun 回复了问题 • 2 人关注 • 2 个回复 • 2350 次浏览 • 2020-10-26 18:14 • 来自相关话题

关于es集群扩充节点的问题

Elasticsearchbyx313 回复了问题 • 4 人关注 • 3 个回复 • 5990 次浏览 • 2020-03-15 22:47 • 来自相关话题

elasticsearch data node 脱离又加入集群, 报错: java.nio.channels.ClosedChannelException: null

Elasticsearchmicmouse521 回复了问题 • 5 人关注 • 5 个回复 • 7216 次浏览 • 2019-11-28 17:43 • 来自相关话题

3千万数据,如何设计集群

Elasticsearchdoom 回复了问题 • 19 人关注 • 11 个回复 • 17981 次浏览 • 2019-09-28 12:11 • 来自相关话题

unbuntn ES 单节点正常,不能形成集群。

Elasticsearchzqc0512 回复了问题 • 2 人关注 • 4 个回复 • 1811 次浏览 • 2019-09-09 10:44 • 来自相关话题

7.0.0中cluster.initial_master_nodes这个参数具体是什么意思呢。

Elasticsearchxiaoke 回复了问题 • 3 人关注 • 1 个回复 • 20958 次浏览 • 2019-05-17 18:54 • 来自相关话题

elasticsearch 宕机1台 会有20分钟不可访问

Elasticsearchzqc0512 回复了问题 • 6 人关注 • 4 个回复 • 6317 次浏览 • 2019-01-07 08:53 • 来自相关话题

CentOS 7.4 下安装 ES 6.5.1 搜索集群

Elasticsearchrochy 发表了文章 • 3 个评论 • 6992 次浏览 • 2018-11-23 00:02 • 来自相关话题

一、准备安装

1、修改系统 hosts

vi /etc/hosts   # 修改 hosts 文件,添加下面的内容

192.168.11.1    sky-00
192.168.11.2    sky-01
192.168.11.3    sky-02
192.168.11.4    sky-03
192.168.11.5    sky-04
192.168.11.6    sky-05
192.168.11.7    sky-06

2、角色分配

主机名 角色 内存分配
sky-00 Master 4G
sky-01 Master 8G
sky-02 Master+Data 12G
sky-03 Data 12G
sky-04 Data 12G
sky-05 Data 12G
sky-06 Data 12G

3、创建 ES 用户

adduser elastic  # 新增用户
passwd elastic   # 修改用户密码

4、创建 ES 数据和日志目录

cd /data/
mkdir elastic
cd elastic
mkdir data      # 创建数据目录
mkdir log       # 创建日志目录
chown -R elastic /data/elastic/  # 修改拥有着

5、调整文件句柄数以及可用进程数

Elasticsearch 要求其可用的文件句柄至少为 65536,同时要求其进程数限制至少为 2048,可用按照下面的指令进行修改。

分别对应以下两个报错信息:

  • max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
  • max number of threads [1024] for user [es] is too low, increase to at least [2048]
vi /etc/security/limits.conf

*     soft   nofile  100001
*     hard   nofile  100002
*     soft   nproc   4096
*     hard   nproc   8192
elastic soft memlock unlimited
elastic hard memlock unlimited

6、设置内核交换

为了避免不必要的磁盘和内存交换,影响效率,需要将 vm.swappiness 修改为 1(进行最少量的交换,而不禁用交换)或者 10(当系统存在足够内存时,推荐设置为该值以提高性能),其默认值为 60。

此外需要修改最大虚拟内存 vm.max_map_count 防止启动时报错:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

vi /etc/sysctl.conf

vm.swappiness = 1
vm.max_map_count = 262144

7、下载安装文件

mkdir /opt/downloads/
mkdir /opt/soft/
cd /opt/downloads/

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.1.tar.gz
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.5.1-linux-x86_64.tar.gz
wget http://download.oracle.com/otn/java/jdk/xxxxxx/jdk-8u191-linux-x64.tar.gz

tar -zxvf elasticsearch-6.5.1.tar.gz -C /opt/soft/
tar -zxvf jdk-8u191-linux-x64.tar.gz -C /opt/soft/
tar -zxvf kibana-6.5.1-linux-x86_64.tar.gz -C /opt/soft/

chown -R elastic /opt/soft/elasticsearch-6.5.1/
chown -R elastic /opt/soft/kibana-6.5.1/

二、开始安装

1、配置 Java 环境

su elastic             #切换到 elastic 用户
vi ~/.bashrc          #只修改 elastic 用户自己的环境变量

export JAVA_HOME=/opt/soft/jdk1.8.0_191
export JRE_HOME=/opt/soft/jdk1.8.0_191/jre
export CLASSPATH=.:/opt/soft/jdk1.8.0_191/lib:/opt/soft/jdk1.8.0_191/jre/lib
export PATH=$PATH:/opt/soft/jdk1.8.0_191/bin:/opt/soft/jdk1.8.0_191/jre/bin

2、配置 ES 内存占用

cd /opt/soft/elasticsearch-6.5.1/config/
vi jvm.options 

-Xms4g      # 请根据自己机器配置调整
-Xmx4g

3、配置 Elasticsearch

下面的配置已经过多个生产环境验证,具体设置值仅供参考,请务必根据实际情况进行调整。

# ---------------------------------- Cluster -----------------------------------
#
# 设置集群名
cluster.name: cluster-name
#
# ------------------------------------ Node ------------------------------------
#
# 设置节点名
node.name: node01

# 设置角色
node.master: true   
node.data: false
node.ingest: true

# 设置机架信息
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
#
# 设置数据路径
path.data: /data/elastic/data

# 设置日志路径
path.logs: /data/elastic/log
#
# ----------------------------------- Memory -----------------------------------
#
# 设置内存锁定
bootstrap.memory_lock: true
bootstrap.system_call_filter: false
#
# ---------------------------------- Network -----------------------------------
#
# 设置ip和端口
network.bind_host: sky-00
network.publish_host: 0.0.0.0
http.port: 9200

# 设置跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
http.max_content_length: 500mb

# --------------------------------- Discovery ----------------------------------

# 设置zen发现范围(只需要填写主节点的 ip 即可)
discovery.zen.ping.unicast.hosts: ["sky-00", "sky-01", "sky-02"]

discovery.zen.no_master_block: write
discovery.zen.fd.ping_timeout: 10s

# 设置最小主节点个数,一般为:(master_node_count+1)/2
discovery.zen.minimum_master_nodes: 2

# ---------------------------------- Gateway -----------------------------------
#
# 设置在有4个节点后进行数据恢复
gateway.recover_after_nodes: 4
gateway.expected_nodes: 7
gateway.recover_after_time: 1m
#
# ---------------------------------- Various -----------------------------------
# 禁止通配符模式删除索引
action.destructive_requires_name: true

indices.recovery.max_bytes_per_sec: 200mb
indices.memory.index_buffer_size: 20%

# 默认开启全部类型脚本,可以通过下面配置进行限制
#script.allowed_types: inline
#script.allowed_contexts: search, update

# 关闭xpack的安全校验
xpack.security.enabled: false

# 开启 monitoring
xpack.monitoring.enabled: true
xpack.monitoring.collection.enabled: true

# 设置 monitoring 写入信息
xpack.monitoring.exporters:
  sky:
    type: http
    host: ["sky-02", "sky-03", "sky-04", "sky-05", "sky-06"]
    # 设置 monitoring 索引格式,默认是 YYYY-MM-DD(按天新建)
    index.name.time_format: YYYY-MM
    headers:
      # 设置 Basic 认证信息(详见插件安装部分说明)
      Authorization: "Basic XXXXXXXXXXXXXXX"

三、安装插件

1、安装插件

推荐安装的插件有:

  • IK 中文分词插件
  • Readonlyrest 安全认证插件
  • elasticsearch-head 集群监控管理插件(chrome 插件)

插件下载链接: https://pan.baidu.com/s/1r_322unsIjoWlhY8u7pkBA 提取码: aupq

使用下面命令即可安装。

$ES_HOME/bin/elasticsearch-plugin -install file:///data/downloads/elasticsearch-analysis-ik-6.5.1.zip
$ES_HOME/bin/elasticsearch-plugin -install file:///data/downloads/readonlyrest-1.16.29_es6.5.1.zip

2、配置 Readonlyrest 安全认证

下面只简单介绍 Readonlyrest 的 Basic 认证,更高级的用法可以去官方网站查看,在 ES 安装目录的 conf 目录下新建文件 readonlyrest.yml,并添加下面内容。

readonlyrest:
    access_control_rules:
    - name: "Require HTTP Basic Auth"
      type: allow
      auth_key: 用户名:密码

3、启动 ES

全部安装完成后,即可使用 elastic 用户启动 ES。

# 默认 ES 不支持 root 用户启动
su elastic
cd /opt/soft/elasticsearch-6.5.1/bin
./elasticsearch -d

四、在 Kibana 里面监控

在安装 ES 的时候,我们配置了 ES 的监控信息,这样我们就可以在 Kibana 中查看 ES 索引信息、node 信息等。

1、配置 Kibana

进入 Kibana 的解压目录下的 conf 文件夹,打开配置文件 kibana.yml

# 配置 kibana ui 的端口
server.port: 5601

# 配置 kibana 访问 ip
server.host: "0.0.0.0"

# 设置 ES 地址
elasticsearch.url: "http://sky-00:9200"

# dashboards. Kibana creates a new index if the index doesn't already exist.
#kibana.index: ".kibana"

# 打开 kibana 时默认页面
#kibana.defaultAppId: "home"

# ES Basic 认证信息
elasticsearch.username: "用户名"
elasticsearch.password: "密码"

# 设置时区信息
#i18n.locale: "en"

# 开启监控
xpack.monitoring.enabled: true

# 关闭 kibana 监控,默认为 true
xpack.monitoring.kibana.collection.enabled: false

2、对 Kibana 配置文件的说明

  • ES Basic 认证信息配置(在启动时对 Kibana 索引进行维护)完成后,登陆 kibana 时,依旧需要输入认证信息;
  • 由于 kibana 的 monitoring 无法设置新建的索引的索引名(无法配置 index.name.time_format),这样 kibana 每天会新建一个索引,由于 kibana 只是作为管理查看工具,因此关闭了 kibana 监控;
  • elasticsearch.url 该配置项无法设置多个 es 地址;如果你想实现类似负载均衡的功能,最简单的方法就是在 Kibana 机器上运行一个协调(Coordinating)节点。

3、监控界面

全部配置完成后,启动 kibana,打开 monitoring 即可开始监控 node、index 等。

使用 Kibana 监控节点状态

五、设置索引模板

具体请参考之前发布的文章基于 IK 分词器的 ES 通用索引模板


Any Code,Code Any!

扫码关注『AnyCode』,编程路上,一起前行。

两台机器,一台为web服务,一台做热备,当一台挂了随时准备迎战

Elasticsearchzqc0512 回复了问题 • 3 人关注 • 2 个回复 • 1807 次浏览 • 2018-09-29 08:45 • 来自相关话题

es 集群索引 分片分配策略

Elasticsearchyayg2008 回复了问题 • 6 人关注 • 3 个回复 • 8296 次浏览 • 2018-09-19 09:31 • 来自相关话题

elasticsearch集群日志存储问题

Elasticsearchcode4j 回复了问题 • 3 人关注 • 1 个回复 • 3974 次浏览 • 2018-07-13 11:51 • 来自相关话题

elasticserch 集群报错 ,在线等大神

Elasticsearchrockybean 回复了问题 • 2 人关注 • 1 个回复 • 10187 次浏览 • 2018-06-25 17:36 • 来自相关话题

es搜索引擎安装了xpack。现在es做集群,head现在都连接不上。

ElasticsearchBuddha 回复了问题 • 4 人关注 • 4 个回复 • 4993 次浏览 • 2018-06-25 14:56 • 来自相关话题

java连接es集群

Elasticsearchstrglee 回复了问题 • 3 人关注 • 1 个回复 • 6754 次浏览 • 2018-06-04 17:24 • 来自相关话题

条新动态, 点击查看
medcl

medcl 回答了问题 • 2015-01-27 18:25 • 4 个回复 不感兴趣

关于elasticsearch的集群问题

赞同来自:

是的,会重新拷贝数据,你真的需要跨机房么?
是的,会重新拷贝数据,你真的需要跨机房么?
首先,你写入的时候要确定内存的使用量如何,不过一般写入内存的使用不会消耗太大。就算是bulk,也只是用一点内存缓冲而已。。。我不知道你的es的磁盘情况如何,es的写入数据是顺序存储,但是在es里面存在大量的索引,这些索引在维护和写入的时候,锁的情况还有随机IO... 显示全部 »
首先,你写入的时候要确定内存的使用量如何,不过一般写入内存的使用不会消耗太大。就算是bulk,也只是用一点内存缓冲而已。。。我不知道你的es的磁盘情况如何,es的写入数据是顺序存储,但是在es里面存在大量的索引,这些索引在维护和写入的时候,锁的情况还有随机IO的消耗都很明显,所以我觉得你的瓶颈更多可能是在磁盘。可以分享下磁盘的情况再讨论~
wanglihus

wanglihus 回答了问题 • 2015-12-11 20:24 • 11 个回复 不感兴趣

3千万数据,如何设计集群

赞同来自:

技术选型就是错误的,这种业务背景下,用什么elastic-hadoop插件,还用什么elasticsearch啊,关系型数据库就可以满足你的需求,脱裤子放屁,多此一举。
技术选型就是错误的,这种业务背景下,用什么elastic-hadoop插件,还用什么elasticsearch啊,关系型数据库就可以满足你的需求,脱裤子放屁,多此一举。
kennywu76

kennywu76 回答了问题 • 2018-09-18 17:57 • 3 个回复 不感兴趣

es 集群索引 分片分配策略

赞同来自:

可以给不同数据中心的结点,在ES配置文件里配置不同的rack_id这个属性,然后集群设置里将rack_id设置为shard allocation awareness即可。 这样ES会保证,主分片和副本必须分布在rack_id不同的结点上。
 
参考: http... 显示全部 »
可以给不同数据中心的结点,在ES配置文件里配置不同的rack_id这个属性,然后集群设置里将rack_id设置为shard allocation awareness即可。 这样ES会保证,主分片和副本必须分布在rack_id不同的结点上。
 
参考: https://www.elastic.co/guide/en/elasticsearch/reference/6.4/allocation-awareness.html
 
 
 

对ES集群的读写操作,读应该连接哪些节点,写应该连接哪些节点?

回复

Elasticsearchyuechen323 回复了问题 • 4 人关注 • 3 个回复 • 2372 次浏览 • 2021-06-10 17:38 • 来自相关话题

关于ElasticSearch7版本搭建集群数据存储节点数据一致性的疑问

回复

Elasticsearchzakokun 回复了问题 • 2 人关注 • 2 个回复 • 2350 次浏览 • 2020-10-26 18:14 • 来自相关话题

关于es集群扩充节点的问题

回复

Elasticsearchbyx313 回复了问题 • 4 人关注 • 3 个回复 • 5990 次浏览 • 2020-03-15 22:47 • 来自相关话题

elasticsearch data node 脱离又加入集群, 报错: java.nio.channels.ClosedChannelException: null

回复

Elasticsearchmicmouse521 回复了问题 • 5 人关注 • 5 个回复 • 7216 次浏览 • 2019-11-28 17:43 • 来自相关话题

3千万数据,如何设计集群

回复

Elasticsearchdoom 回复了问题 • 19 人关注 • 11 个回复 • 17981 次浏览 • 2019-09-28 12:11 • 来自相关话题

unbuntn ES 单节点正常,不能形成集群。

回复

Elasticsearchzqc0512 回复了问题 • 2 人关注 • 4 个回复 • 1811 次浏览 • 2019-09-09 10:44 • 来自相关话题

7.0.0中cluster.initial_master_nodes这个参数具体是什么意思呢。

回复

Elasticsearchxiaoke 回复了问题 • 3 人关注 • 1 个回复 • 20958 次浏览 • 2019-05-17 18:54 • 来自相关话题

elasticsearch 宕机1台 会有20分钟不可访问

回复

Elasticsearchzqc0512 回复了问题 • 6 人关注 • 4 个回复 • 6317 次浏览 • 2019-01-07 08:53 • 来自相关话题

两台机器,一台为web服务,一台做热备,当一台挂了随时准备迎战

回复

Elasticsearchzqc0512 回复了问题 • 3 人关注 • 2 个回复 • 1807 次浏览 • 2018-09-29 08:45 • 来自相关话题

es 集群索引 分片分配策略

回复

Elasticsearchyayg2008 回复了问题 • 6 人关注 • 3 个回复 • 8296 次浏览 • 2018-09-19 09:31 • 来自相关话题

elasticsearch集群日志存储问题

回复

Elasticsearchcode4j 回复了问题 • 3 人关注 • 1 个回复 • 3974 次浏览 • 2018-07-13 11:51 • 来自相关话题

elasticserch 集群报错 ,在线等大神

回复

Elasticsearchrockybean 回复了问题 • 2 人关注 • 1 个回复 • 10187 次浏览 • 2018-06-25 17:36 • 来自相关话题

es搜索引擎安装了xpack。现在es做集群,head现在都连接不上。

回复

ElasticsearchBuddha 回复了问题 • 4 人关注 • 4 个回复 • 4993 次浏览 • 2018-06-25 14:56 • 来自相关话题

java连接es集群

回复

Elasticsearchstrglee 回复了问题 • 3 人关注 • 1 个回复 • 6754 次浏览 • 2018-06-04 17:24 • 来自相关话题

请问这样做,es中的数据会重复吗

回复

Elasticsearchlaoyang360 回复了问题 • 2 人关注 • 1 个回复 • 4836 次浏览 • 2018-05-01 10:24 • 来自相关话题

CentOS 7.4 下安装 ES 6.5.1 搜索集群

Elasticsearchrochy 发表了文章 • 3 个评论 • 6992 次浏览 • 2018-11-23 00:02 • 来自相关话题

一、准备安装

1、修改系统 hosts

vi /etc/hosts   # 修改 hosts 文件,添加下面的内容

192.168.11.1    sky-00
192.168.11.2    sky-01
192.168.11.3    sky-02
192.168.11.4    sky-03
192.168.11.5    sky-04
192.168.11.6    sky-05
192.168.11.7    sky-06

2、角色分配

主机名 角色 内存分配
sky-00 Master 4G
sky-01 Master 8G
sky-02 Master+Data 12G
sky-03 Data 12G
sky-04 Data 12G
sky-05 Data 12G
sky-06 Data 12G

3、创建 ES 用户

adduser elastic  # 新增用户
passwd elastic   # 修改用户密码

4、创建 ES 数据和日志目录

cd /data/
mkdir elastic
cd elastic
mkdir data      # 创建数据目录
mkdir log       # 创建日志目录
chown -R elastic /data/elastic/  # 修改拥有着

5、调整文件句柄数以及可用进程数

Elasticsearch 要求其可用的文件句柄至少为 65536,同时要求其进程数限制至少为 2048,可用按照下面的指令进行修改。

分别对应以下两个报错信息:

  • max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
  • max number of threads [1024] for user [es] is too low, increase to at least [2048]
vi /etc/security/limits.conf

*     soft   nofile  100001
*     hard   nofile  100002
*     soft   nproc   4096
*     hard   nproc   8192
elastic soft memlock unlimited
elastic hard memlock unlimited

6、设置内核交换

为了避免不必要的磁盘和内存交换,影响效率,需要将 vm.swappiness 修改为 1(进行最少量的交换,而不禁用交换)或者 10(当系统存在足够内存时,推荐设置为该值以提高性能),其默认值为 60。

此外需要修改最大虚拟内存 vm.max_map_count 防止启动时报错:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

vi /etc/sysctl.conf

vm.swappiness = 1
vm.max_map_count = 262144

7、下载安装文件

mkdir /opt/downloads/
mkdir /opt/soft/
cd /opt/downloads/

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.1.tar.gz
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.5.1-linux-x86_64.tar.gz
wget http://download.oracle.com/otn/java/jdk/xxxxxx/jdk-8u191-linux-x64.tar.gz

tar -zxvf elasticsearch-6.5.1.tar.gz -C /opt/soft/
tar -zxvf jdk-8u191-linux-x64.tar.gz -C /opt/soft/
tar -zxvf kibana-6.5.1-linux-x86_64.tar.gz -C /opt/soft/

chown -R elastic /opt/soft/elasticsearch-6.5.1/
chown -R elastic /opt/soft/kibana-6.5.1/

二、开始安装

1、配置 Java 环境

su elastic             #切换到 elastic 用户
vi ~/.bashrc          #只修改 elastic 用户自己的环境变量

export JAVA_HOME=/opt/soft/jdk1.8.0_191
export JRE_HOME=/opt/soft/jdk1.8.0_191/jre
export CLASSPATH=.:/opt/soft/jdk1.8.0_191/lib:/opt/soft/jdk1.8.0_191/jre/lib
export PATH=$PATH:/opt/soft/jdk1.8.0_191/bin:/opt/soft/jdk1.8.0_191/jre/bin

2、配置 ES 内存占用

cd /opt/soft/elasticsearch-6.5.1/config/
vi jvm.options 

-Xms4g      # 请根据自己机器配置调整
-Xmx4g

3、配置 Elasticsearch

下面的配置已经过多个生产环境验证,具体设置值仅供参考,请务必根据实际情况进行调整。

# ---------------------------------- Cluster -----------------------------------
#
# 设置集群名
cluster.name: cluster-name
#
# ------------------------------------ Node ------------------------------------
#
# 设置节点名
node.name: node01

# 设置角色
node.master: true   
node.data: false
node.ingest: true

# 设置机架信息
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
#
# 设置数据路径
path.data: /data/elastic/data

# 设置日志路径
path.logs: /data/elastic/log
#
# ----------------------------------- Memory -----------------------------------
#
# 设置内存锁定
bootstrap.memory_lock: true
bootstrap.system_call_filter: false
#
# ---------------------------------- Network -----------------------------------
#
# 设置ip和端口
network.bind_host: sky-00
network.publish_host: 0.0.0.0
http.port: 9200

# 设置跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
http.max_content_length: 500mb

# --------------------------------- Discovery ----------------------------------

# 设置zen发现范围(只需要填写主节点的 ip 即可)
discovery.zen.ping.unicast.hosts: ["sky-00", "sky-01", "sky-02"]

discovery.zen.no_master_block: write
discovery.zen.fd.ping_timeout: 10s

# 设置最小主节点个数,一般为:(master_node_count+1)/2
discovery.zen.minimum_master_nodes: 2

# ---------------------------------- Gateway -----------------------------------
#
# 设置在有4个节点后进行数据恢复
gateway.recover_after_nodes: 4
gateway.expected_nodes: 7
gateway.recover_after_time: 1m
#
# ---------------------------------- Various -----------------------------------
# 禁止通配符模式删除索引
action.destructive_requires_name: true

indices.recovery.max_bytes_per_sec: 200mb
indices.memory.index_buffer_size: 20%

# 默认开启全部类型脚本,可以通过下面配置进行限制
#script.allowed_types: inline
#script.allowed_contexts: search, update

# 关闭xpack的安全校验
xpack.security.enabled: false

# 开启 monitoring
xpack.monitoring.enabled: true
xpack.monitoring.collection.enabled: true

# 设置 monitoring 写入信息
xpack.monitoring.exporters:
  sky:
    type: http
    host: ["sky-02", "sky-03", "sky-04", "sky-05", "sky-06"]
    # 设置 monitoring 索引格式,默认是 YYYY-MM-DD(按天新建)
    index.name.time_format: YYYY-MM
    headers:
      # 设置 Basic 认证信息(详见插件安装部分说明)
      Authorization: "Basic XXXXXXXXXXXXXXX"

三、安装插件

1、安装插件

推荐安装的插件有:

  • IK 中文分词插件
  • Readonlyrest 安全认证插件
  • elasticsearch-head 集群监控管理插件(chrome 插件)

插件下载链接: https://pan.baidu.com/s/1r_322unsIjoWlhY8u7pkBA 提取码: aupq

使用下面命令即可安装。

$ES_HOME/bin/elasticsearch-plugin -install file:///data/downloads/elasticsearch-analysis-ik-6.5.1.zip
$ES_HOME/bin/elasticsearch-plugin -install file:///data/downloads/readonlyrest-1.16.29_es6.5.1.zip

2、配置 Readonlyrest 安全认证

下面只简单介绍 Readonlyrest 的 Basic 认证,更高级的用法可以去官方网站查看,在 ES 安装目录的 conf 目录下新建文件 readonlyrest.yml,并添加下面内容。

readonlyrest:
    access_control_rules:
    - name: "Require HTTP Basic Auth"
      type: allow
      auth_key: 用户名:密码

3、启动 ES

全部安装完成后,即可使用 elastic 用户启动 ES。

# 默认 ES 不支持 root 用户启动
su elastic
cd /opt/soft/elasticsearch-6.5.1/bin
./elasticsearch -d

四、在 Kibana 里面监控

在安装 ES 的时候,我们配置了 ES 的监控信息,这样我们就可以在 Kibana 中查看 ES 索引信息、node 信息等。

1、配置 Kibana

进入 Kibana 的解压目录下的 conf 文件夹,打开配置文件 kibana.yml

# 配置 kibana ui 的端口
server.port: 5601

# 配置 kibana 访问 ip
server.host: "0.0.0.0"

# 设置 ES 地址
elasticsearch.url: "http://sky-00:9200"

# dashboards. Kibana creates a new index if the index doesn't already exist.
#kibana.index: ".kibana"

# 打开 kibana 时默认页面
#kibana.defaultAppId: "home"

# ES Basic 认证信息
elasticsearch.username: "用户名"
elasticsearch.password: "密码"

# 设置时区信息
#i18n.locale: "en"

# 开启监控
xpack.monitoring.enabled: true

# 关闭 kibana 监控,默认为 true
xpack.monitoring.kibana.collection.enabled: false

2、对 Kibana 配置文件的说明

  • ES Basic 认证信息配置(在启动时对 Kibana 索引进行维护)完成后,登陆 kibana 时,依旧需要输入认证信息;
  • 由于 kibana 的 monitoring 无法设置新建的索引的索引名(无法配置 index.name.time_format),这样 kibana 每天会新建一个索引,由于 kibana 只是作为管理查看工具,因此关闭了 kibana 监控;
  • elasticsearch.url 该配置项无法设置多个 es 地址;如果你想实现类似负载均衡的功能,最简单的方法就是在 Kibana 机器上运行一个协调(Coordinating)节点。

3、监控界面

全部配置完成后,启动 kibana,打开 monitoring 即可开始监控 node、index 等。

使用 Kibana 监控节点状态

五、设置索引模板

具体请参考之前发布的文章基于 IK 分词器的 ES 通用索引模板


Any Code,Code Any!

扫码关注『AnyCode』,编程路上,一起前行。