在 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
查看擴展部分, 歡迎作貢獻!
若是你想部署桌面版,下載 virtualbox.
安裝 python >= 2.7, 而不是 python3.
你的Tachyon 倉庫 在 deploy/vagrant
目錄下,按照以下安裝Pathyon 依賴庫:
sudo bash bin/install.sh
若是出現錯誤,自行安裝 pip ,在當前目錄,運行(可能須要 sudo):
pip install -r pip-req.txt
切換到目錄 deploy/vagrant
, 運行:
./create 2 vb
爲 hadoop2.4.1 建立兩個節點的 Tachyon 集羣做爲底層文件系統。
當你第一次運行它的時候會有些慢,由於 virtualbox 鏡像須要安裝和保持以備後來使用。
可選項: 配置 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
:
配置目標部署平臺,像 virtualbox 的 vb.yml, WAS EC2 的 ec2.yml。
軟件配置,相似 tachyon.yml, spark.yml, ufs.yml(ufs 等同於 底層文件系統)
全部的配置文件使用 yaml 規則( yaml syntax.)
在他們本身文件中配置文件中詳細解釋了配置的含義。
若是你是 AWS EC2 新用戶,咱們建議你去理解 ec2.yml 註釋說明。
在配置文件 conf/vb.yml 增長 MachineMemory 值。
配置 conf/tachyon.yml 增長Worker 內存。
明確塊設備關聯( block device mapping)。
請在 conf/ec2.yml 參閱 Block_Device_Mapping 註釋說明。
明確塊設備關聯(Specify block device mapping.)
請參閱 conf/ec2.yml 關於 Block_Device_Mapping 的註釋說明。
請選擇最適合你需求的實例類型(instance types)。
除非你經過塊設備關聯(block device mapping)明確這個擴展 SSD磁盤不然不會被使用。
請在 conf/ec2.yml 參閱 Block_Device_Mapping 註釋說明。
首先,從固然root設備遷移數據到更大的 EBS數據卷,附加大的數據卷做爲root 設備,參閱: how to expand ebs volume.
其次,使用整個磁盤分區給新的 root 設備,參閱: how to expand partition.
請參閱官網AWS文檔。(Please refer to official AWS documentation.)