ElasticSearch和Kibana 5.X集群的安装



1、准备工作

1.1、下载安装包

Elastic官网下载安装包,ElasticSearch和Kibana版本必须一致!!!

本次安装的版本为5.3.2:

  • elasticsearch-5.3.2.tar.gz
  • kibana-5.3.2-linux-x86_64.tar.gz

1.2、系统的准备

  • ElasticSearch集群不能以root用户启动,所以需要准备一个非root用户。
  • 设置系统允许内存锁定
ulimit -l unlimited

2、ElasticSearch集群的安装

2.1、修改 config/elasticsearch.yml 文件


!!!!!!!注意: 配置文件中,冒号后面必须加空格!!!!!!!!!!!


  • 修改集群名称(防止以后出现集群重名,必须修改),和节点名称

  • 修改集群的数据存放目录和日志目录(注意权限问题,将相应目录的所属用户:组更改为集群启动的用户)

  • 内存相关设置,增加如下属性:

    • indices.memory.index_buffer_size: 25%
    • indices.memory.min_index_buffer_size: 512mb
    • bootstrap.memory_lock: true
  • 网络配置,增加如下属性(我们有5台机器,其中4台master和node都设为true,另外一台都为false作为负载均衡点):

    • transport.publish_host: 0.0.0.0
    • transport.bind_host: 0.0.0.0
    • http.host: 172.31.18.13 ------------- 更改为本机地址
    • network.bind_host: 0.0.0.0
    • network.publish_host: 0.0.0.0
    • transport.tcp.port: 9300
    • node.master: true ------------- 设置为master
    • node.data: true ------------- 设置为datanode
    • http.port: 9200
    • http.enabled: true
    • http.cors.enabled: true
    • http.cors.allow-origin: "*"
  • 配置集群自动发现节点

    • discovery.zen.ping.unicast.hosts: 集群的所有ip,用双引号包含,逗号隔开
    • discovery.zen.minimum_master_nodes: 集群最小master数量,值设置为 节点数/2 + 1
  • 线程池和脚本配置,添加以下参数:

    • script.painless.regex.enabled: true ----- 允许使用正则
    • thread_pool.index.size: 33 ----- 具体数值为CPU物理核的2倍
    • thread_pool.index.queue_size: 1000 ----- 具体数值大约为CPU物理核的60倍
  • 附:公司ElasticSearch集群的配置文件:elasticsearch.yml

2.2、修改 bin/elasticsearch 文件

在文件前面增加如下属性:

  • JAVA_HOME=/usr/local/jdk1.8.0_77 ----- jdk目录

  • ES_JAVA_OPTS="-Xms31g -Xmx31g" ----- 设置内存,总内存的一半和31之间取小的

  • JAVA_OPTS="$JAVA_OPTS -XX:+UseParNewGC"

  • JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC"

  • JAVA_OPTS="$JAVA_OPTS -XX:CMSInitiatingOccupancyFraction=75"

  • JAVA_OPTS="$JAVA_OPTS -XX:+UseCMSInitiatingOccupancyOnly"

2.3、将整个ElasticSearch目录复制到其它服务器

  • 将目录复制到其它服务器之后,修改每个机器的config/elasticsearch.yml中的节点名称、http.host、和服务器硬件配置有关的相关参数
  • 其中一台服务器的node.master和node.data都设置为false,作为负载均衡点,集群和外界通讯都通过这台机器,这台机器的硬件配置可以低一点

2.4、将启动加入到系统服务(可选,方便启动)

服务脚本为:

#!/bin/bash
# chkconfig: 2345 10 90
# description: Elasticsearch Service .... # 此处需要更改
ES_HOME=/opt/elasticsearch EXEC_PATH=$ES_HOME
EXEC=elasticsearch
DAEMON=$EXEC_PATH/bin/$EXEC
PID_FILE=$ES_HOME/pid/es.pid
ServiceName='Elasticsearch 5.0' . /etc/rc.d/init.d/functions if [ ! -x $DAEMON ] ; then
echo "ERROR: $DAEMON not found"
exit 1
fi stop()
{
echo "Stoping $ServiceName ..."
ps aux | grep "$DAEMON" | kill -9 `awk '{print $2}'` >/dev/null 2>&1
rm -f $PID_FILE
usleep 100
echo "Shutting down $ServiceName: [ successful ]"
} start()
{
echo "Starting $ServiceName ..."
$DAEMON > /dev/null &
pidof $EXEC > $PID_FILE
usleep 100
echo "Shutting down $ServiceName: [ successful ]"
}
restart()
{
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
status)
status -p $PID_FILE $DAEMON
;;
*)
echo "Usage: service $ServiceName {start|stop|restart|status}"
exit 1
esac
exit $?

2.5、启动集群

后台运行每台机器的 bin/elasticsearch 脚本

用浏览器访问负载均衡点的9200端口: http://172.31.18.15:9200/_cluster/health

{
"cluster_name": "datageek",
"status": "green",
"timed_out": false,
"number_of_nodes": 5,
"number_of_data_nodes": 4,
"active_primary_shards": 43,
"active_shards": 58,
"relocating_shards": 0,
"initializing_shards": 0,
"unassigned_shards": 0,
"delayed_unassigned_shards": 0,
"number_of_pending_tasks": 0,
"number_of_in_flight_fetch": 0,
"task_max_waiting_in_queue_millis": 0,
"active_shards_percent_as_number": 100
}

如果看到如上结果,各个nodes数量都对得上,就说明集群安装成功。

3、Kibana安装

