Hadoop + Amazon EC2 –更新的教程

在Hadoop的Wiki页面上放置了一个旧教程: http : //wiki.apache.org/hadoop/AmazonEC2 ,但是最近我不得不遵循本教程,并且我注意到它没有涵盖某些Amazon新功能。

建议您已经熟悉Hadoop的基础来遵循本教程,可以在Hadoop的主页http://hadoop.apache.org/上找到非常有用的“如何开始”教程。 另外,您必须至少熟悉Amazon EC2内部和实例定义。

当您在Amazon AWS上注册帐户时,您可以运行750小时
t1.micro实例,但不幸的是,您无法在此类计算机上成功运行Hadoop。

在以下步骤中,当命令以$开头时,意味着应在本地计算机中执行该命令,并在#EC2实例中以#命令执行该命令。

创建一个X.509证书

由于我们将使用ec2-tools,因此我们在AWS的帐户需要有效的X.509证书:

    • 创建.ec2文件夹:
$ mkdir ~/.ec2
    • 在AWS上登录
      • 选择“安全证书”,然后在“访问证书”上单击“ X.509证书”;
      • 您有两种选择:
        • 使用命令行创建证书:
$ cd ~/.ec2; openssl genrsa -des3 -out my-pk.pem 2048
$ openssl rsa -in my-pk.pem -out my-pk-unencrypt.pem
$ openssl req -new -x509 -key my-pk.pem -out my-cert.pem -days 1095
        • 仅在您的机器日期确定的情况下才有效。
      • 使用该站点创建证书并下载私钥(请记住将其放在〜/ .ec2中)。


设置Amazon EC2-Tools

    • 下载并解压缩ec2-tools;
    • 编辑〜/ .profile以导出ec2-tools所需的所有变量,因此您不必在每次打开提示时都这样做:
      • 以下是应附加到〜/ .profile文件的示例:
        • 导出JAVA_HOME = / usr / lib / jvm / java-6-sun
        • 出口EC2_HOME =〜/ ec2-api-tools- *
        • 导出PATH = $ PATH:$ EC2_HOME / bin
        • 出口EC2_CERT =〜/ .ec2 / my-cert.pem
      • 要访问实例,您需要进行身份验证(出于安全方面的明显原因),通过这种方式,您必须创建密钥对(公共密钥和私有密钥):
        • 在https://console.aws.amazon.com/ec2/home上,单击“密钥对”,或
        • 您可以运行以下命令:
$ ec2-add-keypair my-keypair | grep –v KEYPAIR > ~/.ec2/id_rsa-keypair
$ chmod 600 ~/.ec2/id_rsa-keypair


设置Hadoop

下载并解压缩Hadoop后,您必须编辑src / contrib / ec2 / bin / hadoop-ec2-env.sh中提供的EC2配置脚本。

  • AWS变量
    • 这些变量与您的AWS账户(AWS_ACCOUNT_ID,AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY)相关,可以在登录到您的账户的安全凭证中找到它们;
  • 安全变量
    • 安全变量(EC2_KEYDIR,KEY_NAME,PRIVATE_KEY_PATH)是与EC2实例的启动和访问相关的变量。
    • 选择一个AMI
      • 根据要运行的Hadoop版本(HADOOP_VERSION)和实例类型(INSTANCE_TYPE),应使用正确的映像来部署实例:
      • 您可以使用许多公共AMI图像(它们必须满足大多数用户的需求)来列出,键入
$ ec2-describe-images -x all | grep hadoop
    • 或者,您可以构建自己的映像,然后将其上传到Amazon S3存储桶;
    • 选择您要使用的AMI之后,基本上可以在hadoop-ec2-env.sh上编辑三个变量:
      • S3_BUCKET:将要使用的图像(例如hadoop-images)放置在存储桶中,
      • ARCH:您选择的AMI映像(i386或x84_64)的体系结构,以及
      • BASE_AMI_IMAGE:映射AMI图像的唯一代码,例如ami-2b5fba42。
    • 其他可配置变量是JAVA_VERSION,您可以在其中定义将与实例一起安装的版本:
      • 您还可以提供二进制文件(JAVA_BINARY_URL)所在的链接,例如,如果您有JAVA_VERSION = 1.6.0_29,则可以使用JAVA_BINARY_URL = http://download.oracle.com/otn-pub/java/ jdk / 6u29-b11 / jdk-6u29-linux-i586.bin。


跑步!

    • 您可以将src / contrib / ec2 / bin的内容添加到PATH变量中,以便能够从打开提示的位置运行独立的命令;
    • 要启动EC2集群并启动Hadoop,请使用以下命令。 参数是集群名称(hadoop-test)和从站数(2)。 群集启动时,公共DNS名称将打印到控制台。
$ hadoop-ec2 launch-cluster hadoop-test 2
    • 要从“集群”登录到主节点,请输入:
$ hadoop-ec2 login hadoop-test
    • 登录到主节点后,便可以开始作业:
      • 例如,要测试您的集群,您可以运行hadoop * -examples.jar已提供的pi计算:
# cd /usr/local/hadoop-*
# bin/hadoop jar hadoop-*-examples.jar pi 10 10000000
    • 您可以在http:// MASTER_HOST:50030 /上查看工作进度。 其中MASTER_HOST是群集启动后返回的主机名。
    • 工作完成后,群集仍处于活动状态。 要关闭,请使用以下命令:
$ hadoop-ec2 terminate-cluster hadoop-test
    • 请记住,在Amazon EC2中,实例是按小时计费的,因此,如果您只想进行测试,则可以在集群上再玩几分钟。


参考: Hadoop + Amazon EC2 –我们的JCG合作伙伴 Rodrigo Duarte在Thinking Bigger博客上的更新教程

翻译自: https://www.javacodegeeks.com/2012/11/hadoop-amazon-ec2-an-updated-tutorial.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值