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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371079.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371079.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371079.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

oracle11g 修改字符集 修改為ZHS16GBK

轉:http://www.cnblogs.com/jay-xu33/p/5210098.html oracle11g 修改字符集 修改為ZHS16GBK1.cmd下,cd到oracle數據庫軟件的服務器端 如:D:\app\Administrator\product\11.2.0\dbhome_1\BIN 2.輸入set ORACLE_SID你想進入的數據庫的那個sid 3.輸入 sqlpl…

瀏覽器內核

瀏覽器的四大內核: Trident,Gecko,Webkit,Blink。 不同的內核對網頁編寫語法的解釋也有不同,進而導致同一個頁面在不同內核的瀏覽器下顯示出來的效果也會有所出入,這也是作為一個前端工程師需要了解不同瀏…

2017.4.14 Java String.split()用法小結

在java.lang包中有String.split()方法,返回是一個數組 我在應用中用到一些,給大家總結一下,僅供大家參考: 1、如果用“.”作為分隔的話,必須是如下寫法,String.split("\\."),這樣才能正確的分隔開,不能用String.split("."); 2、如果用“|”作為分隔的話,必…

java線程統一_Java線程結果不一致

我有一個實現可運行的線程類和一個int計數器作為實例變量。兩種同步方法add和sub。當我以某種方式運行測試類時,它幾次會輸出錯誤的結果。據我了解,當方法同步時,整個對象將被鎖定以供其他線程訪問,這種邏輯每次我們都應該獲得相同…

markdown-Macdown

#標題 [頁面錨點](#name) > <a name"name"></a>文字 **加粗**(Command-B) *斜體*(Command-I) * * * 或者 - -- 無序列表 1. 2. 3. 有序列表 、、、 代碼段 、、、 或者用 ~ 代替 或者 上下空一行每行縮進4個空格 <http://www.baidu.com>鏈…

什么是web標準??

web標準 不是某一個標準&#xff0c;而是一系列標準的集合。網頁主要由三部分組成&#xff1a;結構&#xff08;Structure&#xff09;、表現&#xff08;Presentation&#xff09;和行為&#xff08;Behavior&#xff09;。對應的標準也分三方面&#xff1a;結構化標準語言主…

有沒有更好的Marker方法?

自Java 1.5推出以來&#xff0c;就是否在Java中使用Marker接口進行了廣泛的討論和辯論。 這是因為Java 1.5引入了注釋功能&#xff0c;這些功能幾乎可以解決Marker接口的目的。 本文將涵蓋這場辯論的一個有趣的部分。 定義&#xff1a; Java中的標記接口是一個空接口&#xff…

php jquery ajax登錄,jQuery+Ajax+PHP彈出層異步登錄效果(附源碼下載)

彈出層主要用于展示豐富的頁面信息&#xff0c;還有一個更好的應用是彈出表單層豐富交互應用。常見的應用有彈出登錄表單層&#xff0c;用戶提交登錄信息&#xff0c;后臺驗證登錄成功后&#xff0c;彈出層消失&#xff0c;主頁面局部刷新用戶信息。本文我們將給大家介紹如何使…

【CPU】解決打開360或者Chrome瀏覽器CPU占用過高

cmd 運行&#xff1a; RD /s /q "%USERPROFILE%\AppData\Roaming\Microsoft\Protect"轉載于:https://www.cnblogs.com/zwqh/p/6708398.html

# 20155337 2017-2018-1 《信息安全系統設計基礎》第二周課堂實踐+myod

20155337 2017-2018-1 《信息安全系統設計基礎》第二周課堂實踐myod 因為在課上已經提交了四個實驗&#xff0c;還欠缺最后一個實驗&#xff0c;反省一下自己還是操作不熟練&#xff0c;平時在課下應該多多練習linux的命令訓練。 實踐一 每個* .c一個文件&#xff0c;每個*.h一…

css盒模型中margin很牛逼

