Git Product home page Git Product logo

elasticsearch's Introduction

elasticsearch's People

Contributors

benhall avatar brndnmtthws avatar defect avatar dylanmei avatar frankscholten avatar ftrossbach avatar glapuente avatar inthecloud247 avatar jrslv avatar keithchambers avatar kensipe avatar lguminski avatar mbonaci avatar mrmrcoleman avatar mwl avatar nubunto avatar philwinder avatar prasincs avatar psl-trifork avatar sadovnikov avatar slevinbe 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  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

elasticsearch's Issues

Create vagrant configuration for the project

I prefer to work in Vagrant wherever possible so as to avoid polluting my laptop. I'm working on a centos7 box for myself right now anyway to solve this problem.

If there is demand for this, please let me know and also state your preferred distribution. I have no particular preference for centos.

Support elastic scaling

Currently the framework launches elasticsearch on every node.

In large clusters this is not desired, therefore the framework should also support an auto-scaling strategy. With this strategy the framework monitors resource usage and for instance when the heap size becomes 70% of total memory it launches a new elasticsearch node to scale the load.

Project status

Please advise what is current project status, is it ready for use or still in development?
Is there any roadmap?

Randomize port selection

Currently the framework selects the first 2 ports from the offered port ranges. However it should select 2 random ports from the port ranges because in case of task failures there is the chance that the same port was used before by another task.

Failing build

:system-test:pmdTest FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':system-test:pmdTest'.
> 2 PMD rule violations were found. See the report at: file:///vagrant/system-test/build/reports/pmd/test.html
1   /vagrant/system-test/src/test/java/org/apache/mesos/elasticsearch/systemtest/DiscoverySystemTest.java   10  Avoid unused imports such as 'org.apache.mesos.elasticsearch.common.Discovery'
2   /vagrant/system-test/src/test/java/org/apache/mesos/elasticsearch/systemtest/DiscoverySystemTest.java   20  Avoid unused imports such as 'org.junit.Assert.fail'

Use Mesos DNS for node discovery in Elasticsearch Mesos Cloud Plugin

Currently we use the Master's state file to discover nodes in the cluster. Replace this with Mesos DNS node discovery mechanism.

  • Expose services in mesos-dns
  • Deploy mesosphere/mesos-dns
  • Configure DNS on all nodes
  • Look up ES instances through DNS in Mesos-cloud plugin
  • Automate adding prepend domain-name-servers 10.11.142.163; to /etc/dhcp/dhclient.conf on all nodes

Remove master url parameter

The scheduler should not use the master url parameter. Instead the master url should be configured through MasterInfo when the framework is registered.

Fix infinite loop in cloud-mesos when state parsing throws exception

Cloud-mesos parses the state but when an exception is thrown it will be called again, creating an infinite loop.

One case where this happens is when the 'cluster' property is not found in the state.json file. This field is set by GCE but not in docker compose.

Consider changing the JSON API we use because it throws an exception if a property is not available.

Implement ElasticsearchExecutor

Executor should send simple metrics from the Elasticsearch node such as number of searches back to the scheduler so the scheduler can decide whether to scale up or down.

Create docker-compose system test setup

Let's setup a way to run automated system tests with docker-compose.

The steps are

  • docker-compose up - either via Gradle or within JUnit
  • Perform assertions such as calling the Elasticsearch endpoints to check if node discovery works
  • docker-compose rm

Improve build process

Even if nothing has changed, it takes lots of time to determine that nothing has changed in :scheduler:jar and :executor:jar tasks

:elasticsearch-cloud-mesos:processResources UP-TO-DATE
:elasticsearch-cloud-mesos:classes UP-TO-DATE
:elasticsearch-cloud-mesos:jar UP-TO-DATE                   <--- several minutes
:elasticsearch-cloud-mesos:assemble UP-TO-DATE

it looks the problem is caused due to shadowing grade plugin

Docker Requirement

Does this framework require the docker containers to run? If so will there be options to use and set local docker registries so we don't have to pre distribute the containers? If not will there be directions on how to get this setup as a native framework with no Docker containers? And also, if that's the case, will there be options to build without building the docker containers.

Thanks!

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.