ES集群安装配置

ElasticSearch是一个开源搜索服务框架,它已经成为搜索解决方案领域的重要成员。ElasticSearch还经常被用作文档数据库,这主要得益于它的分布式特性和实时搜索能力,另外,ElasticSearch支持越来越多的聚合功能,而且和Yarn、Hadoop、Hive、Pig、Spark、Flume等大数据处理框架的兼容性越来越好。我主要是想调研一下看是否能将它用于实时的数据搜索统计、以及实时OLAP的业务场景之上。这里先记录一下ElasticSearch集群的安装配置。

ElasticSearch的一些术语

  • 索引(index)

索引(Index)相当于关系型数据库中的表;

  • 文档(document)

文档相当于关系型数据库中的行。但ES中的文档不需要有固定的结构,不同文档可以有不同的字段集合。

  • 文档类型(type)

在一个索引中,可以用不同的文档类型来代表不同的数据集合。

  • 节点和集群

ElastichSearch可以作为一个独立的搜索服务器工作,也可以在多台协同工作的服务器上运行,统称为一个集群,其中有一台被作为Master,其他为Slave;

  • 分片(shard)

一个索引会被分隔成多个分片,分别存放于集群中的不同节点中,类似于HDFS的文件块。

  • 副本

副本是针对每个分片的,可以为一个分片设置多个副本,分布在不同的节点上,即是容错,也可以提高查询任务的性能,原理同HDFS的文件块副本机制。

硬件及软件环境

两台CentOS,172.16.212.17(32G内存)、172.16.212.102(72G内存)

JAVA: jdk-8u65-linux-x64.tar.gz

ElasticSearch:elasticsearch-2.1.0

下载JAVA和ElasticSearch之后解压到指定目录(/home/liuxiaowen/)。

配置elasticsearch.yml


  1. cluster.name: hy_es //集群名称
  2. node.name: es_node_102 //节点名称,两台节点名称不能一样
  3. path.data: /data/es/data //ES存放数据的目录
  4. path.logs: /data/es/logs //ES存放日志的目录
  5. network.host: 172.16.212.102 //这个可以不配置,默认为0.0.0.0
  6. network.publish_host: 172.16.212.102 //这个可以不配置,默认为0.0.0.0
  7. gateway.recover_after_nodes: 2 //设置集群中N个节点启动时进行数据恢复
  8. discovery.zen.ping_timeout: 10s //节点之间通过ping进行应答的超时时间
  9. discovery.zen.ping.unicast.hosts: ["172.16.212.102", "172.16.212.17"] //集群中可以作为master节点的初始列表,通过这些节点来自动发现新加入集群的节点
  10. discovery.zen.minimum_master_nodes: 1 //配置当前集群中最少的主节点数,对于多于两个节点的集群环境,建议配置大于1

配置ElasticSearch使用内存

$ES_HOME/bin/elasticsearch.in.sh


  1. if [ "x$ES_MIN_MEM" = "x" ]; then
  2. ES_MIN_MEM=10g //最小内存,根据机器内存来定
  3. fi
  4. if [ "x$ES_MAX_MEM" = "x" ]; then
  5. ES_MAX_MEM=36g //最大内存,根据机器内存来定,最好不要超过机器物理内存的50%
  6. fi

配置JAVA环境变量

在用户的.bash_profile中加入:

export JAVA_HOME=/hom/liuxiaowen/jdk1.8.0_65
export PATH=$JAVA_HOME/bin:$PATH

或者在$ES_HOME/bin/elasticsearch脚本中配置:
export JAVA_HOME=/hom/liuxiaowen/jdk1.8.0_65

或者在启动ElasticSearch之前在命令行export JAVA_HOME=/hom/liuxiaowen/jdk1.8.0_65
都可以。

安装head监控插件

cd $ES_HOME/bin

./plugin install mobz/elasticsearch-head

需要在两台机器上都安装。

安装成功后,如图所示:

启动ElasticSearch

cd $ES_HOME/bin

./elasticsearch -d

-d参数表示在后台启动。

ElasticSearch运行日志在配置的${path.logs}/${cluster.name}.log中

Master(102)

Slave(17)

