集群管理器,Apache Mesos 0.24.1 发布

jopen 8年前

Apache Mesos是一个集群管理器,提供了有效的、跨分布式应用或框架的资源隔离和共享,可以运行Hadoop、MPI、Hypertable、Spark。

Apache Mesos由四个组件组成,分别是Mesos-master,mesos-slave,framework和executor。

Mesos-master是整个系统的核心,负责管理接入mesos的各个framework(由frameworks_manager管理)和 slave(由slaves_manager管理),并将slave上的资源按照某种策略分配给framework(由独立插拔模块Allocator管 理)。

Mesos-slave负责接收并执行来自mesos-master的命令、管理节点上的mesos-task,并为各个task分配资源。 mesos-slave将自己的资源量发送给mesos-master,由mesos-master中的Allocator模块决定将资源分配给哪个 framework,当前考虑的资源有CPU和内存两种,也就是说,mesos-slave会将CPU个数和内存量发送给mesos-master,而用 户提交作业时,需要指定每个任务需要的CPU个数和内存量,这样,当任务运行时,mesos-slave会将任务放到包含固定资源的linux container中运行,以达到资源隔离的效果。很明显,master存在单点故障问题,为此,mesos采用了zookeeper解决该问题。

Apache Mesos 0.24.1 发布,此版本主要是功能改进和 bug 修复:

Bug 修复

  • [MESOS-2166] -  PerfEventIsolatorTest.ROOT_CGROUPS_Sample requires 'perf' to be installed

  • [MESOS-2337] - __init__.py not getting installed in $PREFIX/lib/pythonX.Y/site-packages/mesos

  • [MESOS-2480] - Protobuf jar is required for unbundled protobuf regardless of --disable-java flag.

  • [MESOS-2493] - google glog link is incorrect

  • [MESOS-2497] - Create synchronous validations for Calls

  • [MESOS-2552] - C++ Scheduler library should send HTTP Calls to master

  • [MESOS-2559] - Do not use RunTaskMessage.framework_id.

  • [MESOS-2660] - ROOT_CGROUPS_Listen and ROOT_IncreaseRSS tests are flaky

  • [MESOS-2862] - mesos-fetcher won't fetch uris which begin with a " "

  • [MESOS-2868] - --attributes flag in slave cannot take a value with ':'

  • [MESOS-2882] - Duplicate name-value env-vars in '-e' option of docker run

  • [MESOS-2900] - Display capabilities in state.json

  • [MESOS-2989] - Changing to "framework" from "framwork"

  • [MESOS-3001] - Create a "demo" HTTP API client

  • [MESOS-3002] - Rename Option<T>::get(const T& _t) to getOrElse() broke network isolator

  • [MESOS-3027] - Compiler warning in stout subcommand tests

  • [MESOS-3053] - Failing DockerContainerizerTest.ROOT_DOCKER_Launch_Executor_Bridged

  • [MESOS-3058] - Cgroup tests relies on cgroups::get() returning in a specific order

  • [MESOS-3079] - `sudo make distcheck` fails on Ubuntu 14.04 (and possibly other OSes too)

  • [MESOS-3121] - Always disable SSLV2

  • [MESOS-3124] - Updating persistent volumes after slave restart is problematic.

  • [MESOS-3138] - PersistentVolumeTest.SlaveRecovery test fails on OSX

  • [MESOS-3141] - Compiler warning when mocking function type has an enum return type.

  • [MESOS-3143] - Disable endpoints rule fails to recognize HTTP path delegates

  • [MESOS-3148] - Resolve issue with hanging tests with Zookeeper

  • [MESOS-3168] - MesosZooKeeperTest fixture can have side effects across tests

  • [MESOS-3170] - 0.23 Build fails when compiling against -lsasl2 which has been statically linked

  • [MESOS-3175] - subprocess_tests.cpp:598 delete used but allocated with new[]

  • [MESOS-3178] - Perform a self bind mount of rootfs itself in fs::chroot::enter.

  • [MESOS-3192] - ContainerInfo::Image::AppC::id should be optional

  • [MESOS-3195] - Fix master metrics for scheduler calls

  • [MESOS-3197] - MemIsolatorTest/{0,1}.MemUsage fails on OS X

  • [MESOS-3201] - Libev handle_async can deadlock with run_in_event_loop

  • [MESOS-3203] - MasterAuthorizationTest.DuplicateRegistration test is flaky

  • [MESOS-3204] - PortMappingIsolatorProcess shell script can silently fail

  • [MESOS-3207] - C++ style guide is not rendered correctly (code section syntax disregarded)

  • [MESOS-3209] - parameterize allocator benchmark by framework count

  • [MESOS-3234] - enable automake maintainer mode

  • [MESOS-3237] - HTTP requests with nested path are not properly handled by libprocess

  • [MESOS-3238] - Master endpoint help message is incorrect

  • [MESOS-3260] - SchedulerTest.* are broken on OSX and CentOS

  • [MESOS-3262] - HTTPTest.NestedGet is flaky

  • [MESOS-3263] - SchedulerTask.KillTest fails for JSON Requests

  • [MESOS-3267] - JSON serialization/deserialization of bytes is incorrect

  • [MESOS-3274] - Build error with port mapping isolator

  • [MESOS-3275] - ContentType/HttpApiTest.UpdatePidToHttpSchedulerWithoutForce is flaky

  • [MESOS-3284] - JSON representation of Protobuf should use base64 encoding for 'bytes' fields.

  • [MESOS-3287] - downloadWithHadoop tries to access Error() for a valid Try<bool>

  • [MESOS-3290] - Master should drop HTTP calls when it's recovering

  • [MESOS-3294] - Failing ROOT_ tests on CentOS 7.1 - UserCgroupIsolatorTest

  • [MESOS-3296] - Failing ROOT_ tests on CentOS 7.1 - LinuxFilesystemIsolatorTest

  • [MESOS-3297] - Failing ROOT_ tests on CentOS 7.1 - MesosContainerizerLaunchTest

  • [MESOS-3311] - SlaveTest.HTTPSchedulerSlaveRestart

  • [MESOS-3321] - Spurious fetcher message about extracting an archive

