在 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.)