如何在EMR主机上安装mosh

时间:2015-06-03 17:59:54

标签: yum emr mosh

我一直遇到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=/usrPKG_CONFIG_PATH=${PREFIX}/lib64/pkgconfig,然后使用--prefix=$PREFIX运行./configure - 这没有帮助,我也尝试过安装32位软件包,也没有帮助。如果有sudo yum install -y mosh的来源,这会更容易,但yum whatprovides mosh会变空。

欢迎任何指示!

1 个答案:

答案 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.

  • 转到AWS EC2 WebConsole / Network&amp;安全/安全组;
  • 从列表中选择ElasticMapReduce-master安全组;
  • 转到入站标签以及UDP端口6001的新规则。