我一直遇到ssh连接终止的问题,并认为在emr主服务器上安装mosh可能更好 - 这样可以保护连接失去一些保护。我创建了以下脚本作为我的引导程序的一部分,但是当我运行它时,我遇到了一些问题。
#!/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
,然后使用--prefix=$PREFIX
运行./configure - 这没有帮助,我也尝试过安装32位软件包,也没有帮助。如果有sudo yum install -y mosh
的来源,这会更容易,但yum whatprovides mosh
会变空。
欢迎任何指示!
答案 0 :(得分:3)
这取决于您安装的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.
ElasticMapReduce-master
安全组;