模塊部署(譯)

模塊部署

概述

在 Tachyon 源代碼樹中, deploy/vagrant 目錄包含一些工具能夠協助你在 AWS EC2 或 virtualbox 搭建 Tachyon集羣。html

 In Tachyon source tree, deploy/vagrant directory contains utilities to help you set up a Tachyon cluster on AWS EC2 or virtualbox.python

除了 Tachyon,你能夠選擇不一樣的計算框架從下面列表的底層文件系統中:git

  • 計算框架github

    • Sparkweb

  • 底層文件系統shell

    • Hadoop1瀏覽器

    • Hadoop2 (包括 Apache 和 CDH)安全

    • GlusterFSbash

    • AWS S3網絡

後期新框架和文件系統將會增長,具體請在 deploy/vagrant/README.md 查看擴展部分, 歡迎作貢獻!

前提

下載 vagrant.

若是你想部署桌面版,下載 virtualbox.

安裝 python >= 2.7, 而不是 python3.

你的Tachyon 倉庫 在 deploy/vagrant 目錄下,按照以下安裝Pathyon 依賴庫: 

sudo bash bin/install.sh

若是出現錯誤,自行安裝 pip ,在當前目錄,運行(可能須要 sudo):

pip install -r pip-req.txt

快速上手 VirtualBox

切換到目錄 deploy/vagrant, 運行:

./create 2 vb

爲 hadoop2.4.1 建立兩個節點的 Tachyon 集羣做爲底層文件系統

當你第一次運行它的時候會有些慢,由於 virtualbox 鏡像須要安裝和保持以備後來使用。

快速上手 AWS EC2

可選項: 配置 AWS CLI 或許有用。

登陸 AWS 帳戶Sign up訪問 EC2。

設置shell 環境變量 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY,參考 this doc 查看詳細說明。

下載 key pair。 必定要修改 ssh 私鑰權限爲 0600。

將命名密鑰對Keypair 和 Key_Path 的權限鍵路徑配置到conf/ec2.yml 。

安裝 aws vagrant 插件 (當前, version 0.5.0 是測試版):

vagrant plugin install vagrant-aws
vagrant box add dummy https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box

默認,你不須要在Region(us-east-1) and Availability Zone(us-east-1a) 命名 tachyon-vagrant-test 的 Security Group。Security Group 在必定範圍內自動設置全部入站/出站網絡流量。若是你知道你在作什麼,你能夠修改安全組、權限和可用區域在 conf/ec2.yml 配置文件中。你不須要配置那些屬性值,默認就好。

Tachyon 集羣集合 hadoop2.4.1做爲底層文件系統將在 us-east-1a 配置下運行。

./create <number of machines> aws

能夠經過 AWS web console 監控實例運行狀態。

集羣配置

當命令 ./create <number of machines> aws 執行成功,Shell 輸出以下兩個紫色內容。

>>> TachyonMaster public IP is xxx <<<
>>> visit default port of the web UI of what you deployed <<<

Tachyon web UI 默認端口是:19999。

Hadoop Web UI 默認端口是:50070。

訪問 http://{MASTER_IP}:{PORT} 在瀏覽器中,你能夠看到Web UI。

這些節點設置命名爲 TachyonMaster TachyonWorker1,TachyonWorker2 等。

經過 ssh 登陸到節點,運行:

vagrant ssh {NODE_NAME}

經過 ssh 連接到  TachyonMaster:

vagrant ssh TachyonMaster

你應該進入 TachyonMaster 節點,全部的軟件安裝在 root 目錄下。Tachyon 安裝在 /tachyon, Hadoop 安裝在 /hadoop。

再次運行測試 Tachyon:

/tachyon/bin/tachyon runTests

測試所有經過後,再次訪問 Tachyon Web UI:http://{MASTER_IP}:19999 ,在導航欄瀏覽文件系統,你應該能看到文件寫入 Tachyon 的測試。

提供的工具腳本中TachyonMaster 節點 ~/vagrant-utils 的目錄下。

運行:

~/vagrant-utils/copy-dir <path>

在 TachyonMaster 節點分發文件或目錄到全部的 Worker 節點經過給定的 <path>。例如:在 TachyonMaster 節點修改一些配置後,你要使用這個腳本更新配置到全部 Worker節點。

運行:

~/vagrant-utils/copy-dir --delete <path>

以給定的 <path> 在全部的 worker 節點刪除文件或目錄。

運行:

~/vagrant-utils/remount <source directory> <destination directory>

在全部節點從當前掛載點 <source directory> 卸載設備從新掛載到另外的掛載點<destination directory>。

在 TachyonMaster 節點,能夠經過 ssh 登陸任何節點不輸入密碼:

ssh TachyonWorker1

在你本機 deploy/vagrant 目錄下, 運行:

./destroy

銷燬你剛纔建立的集羣,每次只能建立一個集羣。命令執行成功後,virtualbox 虛擬機將從EC2被移除,實例將終止。

配置

在conf 下有兩種不一樣的配置文件:There are two kinds of configuration files under conf:

  1. 配置目標部署平臺,像 virtualbox 的 vb.yml, WAS EC2 的 ec2.yml。

  2. 軟件配置,相似 tachyon.yml, spark.yml, ufs.yml(ufs 等同於 底層文件系統)

全部的配置文件使用 yaml 規則( yaml syntax.)

在他們本身文件中配置文件中詳細解釋了配置的含義。

若是你是 AWS EC2 新用戶,咱們建議你去理解 ec2.yml 註釋說明。

FAQ

如何增長 virtualbox 虛擬機內存大小?

在配置文件 conf/vb.yml 增長 MachineMemory 值。

如何增長 Tachyon worker 內存?

配置 conf/tachyon.yml 增長Worker 內存

如何在 AWS 中擴展 HDFS 容量?

明確塊設備關聯( block device mapping)。

請在 conf/ec2.yml 參閱 Block_Device_Mapping 註釋說明。

如何在AWS 使用 EBS ?

明確塊設備關聯(Specify block device mapping.)

請參閱 conf/ec2.yml 關於 Block_Device_Mapping 的註釋說明。

我應該使用什麼樣的 EC2 實例 ?

請選擇最適合你需求的實例類型(instance types)

EC2實例須要有 60GB SSD硬盤,可是 df -h 表示root 只有10GB,60GB SSD去了哪裏?

除非你經過塊設備關聯(block device mapping明確這個擴展 SSD磁盤不然不會被使用。 

請在 conf/ec2.yml 參閱 Block_Device_Mapping 註釋說明。

如何增長 root 設備空間?

首先,從固然root設備遷移數據到更大的 EBS數據卷,附加大的數據卷做爲root 設備,參閱: how to expand ebs volume.

其次,使用整個磁盤分區給新的 root 設備,參閱: how to expand partition.

什麼是 PV/HVM?

請參閱官網AWS文檔。(Please refer to official AWS documentation.)

相關文章
相關標籤/搜索