【问题标题】:How to install mosh on an EMR master如何在 EMR 主机上安装 mosh
【发布时间】:2015-06-03 17:59:53
【问题描述】:

我一直遇到 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 会返回空。

欢迎任何指点!

【问题讨论】:

  • 请不要在已回答的问题(尤其是有赏金的问题)中添加由答案创建的新问题。授予答案并发布新问题要好得多(并且不会让未来的读者感到困惑),如果它们提供上下文,则带有指向原始问题和答案的链接。如果有人现在尝试回答,他们是在回答安装问题还是 nat 问题?赏金是什么?.....
  • 对我来说,这仍然像是 2 个独立的问题;如果您能够一次将问题限制在一个可回答的部分,我通常会发现它不那么令人困惑。就像现在一样,您将获得一个奖励赏金的答案,可能将其他答案作为已接受的答案,这还不是很清楚。
  • 两个问题才是正确的方法。您可以在某处写下您的 N 个问题的结果,您可以将这个问题与您的新问题联系起来,甚至在此处添加一个指向新问题的链接...
  • @theheadofabroom:这是两个独立的问题。这样想:第一个问题是“我如何解锁我的车?”这得到了回答。现在你说“为什么我的车不能启动?” 不同的问题。
  • 您的问题是discussed on meta。无论如何,如果您有其他问题,您应该将其作为单独的问题发布。您可以将链接添加到您之前的问题,但请确保该链接不仅仅是您的问题的知识来源。所以下次尝试创建类似“这是[this question]的后续问题。所以我尝试做foo()但是bar()发生了,我用baz()解决了,但现在我遇到了xyz的问题。可能是什么原因以及如何解决?我怀疑它可能是由 X 引起的,所以我尝试了 Y,但它没有解决我的问题。

标签: yum emr 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 安全组;
  • 转到入站选项卡,然后为 UDP 端口 6001 设置新规则。

【讨论】:

  • 谢谢,这已经解决了安装问题,我已经用我的新问题更新了这个问题。
猜你喜欢
  • 2020-06-22
  • 1970-01-01
  • 2017-01-20
  • 1970-01-01
  • 2023-02-02
  • 1970-01-01
  • 2022-10-22
  • 2018-04-24
  • 2014-01-20
相关资源
最近更新 更多