Giter Site home page Giter Site logo

elasticsearch-mesos's Introduction

End of Life

This proof of concept has been superseeded by https://github.com/mesos/elasticsearch.

elasticsearch-mesos

This Apache Mesos framework allows you to utilize your Mesos cluster to run Elasticsearch.

The framework is composed of a Driver node and a set of slaves.

The driver will do all the heavy lifting like downloading Elasticsearch to the worker nodes, making the cluster configuration available to the slaves via HTTP, and monitoring the instances. It will automatically modify the configuration files to include the known Elasticsearch instances to be used for unicast peer discovery via a template variable.

Proof of Concept

This is currently a proof of concept to show Elasticsearch running natively on Mesos. Don't use it in production! We'd love help from the community to make it production grade.

Prerequisites

  • An Apache Mesos cluster running version 0.15.0+
  • Java
  • Maven
  • wget

Tutorial

  1. Download the distribution from the Mesosphere download server.

  2. Untar it onto the driver machine
    tar xzf es-mesos-*.tgz

  3. Edit config/mesos.yaml and replace it with your Mesos settings.

  4. Edit config/elasticsearch.yaml and replace it with your Elasticsearch settings.

  5. Start the driver to initiate launching Elasticsearch on Mesos

     bin/elasticsearch-mesos
    

Configuration Values

mesos.executor.uri

Adjust this if you want the nodes to retrieve the distribution from somewhere else

Default: http://downloads.mesosphere.io/elasticsearch/elasticsearch-mesos-0.90.10-1.tgz

mesos.master.url

Change this setting to point to your Mesos Master. The default works for a local Mesos install.

Default: zk://localhost:2181/mesos

java.library.path

Change this to the path to where the mesos native library is installed.

Default: /usr/local/lib

elasticsearch.noOfHwNodes

How many hardware nodes we want to run this cluster on. This prevents multiple nodes from the same cluster to run on a single physical node.

Default: 1

resource.*

The specified resources will be relayed to Mesos to find suitable machines. The configuration file lists cpu, mem and disk, but really anything you specify will be relayed to Mesos as a scalar value when requesting resources.

Defaults: resource.cpu:1.0, resource.mem: 2048, resource.disk: 1000

Building

Execute bin/build to download all dependencies including Elasticsearch, compile the code and make the distribution.

Known Limitations

Currently the driver does not deal with cluster failure in an intelligent manner. These features will be added shortly once we gain some initial feedback.

Versioning

elasticsearch-mesos uses the version of the embedded Elasticsearch as the first 3 version numbers. The last and 4th version number is the version of elasticsearch-mesos.

elasticsearch-mesos's People

Contributors

buryat avatar connordoyle avatar florianleibert avatar guenter avatar ssorallen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

elasticsearch-mesos's Issues

how is the underlying storage derived for elasticsearch on mesos

hi,

how is that elasticsearch can run on top of mesos in a distributed environment? how will the index data get distributed across? will the storage on be a distributed filesystem? is there a wiki that could go through all the nitty gritty stuff?

thanks.

Error running mess on single machine

I have a test mesos vm setup, I ran everything through the ansible-mesos playbook, it showed no errors. But when I goto the VM it is setup and look at /var/log/mesos/master/log it contusions this error:
"/usr/local/sbin/mesos-master: error while loading shared libraries: libjvm.so: cannot open shared object file: No such file or directory"

Any help would be appreciated

Jeff Wilson
[email protected]

Cannot connect to Mesos with default install on port 5050

I followed the instructions on http://mesos.apache.org/gettingstarted/ and got a Mesos cluster running on localhost at port 5050. I updated config/mesos.yaml like this:

# Where the Mesos master is located
mesos.master.url: 'zk://127.0.0.1:5050/mesos'

When I run bin/elasticsearch-mesos I get the error:

2014-09-08 22:38:38,106:13395(0x7f39c1063700):ZOO_INFO@zookeeper_init@786: Initiating client connection, host=localhost:5050 sessionTimeout=10000 watcher=0x7f39baed1c30 sessionId=0 sessionPasswd=<null> context=0x7f3978000f00 flags=0
2014-09-08 22:38:38,106:13395(0x7f39b27fc700):ZOO_INFO@check_events@1703: initiated connection to server [127.0.0.1:5050]
2014-09-08 22:38:38,106:13395(0x7f39b27fc700):ZOO_ERROR@handle_socket_error_msg@1721: Socket [127.0.0.1:5050] zk retcode=-4, errno=104(Connection reset by peer): failed while receiving a server response

Anything I'm missing here?

Using this or Marathon?

Could you please highlight what would be the advantage of using this compared to (say) Marathon spawning elasticsearch instances on its own?

Preferred way to run elasticsearch on mesos?

