ElasticSearch和Kibana 5.X集群的安装
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集群的安装的更多相关文章
- elasticsearch + kibana + x-pack + logstash_集群部署安装
		
elasticsearch 部分总体描述: 1.elasticsearch 的概念及特点.概念:elasticsearch 是一个基于 lucene 的搜索服务器.lucene 是全文搜索的一个框架. ...
 - 部署elasticsearch(三节点)集群+filebeat+kibana
		
用途 ▷ 通过各个beat实时收集日志.传输至elasticsearch集群 ▷ 通过kibana展示日志 实验架构 名称:IP地址:CPU:内存 kibana&cerebro:192.168 ...
 - ElasticSearch 5学习(7)——分布式集群学习分享2
		
前面主要学习了ElasticSearch分布式集群的存储过程中集群.节点和分片的知识(ElasticSearch 5学习(6)--分布式集群学习分享1),下面主要分享应对故障的一些实践. 应对故障 前 ...
 - ElasticSearch 5学习(6)——分布式集群学习分享1
		
在使用中我们把文档存入ElasticSearch,但是如果能够了解ElasticSearch内部是如何存储的,将会对我们学习ElasticSearch有很清晰的认识.本文中的所使用的ElasticSe ...
 - ELK之 elasticsearch   ES集群  head安装
		
最近项目用到 jenkins ELK 也在一次重新学习了一次 jenkins 不用说了 玩得就是 插件 + base---shell , ELK 这几年最流得log收集平台,当然不止 ...
 - elasticsearch基于RBAC认证和集群之间的TLS通讯
		
elasticsearch基于RBAC认证和集群之间的TLS通讯 一.背景 二.需要解决的问题 三.给es增加用户名和密码访问 1.修改config/elasticsearch.yml 2.访问es集 ...
 - ElasticSearch入门 第二篇:集群配置
		
这是ElasticSearch 2.4 版本系列的第二篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...
 - ElasticSearch 深入理解 三:集群部署设计
		
ElasticSearch 深入理解 三:集群部署设计 ElasticSearch从名字中也可以知道,它的Elastic跟Search是同等重要的,甚至以Elastic为主要导向. Elastic即可 ...
 - hadoop HA集群的安装
		
1.hadoop集群规化 ip 主机名 安装软件 角色 运行进程 10.124.147.22 hadoop1 jdk.zookeeper.hadoop namenode/zookeeper/jobhi ...
 
随机推荐
- 【CSS】盒子模型 之 IE 与W3C的盒子模型对比
			
摘要 主要看这两种盒子模型的优缺点及适用场景 一.区别 标准 W3C 盒子模型的 content 部分不包含其他部分. IE 盒子模型的 content 部分包含了 border 和 padding. ...
 - 从零自学Hadoop(24):Impala相关操作上
			
阅读目录 序 数据库相关 表相关 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...
 - [Tyvj 1730] 二逼平衡树
			
先来一发题面QwQ [TYVJ1730]二逼平衡树 Time Limit:2 s Memory Limit:512 MB Description 您需要写一种数据结构(可参考题目标题),来维护一个 ...
 - 浅谈js分页的几种方法
			
一个项目中必然会遇到分页这种需求的,分页可以使数据加载更合理,也让页面显示更美观,更有层次感!那么js分页到底如何实现呢?下面我就来讲一下三种循序渐进的方法 1.自己纯手写分页 更深入的去理解分页的意 ...
 - codeforces 475D. CGCDSSQ
			
D. CGCDSSQ time limit per test 2 seconds memory limit per test 256 megabytes Given a sequence of int ...
 - PHP  appserv + ZendStudio12.5.1 + 注册码
			
PHP软件安装 百度云盘 安装激活破解ZendStudio12.05(注册码) Zend Studio 配置 apache server
 - 学生问的一道javascript面试题[来自腾讯]
			
function Parent() { this.a = 1; this.b = [1, 2, this.a]; this.c = { demo: 5 }; this.show = function ...
 - 微信小程序(有始有终,全部代码)开发--- 新增【录音】以及UI改进
			
开篇语 寒假发了一篇练手文章,不出意外地火了: <简年15: 微信小程序(有始有终,全部代码)开发---跑步App+音乐播放器 > 后来又发了BUG修复的版本,出乎意料的火了: 简年18: ...
 - pudian
			
https://zh.wikipedia.org/wiki/%E7%89%B9%E5%BE%81%E7%A0%81 http://www.voidcn.com/blog/lionzl/article/ ...
 - Json 查看Json的插件
			
# 写写写写写,每个人有每个人写东西的方式,这些都是好的方式.需要感谢的人有几个,对我的成长有启发,所以我也会把能够想到.接触到的东西告诉team里面的人.新人,然后这些人又可以把这些东西传递给下一波 ...