安装es集群

安装es集群

官网文档地址:https://www.elastic.co/guide/index.html

一、创建es用户

ps: 由于es不允许root直接启动,所以需要为es创建一个单独的用户

groupadd es  #添加用户组
useradd es -g es  #添加用户es
passwd es #为用户es设置密码

二、安装Java运行环境

es要求Java8(安装方式不做赘述)

三、修改系统限制文件

vim /etc/security/limits.conf
es - nofile 65536#open files
es soft nproc 65536#max user processes
es hard nproc 65536#max user processes
es soft memlock unlimited#virtual memory
es hard memlock unlimited#virtual memory

四、修改系统配置

vim /etc/sysctl.conf添加配置信息
vm.max_map_count=262144

/sbin/sysctl -p#生效配置

五、安装es5

  • 下载es,下载地址:https://www.elastic.co/cn/downloads/elasticsearch
  • 解压安装包,tar -zxvf elasticsearch-5.0.0.tar.gz
  • 授权,chown -R es:es elasticsearch-5.0.0

六、配置

  • es主配置文件[vim config/elasticsearch.yml]
    cluster.name: elasticsearch#集群名,同一个集群中的节点集群名称相同
    node.name: node1#节点名称
    path.data: /data1/es5/#索引数据存放目录,可以指定多个,提升IO性能
    path.logs: /var/log/es5/#日志存放目录
    bootstrap.memory_lock: true#是否开启内存锁定,默认为false。建议开启
    network.host: 10.210.136.34#节点绑定的IP地址
    http.port: 9200#http端口,一台机器启动多个实例时,修改端口
    node.master: true#是否为master节点,默认为true
    node.data: true#是否为数据节点,默认为true
    node.ingest: true#是否为数据转换节点,默认为true
    discovery.zen.ping.unicast.hosts: ["10.0.0.1","10.0.0.2:9300"]#配置集群内其它节点的IP
    discovery.zen.minimum_master_nodes: 3
    script.inline: true
    script.stored: true

  • 配置JVM参数
    【vim config/jvm.options】
    -Xms12g#初始化堆内存大小 具体看机器
    -Xmx12g#堆内存 具体看机器

七、安装ik分词器

ik分词器下载地址:https://github.com/medcl/elasticsearch-analysis-ik/

mv elasticsearch-analysis-ik-5.0.0.zip %ES_HOME%/plugins/
unzip elasticsearch-analysis-ik-5.0.0.zip -d analysis-ik
chown -R es:es analysis-ik

cd analysis-ik
cp config %ES_HOME%/config
cd %ES_HOME%/config/
mv config ik
chown -R es:es ik

八、启动es

ps: 以上都是在root用户下操作的,因为es不允许直接用root用户运行,所以现在要切换用户到es用户:

su es
cd %ES_HOME%
nohup bin/elasticsearch 2>&1 & #后台运行

九、验证

通过url:http://127.0.0.1:9200/_cat 里面的众多接口接口进行验证。

健康值验证路径:http://127.0.0.1:9200/_cat/health?v, 如果无法连接需要确认配置中network.host配的是啥。

{
   "cluster_name": "elasticsearch",
   "status": "green",
   "timed_out": false,
   "number_of_nodes": 1,
   "number_of_data_nodes": 1,
   "active_primary_shards": 10,
   "active_shards": 10,
   "relocating_shards": 0,
   "initializing_shards": 0,
   "unassigned_shards": 0
}

status健康值的意思:

  • green
    所有的主分片和副本分片都已分配。你的集群是 100% 可用的。
  • yellow
    所有的主分片已经分片了,但至少还有一个副本是缺失的。不会有数据丢失,所以搜索结果依然是完整的。不过,你的高可用性在某种程度上被弱化。如果 更多的 分片消失,你就会丢数据了。把 yellow 想象成一个需要及时调查的警告。
  • red
    至少一个主分片(以及它的全部副本)都在缺失中。这意味着你在缺少数据:搜索只能返回部分数据,而分配到这个分片上的写入请求会返回一个异常。

green/yellow/red 状态是一个概览你的集群并了解眼下正在发生什么的好办法。剩下来的指标给你列出来集群的状态概要:

  • number_of_nodes 和 number_of_data_nodes 这个命名完全是自描述的。
  • active_primary_shards 指出你集群中的主分片数量。这是涵盖了所有索引的汇总值。
  • active_shards 是涵盖了所有索引的所有分片的汇总值,即包括副本分片。
  • relocating_shards 显示当前正在从一个节点迁往其他节点的分片的数量。通常来说应该是 0,不过在 Elasticsearch 发现集群不太均衡时,该值会上涨。比如说:添加了一个新节点,或者下线了一个节点。
  • initializing_shards 是刚刚创建的分片的个数。比如,当你刚创建第一个索引,分片都会短暂的处于 initializing 状态。这通常会是一个临时事件,分片不应该长期停留在 initializing 状态。你还可能在节点刚重启的时候看到 initializing 分片:当分片从磁盘上加载后,它们会从 initializing 状态开始。
  • unassigned_shards 是已经在集群状态中存在的分片,但是实际在集群里又找不着。通常未分配分片的来源是未分配的副本。比如,一个有 5 分片和 1 副本的索引,在单节点集群上,就会有 5 个未分配副本分片。如果你的集群是 red 状态,也会长期保有未分配分片(因为缺少主分片)。

你可能感兴趣的:(安装es集群)