Since the versions in this are a bit out of date and this seems to be at least a low priority project, is there a best way to run modern elasticsearch with plugins on mesos? I assume the new docker support in mesos will be key here, but there are questions about persistent storage and clustering to figure out.

Refuses resource offers with extra params

My Elastic Search doesn't like resource offers. I'm guessing it's the extra (ports,0.0) offered by the master that is preventing the framework from accepting the offer because the offer exceeds the other requirements nicely.

793928 [Thread-168] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources required: List((cpus,1.0), (mem,2048.0), (disk,1000.0))
799932 [Thread-169] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources offered: List((cpus,3.0), (mem,5120.0), (disk,232112.0), (ports,0.0))
799932 [Thread-169] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources required: List((cpus,1.0), (mem,2048.0), (disk,1000.0))
805935 [Thread-170] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources offered: List((cpus,3.0), (mem,5120.0), (disk,232112.0), (ports,0.0))
805935 [Thread-170] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources required: List((cpus,1.0), (mem,2048.0), (disk,1000.0))
810938 [Thread-171] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources offered: List((cpus,3.0), (mem,5120.0), (disk,232112.0), (ports,0.0))
810938 [Thread-171] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources required: List((cpus,1.0), (mem,2048.0), (disk,1000.0))
815942 [Thread-172] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources offered: List((cpus,3.0), (mem,5120.0), (disk,232112.0), (ports,0.0))
815942 [Thread-172] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources required: List((cpus,1.0), (mem,2048.0), (disk,1000.0))
820947 [Thread-173] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources offered: List((cpus,3.0), (mem,5120.0), (disk,232112.0), (ports,0.0))
820947 [Thread-173] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources required: List((cpus,1.0), (mem,2048.0), (disk,1000.0))
825952 [Thread-174] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources offered: List((cpus,3.0), (mem,5120.0), (disk,232112.0), (ports,0.0))
825953 [Thread-174] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources required: List((cpus,1.0), (mem,2048.0), (disk,1000.0))
830958 [Thread-175] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources offered: List((cpus,3.0), (mem,5120.0), (disk,232112.0), (ports,0.0))
830958 [Thread-175] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources required: List((cpus,1.0), (mem,2048.0), (disk,1000.0))
835963 [Thread-176] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources offered: List((cpus,3.0), (mem,5120.0), (disk,232112.0), (ports,0.0))
835963 [Thread-176] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources required: List((cpus,1.0), (mem,2048.0), (disk,1000.0))
840968 [Thread-177] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources offered: List((cpus,3.0), (mem,5120.0), (disk,232112.0), (ports,0.0))
840968 [Thread-177] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources required: List((cpus,1.0), (mem,2048.0), (disk,1000.0))
845972 [Thread-178] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources offered: List((cpus,3.0), (mem,5120.0), (disk,232112.0), (ports,0.0))
845972 [Thread-178] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources required: List((cpus,1.0), (mem,2048.0), (disk,1000.0))
850977 [Thread-179] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources offered: List((cpus,3.0), (mem,5120.0), (disk,232112.0), (ports,0.0))
850977 [Thread-179] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources required: List((cpus,1.0), (mem,2048.0), (disk,1000.0))
855982 [Thread-180] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources offered: List((cpus,3.0), (mem,5120.0), (disk,232112.0), (ports,0.0))
855982 [Thread-180] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources required: List((cpus,1.0), (mem,2048.0), (disk,1000.0))
860986 [Thread-181] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources offered: List((cpus,3.0), (mem,5120.0), (disk,232112.0), (ports,0.0))
860986 [Thread-181] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources required: List((cpus,1.0), (mem,2048.0), (disk,1000.0))
865992 [Thread-182] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources offered: List((cpus,3.0), (mem,5120.0), (disk,232112.0), (ports,0.0))
865993 [Thread-182] INFO mesosphere.elasticsearch.ElasticSearchScheduler  - resources required: List((cpus,1.0), (mem,2048.0), (disk,1000.0))

struck at trying to create path /mesos in zookeeper

Hi,

I am running elasticsearch-mesos on playa-mesos vagrant vm. I have mesos master and slave running. When I try to run ./elasticsearch-mesos I am getting a message
I0107 12:18:33.608325 4570 group.cpp:385] Trying to create path '/mesos' in ZooKeeper
Then after waiting for a long time I am getting a time out message. Also elasticsearch is not listed under frameworks of mesos webUI.

Mesos Elastic search Executor Heap Space

HI,

I am able to set the heap memory space for the scheduler via "--elasticsearchRam" parameter in the marathon yml file. How do I set the memory of the executors?

The env variable given below didnt work as well:

env": {
    "JAVA_OPTS": "-Xms5g -Xmx15g"
  }

Regards,
Vijay Raajaa G S

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.