css盒子模型&#xff0c;說簡單也簡單&#xff0c;用的時候也有不簡單的。 其中margin的值可以為負值&#xff0c;并且為了實現margin&#xff0c;忽略父級的padding、border、甚至定位。這在布局上很有用&#xff0c;要注意。 ------------ 比如&#xff0c;div1&#xff0…

CometD:Java Web應用程序的Facebook類似聊天

聊天就像吃一塊蛋糕或喝一杯熱咖啡一樣容易。 您是否曾經考慮過自己開發聊天程序&#xff1f; 您知道&#xff0c;聊天不容易。 但是&#xff0c;如果您是開發人員&#xff0c;并且閱讀了本文的結尾&#xff0c;則可以嘗試自己開發一個聊天應用程序&#xff0c;并允許您的用戶通…

怎么用PHP建立購物網站,如何使用PHP建設一個購物網站

本系統以PHP為主要制作工具&#xff0c;實現了用戶注冊、登錄、驗證身份及用戶數據的采集、物品的預覽查詢、搜索/查看物品信息&#xff0c;站內最新物品信息發布&#xff0c;可進入在線下單從而實現了網絡銷售。網上購物&#xff0c;這個逐漸流行于二十世紀的購物方式已經為越…

團隊作業2——需求分析原型設計

需求分析&#xff1a; 軟件的最終目的是用來解決用戶的某些問題&#xff0c;需求分析就是要理解要解決的問題&#xff0c;真正明確用戶需求。請發表一篇隨筆&#xff0c;完成初步的需求分析&#xff1a; 1.訪問軟件項目的真實用戶&#xff08;至少10個&#xff09;&#xff0c;…

給div命名,使邏輯更加清晰

我們把一些標簽放進<div>里&#xff0c;劃分出一個獨立的邏輯部分。為了使邏輯更加清晰&#xff0c;我們可以為這一個獨立的邏輯部分設置一個名稱&#xff0c;用id屬性來為<div>提供唯一的名稱&#xff0c;這個就像我們每個人都有一個身份證號&#xff0c;這個身份…

css邊框顏色漸變

在實際開發中&#xff0c;我們經常遇見邊框需要背景漸變的實現要求&#xff0c;那么如何去實現呢&#xff0c;今天給大家分享依稀幾種情況 1.直角的背景漸變 <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><meta…

ActiveMQ:了解內存使用情況

正如最近的一些郵件列表電子郵件和從Google返回的許多信息所表明的那樣&#xff0c;ActiveMQ的SystemUsage尤其是MemoryUsage功能使一些人感到困惑。 我將嘗試解釋有關MemoryUsage的一些細節&#xff0c;這些細節可能有助于理解它的工作方式。 我將不介紹StoreUsage和TempUsage…

php設置排序,7種php基本排序實現方法

本文總結了一下常用的7種排序方法&#xff0c;并用php語言實現。1、直接插入排序/** 直接插入排序,插入排序的思想是&#xff1a;當前插入位置之前的元素有序&#xff0c;* 若插入當前位置的元素比有序元素最后一個元素大&#xff0c;則什么也不做&#xff0c;* 否則在有序序列…

170406、用uid分庫,uname(用戶名)上的查詢怎么辦

【緣起】 用戶中心是幾乎每一個公司必備的基礎服務&#xff0c;用戶注冊、登錄、信息查詢與修改都離不開用戶中心。 當數據量越來越大時&#xff0c;需要多用戶中心進行水平切分。最常見的水平切分方式&#xff0c;按照uid取模分庫&#xff1a; 通過uid取模&#xff0c;將數據分…

bzoj2144: 跳跳棋(二分/倍增)

思維好題&#xff01; 可以發現如果中間的點要跳到兩邊有兩種情況&#xff0c;兩邊的點要跳到中間最多只有一種情況。 我們用一個節點表示一種狀態&#xff0c;那么兩邊跳到中間的狀態就是當前點的父親&#xff0c;中間的點跳到兩邊的狀態就是這個點的兩個兒子&#xff0c;從而…