Как установить mosh на EMR master
У меня были проблемы с завершением соединений ssh, и я подумал, что может быть лучше установить mosh на master -сервере emr - таким образом, будет некоторая защита от потери соединения. Я создал следующий скрипт, который будет частью моей начальной загрузки, но когда я его запускаю, у меня возникают некоторые проблемы.
#!/bin/bash
#
# Make sure we've got git, autoconf, automake, protobuf-compilers
#
sudo yum install -y \
git \
autoconf-2.69-11.9.amzn1.noarch \
automake-1.13.4-3.15.amzn1.noarch \
protobuf-compiler-2.5.0-1.8.amzn1.x86_64 \
protobuf-2.5.0-1.8.amzn1.x86_64
#
# Pull the latest code from github
#
cd /home/hadoop
git clone https://github.com/keithw/mosh
#
# Build and install
#
cd mosh
./autogen.sh && ./configure && make && sudo make install
В настоящее время это переключается на шаг настройки следующим образом:
checking for protobuf... no
configure: error: Package requirements (protobuf) were not met:
No package 'protobuf' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Я пытался установить PREFIX=/usr
а также PKG_CONFIG_PATH=${PREFIX}/lib64/pkgconfig
, затем работает./configure с --prefix=$PREFIX
- это не помогает, я также пытался установить 32-битный пакет, который также не помог. Все было бы проще, если бы был источник sudo yum install -y mosh
, тем не мение yum whatprovides mosh
возвращается пустым
Любые указатели будут приветствоваться!
1 ответ
Это зависит от того, какую версию AMI вы производите. Необходимо внести изменения, чтобы создать его на AMI 3.7.0:
Не указывайте конкретную версию пакета protobuf.
На новых AMI есть версия protobuf 2.5.0-1.10
Дополнительно установить пакет
protobuf-devel
Так что ваши yum install
Команда должна выглядеть так:
sudo yum install -y \
git \
autoconf-2.69-11.9.amzn1.noarch \
automake-1.13.4-3.15.amzn1.noarch \
protobuf-compiler \
protobuf \
protobuf-devel
UPD:
Не забудьте изменить группу безопасности ElasticMapReduce-master, чтобы открыть UDP-порт 60001.
- Перейдите в AWS EC2 WebConsole / Сеть и безопасность / Группы безопасности;
- Выберите
ElasticMapReduce-master
группа безопасности из списка; - Перейдите на вкладку Inbound и и новое правило для UDP-порта 6001.