2015-05-09 5 views
0

Ниже приведена попытка запуска кластера с десятью подчиненными устройствами.Python (boto) TypeError запуск Spark Cluster

12:13:44/sparkup $ec2/spark-ec2 -k sparkeast -i ~/.ssh/myPem.pem \ 
      -s 10 -z us-east-1a -r us-east-1 launch spark2 

Здесь вывод. Обратите внимание, что эта же команда была успешной с февральским мастер-кодом. Сегодня я обновился до последней версии 1.4.0-SNAPSHOT

Setting up security groups... 
Searching for existing cluster spark2 in region us-east-1... 
Spark AMI: ami-5bb18832 
Launching instances... 
Launched 10 slaves in us-east-1a, regid = r-68a0ae82 
Launched master in us-east-1a, regid = r-6ea0ae84 
Waiting for AWS to propagate instance metadata... 
Waiting for cluster to enter 'ssh-ready' state.........unable to load cexceptions 
TypeError 
p0 
(S'' 
p1 
tp2 
Rp3 
(dp4 
S'child_traceback' 
p5 
S'Traceback (most recent call last):\n File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1280, in _execute_child\n sys.stderr.write("%s %s (env=%s)\\n" %(executable, \' \'.join(args), \' \'.join(env)))\nTypeError\n' 
p6 
sb.Traceback (most recent call last): 
    File "ec2/spark_ec2.py", line 1444, in <module> 
    main() 
    File "ec2/spark_ec2.py", line 1436, in main 
    real_main() 
    File "ec2/spark_ec2.py", line 1270, in real_main 
    cluster_state='ssh-ready' 
    File "ec2/spark_ec2.py", line 869, in wait_for_cluster_state 
    is_cluster_ssh_available(cluster_instances, opts): 
    File "ec2/spark_ec2.py", line 833, in is_cluster_ssh_available 
    if not is_ssh_available(host=dns_name, opts=opts): 
    File "ec2/spark_ec2.py", line 807, in is_ssh_available 
    stderr=subprocess.STDOUT # we pipe stderr through stdout to preserve output order 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 709, in __init__ 
    errread, errwrite) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1328, in _execute_child 
    raise child_exception 
TypeError 

Консоль AWS показывает, что экземпляры фактически запущены. Так что непонятно, что на самом деле не удалось.

enter image description here Любые подсказки или подходы к оценке.

ОБНОВЛЕНИЕ Эта же ошибка возникает при выполнении команды . Кажется, это проблема с API-интерфейсом boto, но сам кластер, похоже, в порядке.

ec2/spark-ec2 -i ~/.ssh/sparkeast.pem login spark2 
Searching for existing cluster spark2 in region us-east-1... 
Found 1 master, 10 slaves. 
Logging into master ec2-54-87-46-170.compute-1.amazonaws.com... 
unable to load cexceptions 
TypeError 
p0 
(.. same exception stacktrace as above) 
+0

Я ничего не знаю о модуле '' spark_ec2'', который вы используете, но из трассировки стека он, кажется, ничего не делает, связанный с boto при возникновении ошибки. Похоже, он ждет ответа SSH на экземпляры. – garnaat

+0

@garnaat - Да, похоже, что что-то идет не так с вызовом 'subprocess', который вызывает' ssh'. javadba - Является ли ваш исполняемый файл 'ssh' ОК? –

+0

re: ssh У меня есть другие окна ssh открывать и открывать/закрывать окна ssh несколько раз каждый день. Я также несколько раз подключался к AWS, в последнее время использовал февральскую искробезопасную базу. Чтобы быть уверенным, я только открыл ssh кластеру партнера, и все в порядке. – javadba

ответ

0

Проблема в том, что установка python-2.7.6 на моем yosemite macbook оказалась поврежденной.

Я возвращаю PATH и PYTHONPATH, чтобы указать на пользовательскую домашнюю версию python, установленную на домашнем языке, а затем boto - и другие команды python, включая проект искробезопасности здания - работают нормально.

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