3.1、修改配置文件

  • 修改config/kibana.yml文件,增加如下三个属性(冒号后面要加空格):

    • script.painless.regex.enabled: true
    • server.host: "0.0.0.0"
    • elasticsearch.url: "http://172.31.18.15:9200" ----- elasticsearch集群的负载均衡点的ip和端口
  • 修改bin/kibana文件,在首行增加 JAVA_HOME=/usr/local/jdk1.8.0_77

3.2、启动Kibana

后台运行bin/kibana脚本,在浏览器访问kibana机器的5601端口,看到页面说明Kibana安装成功。

ElasticSearch和Kibana 5.X集群的安装的更多相关文章

  1. elasticsearch + kibana + x-pack + logstash_集群部署安装

    elasticsearch 部分总体描述: 1.elasticsearch 的概念及特点.概念:elasticsearch 是一个基于 lucene 的搜索服务器.lucene 是全文搜索的一个框架. ...

  2. 部署elasticsearch(三节点)集群+filebeat+kibana

    用途 ▷ 通过各个beat实时收集日志.传输至elasticsearch集群 ▷ 通过kibana展示日志 实验架构 名称:IP地址:CPU:内存 kibana&cerebro:192.168 ...

  3. ElasticSearch 5学习(7)——分布式集群学习分享2

    前面主要学习了ElasticSearch分布式集群的存储过程中集群.节点和分片的知识(ElasticSearch 5学习(6)--分布式集群学习分享1),下面主要分享应对故障的一些实践. 应对故障 前 ...

  4. ElasticSearch 5学习(6)——分布式集群学习分享1

    在使用中我们把文档存入ElasticSearch,但是如果能够了解ElasticSearch内部是如何存储的,将会对我们学习ElasticSearch有很清晰的认识.本文中的所使用的ElasticSe ...

  5. ELK之 elasticsearch ES集群 head安装

    最近项目用到 jenkins  ELK  也在一次重新学习了一次  jenkins 不用说了 玩得就是  插件   +  base---shell ,  ELK  这几年最流得log收集平台,当然不止 ...

  6. elasticsearch基于RBAC认证和集群之间的TLS通讯

    elasticsearch基于RBAC认证和集群之间的TLS通讯 一.背景 二.需要解决的问题 三.给es增加用户名和密码访问 1.修改config/elasticsearch.yml 2.访问es集 ...

  7. ElasticSearch入门 第二篇:集群配置

    这是ElasticSearch 2.4 版本系列的第二篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

  8. ElasticSearch 深入理解 三:集群部署设计

    ElasticSearch 深入理解 三:集群部署设计 ElasticSearch从名字中也可以知道,它的Elastic跟Search是同等重要的,甚至以Elastic为主要导向. Elastic即可 ...

  9. hadoop HA集群的安装

    1.hadoop集群规化 ip 主机名 安装软件 角色 运行进程 10.124.147.22 hadoop1 jdk.zookeeper.hadoop namenode/zookeeper/jobhi ...

随机推荐

  1. 【JAVASCRIPT】ECMAScrip (转)

    部分ECMAScript术语 ECMAScript Sun(现在的Oracle)公司持有着"Java"和"JavaScript"的商标.这就让微软不得不把自己的 ...

  2. strtok函数 分类: c++ 2014-11-02 15:24 214人阅读 评论(0) 收藏

    strtok函数是cstring文件中的函数 strtok函数是cstring文件中的函数 其功能是截断字符串 原型为:char *strtok(char s[],const char *delin) ...

  3. 聊聊synchronized的锁问题

    本文不会特别深入细致地讨论synchronized,只是做一个通俗易懂的说明,以及看清一类问题的本质,希望能给大家一点启发. 问题描述 有一个类A,提供了三个方法.分别是静态同步方法,非静态同步方法, ...

  4. 玛雅游戏[NOIP2011]

    题目描述 Mayan puzzle 是最近流行起来的一个游戏.游戏界面是一个7 行5 列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即方块必须放在最下面一行,或者放在其他方块之上.游戏通关是指在规定 ...

  5. 设计模式笔记——GoF设计模式汇总

    目录 · 总述 · 记忆 · 效果 · 面向对象设计原则 · 创建型模式 · 单例模式(Singleton) · 效果 · 分类 · 代码(饿汉式) · 代码(懒汉式) · 代码(双重检测锁式) ·  ...

  6. bower基本使用

    bower是什么? bower是基于nodejs的静态资源管理工具,由twitter公司开发.维护,使用它可以方便的安装.更新.卸载前端类库,同时解决类库之前的依赖关系. 依赖环境 bower依赖于n ...

  7. XP oracle32位客户端安装找不到orandce11.dll.dbl

    同事在XP上装oracle客户端,遇到下面的问题,mark一下. 提示找不到:orandce11.dll.dbl 点继续还会提示这个文件:orancds11.dll.dbl 网上找到解决方法: 删除注 ...

  8. python ——面向对象进阶

    1.staticmethod和classmethod staticmethod  静态方法: 让类里的方法,直接被类调用,就像正常的函数一样 宝宝,男 博博,女 海娇,男 海燕,女 海东,男 海峰,男 ...

  9. hashlib,configparser,logging模块

    一.常用模块二 hashlib模块 hashlib提供了常见的摘要算法,如md5和sha1等等. 那么什么是摘要算法呢?摘要算法又称为哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度 ...

  10. Inno Setup

    Inno Setup 是一款免费的window是安装制作软件,在功能设置和稳定性上的竞争力可能已经超过一些商业的安装程序制作软件.安装程序用编译脚本(.iss)的方式创建,脚本为类似.ini文件格式的 ...