2016-04-24 5 views
1

Невозможно установить пакет Cassandra, марафон get застрял в развертывании в фазе 1/2, а подкоманда dcos cassandra выдает следующую команду stacktrace, любая помощь оценивается.ошибка подкоманды dcos cassandra

Traceback (most recent call last): 
    File "/home/azureuser/.dcos/subcommands/cassandra/env/bin/dcos-cassandra", line 5, in <module> 
    from pkg_resources import load_entry_point 
    File "/opt/mesosphere/lib/python3.4/site-packages/pkg_resources.py", line 2701, in <module> 
    parse_requirements(__requires__), Environment() 
    File "/opt/mesosphere/lib/python3.4/site-packages/pkg_resources.py", line 572, in resolve 
    raise DistributionNotFound(req) 
pkg_resources.DistributionNotFound: requests 


Python version: Python 3.4.2 
requests version : 1.8.1 
+0

Можете ли вы обновить свои вопросы двумя частями информации: какая версия DC/OS (я предполагаю 1,7 EA от dcos.io?), А также вывод 'dcos -version' на ваш CLI. –

+0

Hi Michael, DC/OS Версия от azure ui states DC/OS v.1.7.0, выходы CLI dcos версии 0.4.4 –

+0

Торговая площадка или ACS? И что такое версия CLI? –

ответ

1

Я нахожусь в команде, которая строит службу Кассандры. Спасибо, что попробовали!

Мы только что обновили пакет CLIS Cassandra, чтобы лучше определить его зависимости от протокола. В вашем случае похоже, что он пытался повторно использовать старую версию библиотеки requests? Чтобы вытащить модуль Cassandra CLI в последнюю версию, попробуйте запустить dcos package uninstall --cli cassandra; dcos package install --cli cassandra. Обратите внимание: важен --cli; исключение может привести к удалению самого сервиса Cassandra, в то время как все, что мы хотим, - это переустановить локальный модуль CLI.

Имейте в виду, что вы также должны иметь доступ к службе Cassandra напрямую через HTTP. Модуль CLI представляет собой тонкий интерфейс HTTP-API службы. Например, curl -H "Authorization:token=$(dcos config show core.dcos_acs_token)" http://<your-dcos-host>/service/cassandra/v1/plan | jq '.'. См. Примеры curl в Cassandra 1.7 docs для других конечных точек.

После того, как вы активировали CLI, это должно дать более полное представление о состоянии службы, но журналы могут предоставить более подробную информацию, особенно если служба не запускается. Вы можете получить доступ журналов службы непосредственно посетив приборную панель на http://<your-dcos-host>/:

  1. Нажмите Services слева, а затем выберите marathon из списка. Менеджер службы Cassandra запускается как задание марафона.
  2. Появится панель с указанием списка всех задач, управляемых марафоном. Нажмите cassandra в этом списке, чтобы показать его рабочий каталог, включая доступные файлы журнала.
  3. При наведении указателя мыши на файлы появляется увеличительное стекло. Нажмите увеличительное стекло, чтобы отобразить соответствующий файл в строке.
1

К сожалению, у нас по-прежнему возникают те же проблемы, хотя нам удалось получить обходной путь. Кажется, в Azure существует несколько проблем с DC/OS, так что я дам дальнейшую обратную связь. Если вы используете версию Marketplace DC/OS 1.7.0, Cassandra не развертывается, она попадает в марафон на этапе 1/2, при проверке журналов, похоже, проблема с доступом к портам по умолчанию.

Pastebin to log file

С другой стороны, эта проблема не возникает на ACS/DC OS, Cassandra развертывает правильно появляться на вкладке DC/OS службы, а также на марафоне. CLOS DCOS Cassandra не работает ни на одном. После не очень тщательной проверки, кажется, что, когда мы установили DCOS CLI с помощью метода выше, существуют некоторые проблемы с зависимостями специально с учетом $ PYTHONPATH переменной

/opt/mesosphere/lib/python3.4/site-packages 

Мы смогли решить эту проблему зависимостей путем принимая два действия:

  • Первый Dependency вопрос был с модулем запросов, которая была решена с помощью следующих действий после установки консоли для подкоманде Кассандры.

    cd ~/.dcos/subcommands/cassandra 
    source env/bin/activate 
    pip install -Iv requests 
    

Мы использовали -IV, поскольку обычная процедура обновления завершается с внешней зависимости в пути $ PYTHONPATH, поэтому просит зависимость решена.

  • Вторая зависимость, которая Кассандра субкоманда была требующей была docopt, опять-таки, используя тот же метод, который мы смогли решить эту проблему и теперь Субкоманда работает как в документации

    pip install -Iv docopt 
    

Это кажется немного хакерским, интересно, есть ли что-то более подходящее.

выход DCOS связи Кассандры после принятия выше шаги

{ 
"address": [ 
    "10.32.0.9:9042", 
    "10.32.0.6:9042", 
    "10.32.0.8:9042" 
], 
"dns": [ 
    "node-0.cassandra.mesos:9042", 
    "node-1.cassandra.mesos:9042", 
    "node-2.cassandra.mesos:9042" 
] 
} 

То же самое происходит и для других подкомандами DC/OS, как, например, в Кафки один.

+0

Спасибо за подробный отчет. Отслеживание и расследование этого сейчас. –

+0

FYI, отслеживается в https://dcosjira.atlassian.net/browse/DCOS-54 и не стесняйтесь добавлять там @ hugo-matinho –