python - 如何在新的 Ubuntu 实例上安装 Hadoop 和 Pydoop

标签 python ubuntu hadoop amazon-web-services

我看到的大多数设置说明都很冗长。是否有一组类似脚本的命令,我们只需执行这些命令即可在 Amazon EC2 上的 Ubuntu 实例上设置 Hadoop 和 Pydoop?

最佳答案

另一种解决方案是使用 Juju(Ubuntu 的服务编排框架)。

首先在您的标准计算机上安装 Juju 客户端:

sudo add-apt-repository ppa:juju/stable
sudo apt-get update && sudo apt-get install juju-core

(也提供了 MacOS 和 Windows 的说明 here )

然后生成配置文件

juju generate-config

并使用您首选的云凭证(AWS、Azure、GCE...)对其进行修改。根据 m3.medium 的命名,我假设您使用 AWS,因此请遵循 these instructions

注意:以上只需要做一次。

现在启动

 juju bootstrap amazon

像网站上提供的演示一样部署 GUI(可选)

juju deploy --to 0 juju-gui && juju expose juju-gui

您将找到 GUI 的 URL 和密码:

juju api-endpoints | cut -f1 -d":"
cat ~/.juju/environments/amazon.jenv | grep pass

请注意,上述步骤是任何 Juju 部署的初步步骤,每次您想要旋转环境时都可以重复使用。

现在介绍您的 Hadoop 用例。您有多种选择。

  1. 只需部署1个Hadoop节点

    juju deploy --constraints "cpu-cores=2 mem=4G root-disk=20G" hadoop
    

您可以使用

跟踪部署
juju debug-log

并获取有关新实例的信息

juju status

这是部署 Hadoop 所需的唯一命令(您可以将 Juju 视为复杂系统的 apt 的演变)

  1. 使用 HDFS 和 MapReduce 部署一个包含 3 个节点的集群

    juju deploy hadoop hadoop-master
    juju deploy hadoop hadoop-slavecluster
    juju add-unit -n 2 hadoop-slavecluster
    juju add-relation hadoop-master:namenode hadoop-slavecluster:datanode
    juju add-relation hadoop-master:resourcemanager hadoop-slavecluster:nodemanager
    
  2. 横向扩展使用(单独的 HDFS 和 MapReduce,实验性的)

    juju deploy hadoop hdfs-namenode
    juju deploy hadoop hdfs-datacluster
    juju add-unit -n 2 hdfs-datacluster
    juju add-relation hdfs-namenode:namenode hdfs-datacluster:datanode
    juju deploy hadoop mapred-resourcemanager
    juju deploy hadoop mapred-taskcluster
    juju add-unit -n 2 mapred-taskcluster
    juju add-relation mapred-resourcemanager:mapred-namenode hdfs-namenode:namenode
    juju add-relation mapred-taskcluster:mapred-namenode hdfs-namenode:namenode
    juju add-relation mapred-resourcemanager:resourcemanager mapred-taskcluster:nodemanager
    

对于 Pydoop,您必须像第一个答案一样手动部署它(您可以通过“juju ssh”访问 Juju 实例),或者您可以编写一个“charm”(一种让 Juju 学习如何部署 pydoop)。

关于python - 如何在新的 Ubuntu 实例上安装 Hadoop 和 Pydoop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29588595/

相关文章:

python - 删除模块以清理命名空间?

python - 无法在终端中使用 sort 命令对 txt 文件中的数据进行排序

hadoop - 在 docker 容器上的 zeppelin 中运行 spark 时找不到 lzo

hadoop - 如何找到自动终止的 hive mapreduce 作业的原因

python - 挂起当前函数直到对话框关闭

python - 当满足某些条件时如何执行另一个python程序?

mysql - 如何从 Ubuntu 终端读取一组字符串并将该值插入 MySQL

ruby-on-rails - 我使用 Nginx 在 Ubuntu 上运行的 VPS 崩溃了,无法再次运行

java - Hadoop 程序在 "java -jar"上运行良好,但在 "hadoop jar"下运行良好

python - 如何使用 Python 控制 Google Hangouts?