EC2 中的 Java 安装

Posted

技术标签:

【中文标题】EC2 中的 Java 安装【英文标题】:Java installation in EC2 【发布时间】:2018-06-11 13:05:25 【问题描述】:

我正在建立一个用于学习目的的 hadoop 集群。为此,我尝试安装 java,在安装之前,我通过运行 java -version 命令检查了 java 的先前安装,并​​得到以下消息

程序“java”可以在以下包中找到: * 默认 jre * gcj-5-jre-无头 * openjdk-8-jre-headless * gcj-4.8-jre-headless * gcj-4.9-jre-headless * openjdk-9-jre-headless 试试:sudo apt install

根据其中一个线程中的建议,我运行了 sudo apt-get update 并反复收到以下消息

$sudo apt-get 更新 0% [连接到 ap-south-1.ec2.archive.ubuntu.com (54.168.13.207)]

Err:1 http://ap-south-1.ec2.archive.ubuntu.com/ubuntu xenial InRelease 无法连接到 ap-south-1.ec2.archive.ubuntu.com:80 (54.248.192.197),连接超时 [IP: 54.248.192.197 80]

Err:2 http://ap-south-1.ec2.archive.ubuntu.com/ubuntu xenial-updates InRelease 无法连接到 ap-south-1.ec2.archive.ubuntu.com:http: [IP: 54.248.192.197 80]

Err:3 http://ap-south-1.ec2.archive.ubuntu.com/ubuntu xenial-backports InRelease 无法连接到 ap-south-1.ec2.archive.ubuntu.com:http: [IP: 54.248.192.197 80]

Err:4 http://security.ubuntu.com/ubuntu xenial-security InRelease 无法启动与 security.ubuntu.com:80 (2001:67c:1562::19) 的连接。 - 连接 (101: 网络不可达) [IP: 2001:67c:1562::19 80]

正在读取包列表...完成

W:无法获取 http://ap-south-1.ec2.archive.ubuntu.com/ubuntu/dists/xenial/InRelease 无法连接到 ap-south-1.ec2.archive.ubuntu.com:80 (54.248.192.197),连接超时 [IP: 54.248.192.197 80]

W: 无法获取 http://ap-south-1.ec2.archive.ubuntu.com/ubuntu/dists/xenial-updates/InRelease 无法连接到 ap-south-1.ec2.archive.ubuntu.com:http: [IP: 54.248.192.197 80]

W: 无法获取http://ap-south-1.ec2.archive.ubuntu.com/ubuntu/dists/xenial-backports/InRelease 无法连接到 ap-south-1.ec2.archive.ubuntu.com:http: [IP: 54.248.192.197 80]

W:无法获取 http://security.ubuntu.com/ubuntu/dists/xenial-security/InRelease 无法启动与 security.ubuntu.com:80 (2001:67c:1562::19) 的连接。 - 连接 (101: 网络不可达) [IP: 2001:67c:1562::19 80]

W: 一些索引文件下载失败。它们已被忽略,或使用旧的。

我现在该怎么办?

我在安装 hadoop 时也会遇到类似的问题吗?

谢谢

【问题讨论】:

你能显示你的实例安全grp设置吗? @AmitKhandelwal 安全组:sg-113f2e7 类型 协议 端口范围 目标 描述 HTTP TCP 80 0.0.0.0/0 for TCP HTTP 所有流量 所有 所有 0.0.0.0/0 HTTPS TCP 443 0.0.0.0/0对于 TCP HTTPS ***************,上表被分解为几行。下面是解释。对于 HTTP 分配端口 80 和目标作为 0.0.0.0/0 对于 HTTPS 分配端口 443 和目标作为 0.0.0.0/0 最重要的是,亚马逊有只读条目以实现故障安全 您的实例是在私有子网中启动的吗?你能从你试图下载的网站ping ubuntu 的IP吗? @AmitKhandelwal - 抱歉,我是网络新手,我只是按照文档中的步骤设置 hadoop 集群。没有提及它。我应该在哪里检查私有子网? 您的实例是否位于任何防火墙后面?您使用的是公司 aws 帐户还是私人 aws 帐户? 【参考方案1】:

您的 EC2 实例的出站 Internet 访问似乎被某些东西阻止了。它可以是安全组/ACL/*** 设置。

尝试 ping 到某个 Internet 地址,看看它是否正常工作。一旦解决了这个问题,它应该可以正常工作。

【讨论】:

感谢您的大开眼界。已检查并更新出站流量表,仍然无法正常工作。我有什么需要做的吗? 你能分享一下ping命令的输出吗?您可以使用ping www.google.com 并分享来自特定 EC2 实例的响应 它挂起,没有响应,我需要关闭 SSH 客户端 这很奇怪。您能否分享更多详细信息,例如 1)您使用的是什么实例类型。 2) 是否有任何弹性 IP/公共 IP/公共 DNS? (通过 AWS 管理控制台选择 EC2 实例后,您可以在“描述”部分看到这一点) 1) 实例类型是 EC2 上的 Ubuntu 64 位。尝试设置一个hadoop集群进行学习。 ** 2) 是的,它具有 IPv4 公共 IP 和公共 DNS (IPv4)。我应该创建一个弹性 IP 吗? **

以上是关于EC2 中的 Java 安装的主要内容,如果未能解决你的问题,请参考以下文章

由于 ec2 服务器中的 EnvironmentError 无法安装软件包

在 AWS 中的 SUSE Linux EC2 实例上安装 SSM 代理和角色确保启动

在私有子网中的EC2上安装Cloudwatch代理

AWS中的EC2实例上部署LAMP架构

没有这样的文件或目录:ec2实例中的var/www/html [关闭]

我在 Elastic Beanstalk EC2 中的 jar 在哪里