head监控页面(http://172.16.212.102:9200/_plugin/head/)

查看集群状态:


  1. curl -XGET 'http://172.16.212.102:9200/_cluster/health?pretty'
  2. 响应结果:
  3. {
  4. "cluster_name" : "hy_es",
  5. "status" : "green",
  6. "timed_out" : false,
  7. "number_of_nodes" : 2,
  8. "number_of_data_nodes" : 2,
  9. "active_primary_shards" : 5,
  10. "active_shards" : 10,
  11. "relocating_shards" : 0,
  12. "initializing_shards" : 0,
  13. "unassigned_shards" : 0,
  14. "delayed_unassigned_shards" : 0,
  15. "number_of_pending_tasks" : 0,
  16. "number_of_in_flight_fetch" : 0,
  17. "task_max_waiting_in_queue_millis" : 0,
  18. "active_shards_percent_as_number" : 100.0
  19. }

集群配置完毕,刚接触,有些参数可能配置的不合理,后续再慢慢研究。

接下来将介绍ElasticSearch的一些基本操作。

时间: 2024-09-09 23:14:09

ES集群安装配置的相关文章

ElasticSearch-2.0.0集群安装配置与API使用实践

ElasticSearch是基于全文搜索引擎库Lucene构建的分布式搜索引擎,我们可以直接使用ElasticSearch实现分布式搜索系统的搭建与使用,都知道,Lucene只是一个搜索框架,它提供了搜索引擎操作的基本API,如果要实现一个能够使用的搜索引擎系统,还需要自己基于Lucene的API去实现,工作量很大,而且还需要很好地掌握Lucene的底层实现原理. ElasticSearch是一个完整的分布式搜索引擎系统,它的一些基本特性包括如下: 全文检索 提供插件机制,可以共享重用插件的功能

[喵咪MQ(3)]RabbitMQ集群安装配置

[喵咪MQ(3)]RabbitMQ集群安装配置 w-blog博客 在各项生产环境使用中,容灾总是一个很重要的话题,如果单点故障会导致整个系统奔溃或者是丢失数据是不是好气好气的,领导会追着你问这是怎么了?你只能说是我们没有经验什么什么组件故障了,这个是低级玩法,高级玩法是配置好集群容灾,告诉老板死一两台机器宕机了没有事没有影响,所以我们今天就来讲讲RabbitMQ的集群模式... 附上: 喵了个咪的博客:w-blog.cn RabbitMQ官网 :http://www.rabbitmq.com/

集群安装配置Hadoop详细图解

集群安装配置Hadoop 集群节点:node4.node5.node6.node7.node8.具体架构: 操作系统为:CentOS release 5.5 (Final) 安装步骤 一.创建Hadoop用户组. 二.安装JDK.下载安装jdk.安装目录如下: 三.修改机器名,修改文件/etc/hosts.如下: 四.安装ssh服务.命令:yum install openssh-server. 五.建立ssh无密码登陆. (一)切换到hadoop用户.su – hadoop (二)创建ssh-k

Hadoop学习之ZooKeeper理论知识和集群安装配置

ZooKeeper集群安装配置和理论知识 1.   简介:zookeeper是Google的Chubby的一个开源实现,是hadoop的分布式协调服务 2.    Zookeeper(简称zk)包含一个简单的原语集,分布式应用程序可以给予它实现同步服务,配置维护和命名服务等 3.    Zk的设计目标 a)      简单化:通过共享体系的,命名空间进行协调,与文件系统相似,有一些数据寄存器组成,被称为Znode.Zk的数据是放在内存中的,zk可以达到高吞吐量.低延迟. Zk能用在大型.分布式的

国产数据库之达梦数据库 - DM7 MPP集群安装配置

武汉达梦数据库作为国产数据库较有代表性的企业,在数据库研发方面投入了大量的精力,其自主研发的达梦数据库DM7,除了具有单机版可与Oracle相媲美的能力外,同时也研发了一款无共享MPP架构的数据库软件,主要面向在线分析(OLAP)领域. 下面的分享主要参考和使用达梦公司官网提供的下载包及安装文档,感兴趣的同学请自行下载.下载链接:http://www.dameng.com/service/download.shtml 1.MPP集群规划 本集群打算使用2台服务器,每台服务器规划3个数据库实例,总

深入分析redis cluster 集群安装配置详解

Redis 集群是一个提供在多个Redis间节点间共享数据的程序集.redis3.0以前,只支持主从同步的,如果主的挂了,写入就成问题了.3.0出来后就可以很好帮我们解决这个问题. 目前redis 3.0还不稳定,如果要用在生产环境中,要慎重. 一,redis服务器说明 192.168.10.219 6379  192.168.10.219 6380  192.168.10.219 6381    192.168.10.220 6382  192.168.10.220 6383  192.168

crtmpserver 流媒体服务器集群安装配置详解

red5单机还是比较不错的,但是官方网站没有文档,不知道集群怎么配置,网查找了半天,只有red5 0.8版本有集群配置.以后的版本看了一下,有集群的插件,但是不知道怎么装插件,就算装好了插件,怎么配置集群,还是不知道啊.没文档坑爹. crtmpserver 流媒体服务器,研究学习,感觉还是不错的,下面说一下,集群配置. 一,crtmpserver下载 https://github.com/j0sh/crtmpserver 二,服务器说明 192.168.10.208 主服务器 192.168.1

基于corosync+pacemaker的nginx高可用集群安装配置

  一.corosync.pacemaker介绍 corosync是用于高可用环境中的提供通讯服务的,它位于高可用集群架构中的底层(Message Layer),扮演着为各节点(node)之间提供心跳信息传递这样的一个角色; pacemaker是一个开源的高可用资源管理器(CRM),位于HA集群架构中资源管理.资源代理(RA)这个层次,它不能提供底层心跳信息传递的功能,它要想与对方节点通信需要借助底层的心跳传递服务,将信息通告给对方.通常它与corosync的结合方式有两种: pacemaker

HBase-0.90.4集群安装配置

HBase是Hadoop数据库,能够实现随机.实时读写你的Big Data,它是Google的Bigtable的开源实现,可以参考Bigtable的论文Bigtable: A Distributed Storage System for Structured.HBase的存储模型可以如下三个词来概括:distributed, versioned, column-oriented.HBase并非只能在HDFS文件系统上使用, 你可以应用在你的本地文件系统上部署HBase实例来存储数据. 准备工作