在YARN上运行ElasticSearch

原创
2015/03/30 15:43
阅读数 733

        这么做的目的,主要是为了统一资源管理(cpu和内存)。一体化平台,spark,es ,mr等都在一起跑的时候,做好资源的调度。

在故事开始之前,先去把插件下载了。

插件地址

安装主要参考了官方文档

[root@master nq]# hadoop jar elasticsearch-yarn-2.1.0.BUILD-SNAPSHOT.jar 
No command specified
Usage:
     -download-es  : Downloads Elasticsearch.zip
     -install      : Installs/Provisions Elasticsearch-YARN into HDFS
     -install-es   : Installs/Provisions Elasticsearch into HDFS
     -start        : Starts provisioned Elasticsearch in YARN
     -status       : Reports status of Elasticsearch in YARN
     -stop         : Stops Elasticsearch in YARN
     -help         : Prints this help

Configuration options can be specified _after_ each command; see the documentation for more information.

[root@master nq]#

安装过程比较简单,根据文档顺序来遍就好了,可能会出现的情况就是,HDFS权限问题。

[root@master nq]# hadoop jar elasticsearch-yarn-2.1.0.BUILD-SNAPSHOT.jar -download-es
[root@master nq]# hadoop jar elasticsearch-yarn-2.1.0.BUILD-SNAPSHOT.jar -install-es
[root@master nq]# hadoop jar elasticsearch-yarn-2.1.0.BUILD-SNAPSHOT.jar -install
[root@master nq]# hadoop jar elasticsearch-yarn-2.1.0.BUILD-SNAPSHOT.jar -start containers=2  #我启动了2个,为了副本能分配

完成后,能在HDFS下面看到2个文件

YARN这边也能看到日志和应用了

ES这边访问OK

[root@master nq]# curl localhost:9200
{
  "status" : 200,
  "name" : "Shadowmage",
  "cluster_name" : "elasticsearch",
  "version" : {
    "number" : "1.4.0",
    "build_hash" : "bc94bd81298f81c656893ab1ddddd30a99356066",
    "build_timestamp" : "2014-11-05T14:26:12Z",
    "build_snapshot" : false,
    "lucene_version" : "4.10.2"
  },
  "tagline" : "You Know, for Search"
}
[root@master nq]#


好了,大功告成。刚要开心的大笑,就发现了2个严重的问题,然后笑容凝固。

  1. 怎么安装插件?

  2. 数据存哪儿去了? local or hdfs 

看着HDFS上的zip包,我茫然了,首先确定的是插件,肯定是没提供相应的接口了,从图1也能看出来。经过一顿纠结后,想到了2个办法。

  1. 把插件打包进zip包里面。

    1. 安装过程的,第一步,(-download-es)会把es下载到当前dowanloads目录下面,

    2. dowanloads里面把elasticsearch-1.4.0.zip解压,再把head等插件弄进去,压缩

    3. 替换HDFS上的zip包,

    4. stop & start

  2. 使用plugin命令安装。

jps -v|grep elastic

./bin/plugin -install mobz/elasticsearch-head

jps找到ES的运行目录(-Des.path.home),然后就没有然后了。熟悉的head。到这里,其实索引文件是不是存在HDFS里面也清楚了。


展开阅读全文
打赏
0
4 收藏
分享
加载中
每个es实例都是一个长期运行的hadoop任务吗?是否可以动态伸缩es实例,像mesos的marathon一样?
2016/08/12 17:25
回复
举报
更多评论
打赏
1 评论
4 收藏
0
分享
返回顶部
顶部