2015-05-29 6 views
6

Я следую http://jayatiatblogs.blogspot.com/2011/11/storm-installation.html & http://zookeeper.apache.org/doc/r3.3.3/zookeeperAdmin.html#sc_zkMulitServerSetup настроить кластер Apache Storm в Ubuntu 14.04 LTS на AWS EC2.Как настроить многоузловой кластер Apache Storm

Мой главный узел - 10.0.0.185. Мои подчиненные узлы - 10.0.0.79, 10.0.0.124 & 10.0.0.84 с мидином 1, 2 и 3 в их данных zookeeper. Я создал ансамбль Apache Zookeeper, состоящий из всех 3 подчиненных узлов.

Ниже мой zoo.cfg для моих раб узлов:

tickTime=2000 
initLimit=10 
syncLimit=5 

dataDir=/home/ubuntu/zookeeper-data 
clientPort=2181 

server.1=10.0.0.79:2888:3888 
server.2=10.0.0.124:2888:3888 
server.3=10.0.0.84:2888:3888 

autopurge.snapRetainCount=3 
autopurge.purgeInterval=1 

Ниже мой storm.yaml для моих подчиненных узлов:

########### These MUST be filled in for a storm configuration 
storm.zookeeper.server: 
    - "10.0.0.79" 
    - "10.0.0.124" 
    - "10.0.0.84" 
#  - "localhost" 
storm.zookeeper.port: 2181 

# nimbus.host: "localhost" 
nimbus.host: "10.0.0.185" 

storm.local.dir: "/home/ubuntu/storm/data" 
java.library.path: "/usr/lib/jvm/java-7-oracle" 

supervisor.slots.ports: 
    - 6700 
    - 6701 
    - 6702 
    - 6703 
    - 6704 
# 
# worker.childopts: "-Xmx768m" 
# nimbus.childopts: "-Xmx512m" 
# supervisor.childopts: "-Xmx256m" 
# 
# ##### These may optionally be filled in: 
# 
## List of custom serializations 
# topology.kryo.register: 
#  - org.mycompany.MyType 
#  - org.mycompany.MyType2: org.mycompany.MyType2Serializer 
# 
## List of custom kryo decorators 
# topology.kryo.decorators: 
#  - org.mycompany.MyDecorator 
# 
## Locations of the drpc servers 
# drpc.servers: 
#  - "server1" 
#  - "server2" 

## Metrics Consumers 
# topology.metrics.consumer.register: 
# - class: "backtype.storm.metric.LoggingMetricsConsumer" 
#  parallelism.hint: 1 
# - class: "org.mycompany.MyMetricsConsumer" 
#  parallelism.hint: 1 
#  argument: 
#  - endpoint: "metrics-collector.mycompany.org" 

Ниже приведены storm.yaml для моего ведущий узел:

########### These MUST be filled in for a storm configuration 
storm.zookeeper.servers: 
    - "10.0.0.79" 
    - "10.0.0.124" 
    - "10.0.0.84" 
#  - "localhost" 
# 
storm.zookeeper.port: 2181 

nimbus.host: "10.0.0.185" 
# nimbus.thrift.port: 6627 
# nimbus.task.launch.secs: 240 

# supervisor.worker.start.timeout.secs: 240 
# supervisor.worker.timeout.secs: 240 

ui.port: 8772 

# nimbus.childopts: "‐Xmx1024m ‐Djava.net.preferIPv4Stack=true" 

# ui.childopts: "‐Xmx768m ‐Djava.net.preferIPv4Stack=true" 
# supervisor.childopts: "‐Djava.net.preferIPv4Stack=true" 
# worker.childopts: "‐Xmx768m ‐Djava.net.preferIPv4Stack=true" 

storm.local.dir: "/home/ubuntu/storm/data" 

java.library.path: "/usr/lib/jvm/java-7-oracle" 

# supervisor.slots.ports: 
#  - 6700 
#  - 6701 
#  - 6702 
#  - 6703 
#  - 6704 

# worker.childopts: "-Xmx768m" 
# nimbus.childopts: "-Xmx512m" 
# supervisor.childopts: "-Xmx256m" 

