需要:
1. 下载Virtualbox, Vagrant
2. 下载vagrant的centos-7.0-x86_64.box ,一般国内访问速度很慢,建议上vpn
把vbox加进vagrant:
vagrant box add my-box /path/to/centos-7.0-x86_64.box
3)、从GitHub上Clone ambari的ambari-vagrant到/opt/目录下,在终端执行:
git clone https:
//github.com/u39kun/ambari-vagrant.git
4)、增加虚拟机的hosts配置到宿主机的/etc/hosts中
cat ambari-vagrant/append-to-etc-hosts.txt >> /etc/hosts
5)、使用vagrant命令创建一个私钥
vagrant
此命令会在宿主机的~/.vagrant.d/目录下创建insecure_private_key文件,并显示出vagrant的用法。
2、安装虚拟机
1)、在/opt目录下执行
cd ambari-vagrant
cd centos7.0
cp ~/.vagrant.d/insecure_private_key . #此操作为宿主机到虚拟机的无密码登录
2)、修改centos7.0目录下的Vagrantfile文件里设置的虚拟机内存大小
config.vm.box = "my-box"
vb.customize ["modifyvm", :id, "--memory", 1024] # RAM allocated to each VM
3)、通过目录下./up.sh命令来启动1或多个虚拟机。每个虚拟机将运行一个hadoop节点。
./up.sh <# of VMs to launch>
比如要启动5个虚拟机,则命令为:./up.sh 5
至此我们的工具和虚拟机都已经安装完成,并且宿主机ssh到各个虚拟机都是无密码连接。
说明:此种安装工具和虚拟机的过程需要vpn.
3、无密码登录
1)在宿主机终端/opt/ambari-vagrant/centos7.0目录执行
vagrant ssh c7001 # 默认密码是vagrant
登录到c7001,然后执行
ssh-keygen -t rsa
在~/.ssh/目录中生成两个文件id_rsa和id_rsa.pub
如果想从c7001免密码登录到c7002、c7003、c7004、c7005中要在c7001中执行
ssh-copy-id -i ~/.ssh/id_rsa.pub vagrant@c7001
ssh-copy-id -i ~/.ssh/id_rsa.pub vagrant@c7002
ssh-copy-id -i ~/.ssh/id_rsa.pub vagrant@c7003
ssh-copy-id -i ~/.ssh/id_rsa.pub vagrant@c7004
ssh-copy-id -i ~/.ssh/id_rsa.pub vagrant@c7005
输入密码: vagrant, 实现c7001、c7002、c7003、c7004、c7005任意之间的无密码登录,重复上述步骤。