改进

  • [MESOS-809] - External control of the ip that Mesos components publish to zookeeper

  • [MESOS-2350] - Add support for MesosContainerizerLaunch to chroot to a specified path

  • [MESOS-2736] - Upgrade the design of MasterInfo

  • [MESOS-2794] - Implement filesystem isolators

  • [MESOS-2795] - Introduce filesystem provisioner abstraction

  • [MESOS-2798] - Export statistics on "unevictable" memory

  • [MESOS-2800] - Rename Option<T>::get(const T& _t) to getOrElse() and refactor the original function

  • [MESOS-2841] - FrameworkInfo should include a Labels field to support arbitrary, lightweight metadata

  • [MESOS-2880] - Add Frameworkinfo.capabilities on framework re-registration

  • [MESOS-2902] - Enable Mesos to use arbitrary script / module to figure out IP, HOSTNAME

  • [MESOS-2946] - Authorizer Module: Interface design

  • [MESOS-2947] - Authorizer Module: Implementation, Integration & Tests

  • [MESOS-2951] - Inefficient container usage collection

  • [MESOS-2965] - Add implicit cast to string operator to Path.

  • [MESOS-2967] - Missing doxygen documentation for libprocess socket interface

  • [MESOS-3020] - Expose major, minor and patch components from stout Version

  • [MESOS-3054] - update gitignore

  • [MESOS-3093] - Support HTTPS requests in libprocess

  • [MESOS-3112] - Fetcher should perform cache eviction based on cache file usage patterns.

  • [MESOS-3118] - Remove pthread specific code from Stout

  • [MESOS-3119] - Remove pthread specific code from Libprocess

  • [MESOS-3120] - Remove pthread specific code from Mesos

  • [MESOS-3127] - Improve task reconciliation documentation.

  • [MESOS-3173] - Mark Path::basename, Path::dirname as const functions.

  • [MESOS-3182] - Make Master::registerFramework() and Master::reregisterFramework() call into Master::subscribe()

下载:http://www.apache.org/dyn/mirrors/mirrors.cgi/mesos/0.24.1/