# ##### These may optionally be filled in: 
# 
## List of custom serializations 
# topology.kryo.register: 
#  - org.mycompany.MyType 
#  - org.mycompany.MyType2: org.mycompany.MyType2Serializer 
# 
## List of custom kryo decorators 
# topology.kryo.decorators: 
#  - org.mycompany.MyDecorator 
# 
## Locations of the drpc servers 
# drpc.servers: 
#  - "server1" 
#  - "server2" 

## Metrics Consumers 
# topology.metrics.consumer.register: 
# - class: "backtype.storm.metric.LoggingMetricsConsumer" 
#  parallelism.hint: 1 
# - class: "org.mycompany.MyMetricsConsumer" 
#  parallelism.hint: 1 
#  argument: 
#  - endpoint: "metrics-collector.mycompany.org" 

Я начинаю свой зоопарк во всех моих подчиненных узлах, а затем запускаю свой штормовой нимбус в моем главном узле, а затем начинаю штурмовик во всех моих подчиненных узлах. Однако, когда я просматриваю в своем пользовательском интерфейсе Storm, есть только 1 супервизор с общим количеством 5 слотов в сводке кластера & только 1 информация супервизора в сводке супервизора, почему?

Сколько ведомых узлов действительно работает, если я отправлю топологию в этом случае?

Почему это не 3 супервизора с общим 15 слотами?

Что мне делать, чтобы иметь 3 супервизора?

Когда я проверяю в supervisor.log в подчиненных узлов, причины, как показано ниже:

2015-05-29T09:21:24.185+0000 b.s.d.supervisor [INFO] 5019754f-cae1-4000-beb4-fa0 
16bd1a43d still hasn't started 
+0

См. Журналы журнала супервизора о проблемах подключения – shutty

+0

Добавлены журналы супервизора. Кажется, что только один супервизор будет запущен одновременно, другие не будут запущены, хотя я также выдаю команду «диспетчер штормов». – Toshihiko

ответ

5

Что вы делаете идеально и его работы тоже.

Единственное, что вы должны изменить, это ваше storm.dir. Это то же самое в подчиненном устройстве, и главные узлы просто изменяют путь в пути storm.dir в узлах супервизора nimbus & (не используйте тот же локальный путь). Когда вы используете один и тот же локальный путь, нимб и супервайзер имеют один и тот же идентификатор. Они вступают в игру, но вы не видите 8 слотов, они просто показывают вам 4 слота в качестве рабочих.

Измените (storm.local.dir:/home/ubuntu/storm/data) и не используйте тот же путь в диспетчере и нимбу.

+0

Спасибо за помощь, однако проблема все еще сохраняется, хотя я изменяю storm.local.dir:/home/ubuntu/storm/data в storm.yaml узла nimbus в/home/ubuntu/storm/data2, между тем остаются storm.local.dir:/home/ubuntu/storm/data в storm.yaml подчиненного узла. – Toshihiko

+0

Когда я выпускаю ребалансировку бурения, вместо того, чтобы разрешать запуск нового ведомого вместе с предыдущим узлом, новый подчиненный узел заменяет предыдущий узел на запуск – Toshihiko

+2

в порядке !! могу ли я знать, сколько узлов супервизора вы используете! изменяет ли путь в супервизоре или использует тот же путь во всех узлах супервизора? Если ваш рабочий локальный путь в супервизорах меняет путь it.ex в узле supervisor 1 storm.local.dir:/home/ubuntu/storm/data и в supervisor 2 node storm.local.dir: /home/ubuntu/storm/data2.they должны отличаться! если он не работает, проверьте журналы предыдущего узла после замены. –

0

Вы имеете в виду Nimbus как мастер-узел?

Как правило, кластер Zookeeper должен быть запущен первым, а затем нимбом, а затем супервизорами. Zookeeper и Nimbus должны быть всегда доступны для работы кластера Storm.

Вы должны проверить журналы супервизора, чтобы проверить наличие сбоев. Хост Nimbus и машины Zookeeper должны быть доступны с машин Supervisor.

+0

Да, сначала я начинаю кластер Zookeeper, затем начинаю штурм Нимбуса, а затем начинаю штурмовой надзор. Я просто ошибаюсь в вопросе, который я задал. Отредактировал мой вопрос. – Toshihiko

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