vagrantでの環境構築を少しでも自動化する。
Vagrantfileの編集で、各ノードをループを回さずにする。
理由は理解して記載するため。
下記を参照した。
vagrantの複数インスタンスをたてて遊んでみる - わすれっぽいきみえ
結構時間を食う。
とりあえず今動いているのを理解する方が早い。
Vagrant.configure("2") do |config| # The most common configuration options are documented and commented below. # For a complete reference, please see the online documentation at # https://docs.vagrantup.com. # Every Vagrant development environment requires a box. You can search for # boxes at https://vagrantcloud.com/search. config.vm.box = "cenos/7.0" (1..3).each do |no| name = "cassandra#{no}" config.vm.define name do |node| node.vm.provider "virtualbox" do |vm| vm.name = name vm.customize ["modifyvm", :id, "--memory", "2048"] end node.vm.box = "centos/7" node.vm.hostname = name node.vm.network "private_network", ip: "192.168.33.4#{no}" node.vm.provision "shell", inline: "sudo systemctl stop firewalld" node.vm.provision "shell", inline: "sudo systemctl disable firewalld" node.vm.provision "shell", inline: "sudo systemctl restart network" end end end
シェルスクリプトを作る。
ここからが本番。
とりあえずシェルを動かす。
[vagrant@cassa1 ~]$ ls cassa [vagrant@cassa1 ~]$ which bash /usr/bin/bash [vagrant@cassa1 ~]$ ./cassa -bash: ./cassa: Permission denied [vagrant@cassa1 ~]$ ls -l total 4 -rw-rw-r--. 1 vagrant vagrant 27 Nov 12 13:27 cassa [vagrant@cassa1 ~]$ chmod +x cassa [vagrant@cassa1 ~]$ ls -l total 4 -rwxrwxr-x. 1 vagrant vagrant 27 Nov 12 13:27 cassa [vagrant@cassa1 ~]$ ./cassa hello
cassandraをアップロード
解凍
とりあえず、シェルでダウンロードに成功
#!/usr/bin/bash curl -OL http://archive.apache.org/dist/cassandra/3.10/apache-cassandra-3.10-bin.tar.gz