2016-03-23 7 views
3

Я пытаюсь установить Kafka на Mesos. Установка, похоже, преуспела.Mesos DCOS не устанавливает Kafka

[email protected]:/dcos$ dcos package install kafka 
This will install Apache Kafka DCOS Service. 
Continue installing? [yes/no] yes 
Installing Marathon app for package [kafka] version [0.9.4.0] 
Installing CLI subcommand for package [kafka] version [0.9.4.0] 
New command available: dcos kafka 
The Apache Kafka DCOS Service is installed: 
    docs - https://github.com/mesos/kafka 
    issues - https://github.com/mesos/kafka/issues 

[email protected]:/dcos$ dcos package list 
NAME VERSION APP  COMMAND DESCRIPTION 
kafka 0.9.4.0 /kafka kafka Apache Kafka running on top of Apache Mesos 

Но задача kafka не началась.

[email protected]:/dcos$ dcos kafka 
Error: Kafka is not running 
[email protected]:/dcos$ 

Marathon UI говорит, что услуга waiting. Похоже, что он не принимает ресурс, который ему был выделен. Больше журналов here.

Mar 23 03:52:59 ip-10-0-4-194.ec2.internal java[1425]: [2016-03-23 03:52:59,335] INFO Offer ID: [54f71504-b37a-4954-b082-e1f2a04b7fa4-O77]. Considered resources with roles: [*]. Not all basic resources satisfied: cpu not in offer, disk SATISFIED (0.0 <= 0.0), mem not in offer (mesosphere.mesos.ResourceMatcher$:marathon-akka.actor.default-dispatcher-11) 
Mar 23 03:52:59 ip-10-0-4-194.ec2.internal java[1425]: [2016-03-23 03:52:59,370] INFO Offer [54f71504-b37a-4954-b082-e1f2a04b7fa4-O77]. Insufficient resources for [/kafka] (need cpus=0.5, mem=307.0, disk=0.0, ports=(1 dynamic), available in offer: [id { value: "54f71504-b37a-4954-b082-e1f2a04b7fa4-O77" } framework_id { value: "54f71504-b37a-4954-b082-e1f2a04b7fa4-0000" } slave_id { value: "54f71504-b37a-4954-b082-e1f2a04b7fa4-S1" } hostname: "10.0.4.190" resources { name: "ports" type: RANGES ranges { range { begin: 1 end: 21 } range { begin: 23 end: 5050 } range { begin: 5052 end: 32000 } } role: "slave_public" } resources { name: "cpus" type: SCALAR scalar { value: 4.0 } role: "slave_public" } resources { name: "mem" type: SCALAR scalar { value: 14019.0 } role: "slave_public" } resources { name: "disk" type: SCALAR scalar { value: 32541.0 } role: "slave_public" } attributes { name: "public_ip" type: TEXT text { value: "true" } } url { scheme: "http" address { hostname: "10.0.4.190" ip: "10.0.4.190" port: 5051 } path: "/slave(1)" }] (mesosphere.mesos.TaskBuilder:marathon-akka.actor.default-dispatcher-11) 

Mesos мастер журналы ..

Mar 23 15:38:22 ip-10-0-4-194.ec2.internal mesos-master[1371]: I0323 15:38:22.339759 1376 master.cpp:5350] Sending 2 offers to framework 54f71504-b37a-4954-b082-e1f2a04b7fa4-0000 (marathon) at [email protected]:60450 
Mar 23 15:38:22 ip-10-0-4-194.ec2.internal mesos-master[1371]: I0323 15:38:22.341790 1381 master.cpp:3673] Processing DECLINE call for offers: [ 54f71504-b37a-4954-b082-e1f2a04b7fa4-O373 ] for framework 54f71504-b37a-4954-b082-e1f2a04b7fa4-0000 (marathon) at [email protected]:60450 
Mar 23 15:38:22 ip-10-0-4-194.ec2.internal mesos-master[1371]: I0323 15:38:22.342041 1381 master.cpp:3673] Processing DECLINE call for offers: [ 54f71504-b37a-4954-b082-e1f2a04b7fa4-O374 ] for framework 54f71504-b37a-4954-b082-e1f2a04b7fa4-0000 (marathon) at [email protected]:60450 

Нет уверен, почему марафон не сделал, как это предложение. Я уверен, что ресурсов достаточно.

+0

Какой тип экземпляра вы используете? –

+0

m3.xlarge для всех рабов и мастеров. Я думаю, что ответ Габриэля ниже в правильном направлении. – Cheeko

ответ

4

Marathon ожидает предложения с достаточным количеством ресурсов для планировщика Kafka. Предложения, которые он отклоняет, кажутся не имеющими процессора или памяти. Предложение, которое вы видите, у которого есть достаточные ресурсы, уже статически зарезервировано для роли «slave_public».

Планировщик Kafka будет работать с ролью *. У вашего кластера недостаточно ресурсов в роли по умолчанию *. Это роль, связанная с частными рабами.

Вы должны взглянуть на состояние мезо/состояние и посмотреть доступные ресурсы на ведомых с ролью «*».

+0

Вы правы. Я закрыл все свои личные экземпляры. Я хочу, чтобы брокеры kafka имели публичные IP-адреса, чтобы я мог получить доступ к нему с моей машины-разработчика. Есть ли способ сказать планировщику Kafka вместо использования роли «slave_public»? – Cheeko

+0

'DCOS пакет установки Кафка --options =/путь/к/options.json' ' $ кошка options.json { "Кафка": { "каркасного роль": "slave_public" } } ' Вышеупомянутое может работать. Если это не сработает, вам придется получить доступ к Kafka изнутри кластера или через VPN. – Gabriel

+0

Это не сработало. Он все еще пытался найти ресурс в роли «*». – Cheeko

Смежные вопросы