If RainforestCluster is upgraded, you will need to copy the new version of:
rfcluster_remote.py to /etc/
rflib.py , __init__.py , and any remote plugins you are using to /etc/rfcluster_remote_plugins/
Simply follow the customization instructions above to save a new AMI with these changes.
If ThunderstormDistributor is upgraded, you will need to copy the new source code to ~/TSDistributor/
Then, run the compile_install.bash script under ~/TSDistributor-Release/
And copy all files from ~/TSDistributor/tsstatswww/ to /tsstatswww/ to update the stats viewer
If you want to create a new RainforestCluster AMI from scratch, for example to use a newer Linux version, etc. - then follow these instructions, starting from a template instance running on EC2:
Upload Necessary Files:
Remote scripts:
:::bash
scp -i ~/.ssh/your_amazon_ec2_key.pem rfcluster_remote.py ubuntu@ec2-XX-XX-XX-XX.compute-1.amazonaws.com:~/
scp -i ~/.ssh/your_amazon_ec2_key.pem rflib.py ubuntu@ec2-XX-XX-XX-XX.compute-1.amazonaws.com:~/
scp -i ~/.ssh/your_amazon_ec2_key.pem __init__.py ubuntu@ec2-XX-XX-XX-XX.compute-1.amazonaws.com:~/
To install ThunderstormDistributor, you will need to upload the source code to the instance: (also includes all stats viewer files)
:::bash
scp -i ~/.ssh/your_amazon_ec2_key.pem tsdistributor_....tar.gz ubuntu@ec2-XX-XX-XX-XX.compute-1.amazonaws.com:~/
Then run these commands, as root: (sudo su)
:::bash
apt-get update -y
apt-get upgrade -y
Keep the same grub configuration if asked
:::bash
apt-get install -y htop mdadm xfsprogs xfsdump build-essential sysbench iperf iotop
No configuration for postfix
:::bash
add-apt-repository ppa:w-rouesnel/openssh-hpn -y
add-apt-repository ppa:semiosis/ubuntu-glusterfs-3.4 -y
apt-add-repository ppa:ubuntu-sdk-team/ppa -y
apt-get update -y
apt-get upgrade -y
apt-get install -y glusterfs-server glusterfs-client python-dev nginx qt5-default qtdeclarative5-dev
echo -e '\n# SSH HPN Settings\nHPNDisabled no\nTcpRcvBufPoll yes\nHPNBufferSize 8192\n' >> /etc/ssh/sshd_config
service ssh restart
echo -e '\n127.0.0.1 RainforestCluster-Beta\n\n# Entries for this and other machines in the cluster (Do not delete or modify these lines!)\n#RainforestCluster Start#\n#RainforestCluster End#\n' >> /etc/hosts
chmod 755 rfcluster_remote.py rflib.py __init__.py
chown root:root rfcluster_remote.py rflib.py __init__.py
mv rfcluster_remote.py /etc/
mkdir /etc/rfcluster_remote_plugins
mv rflib.py __init__.py /etc/rfcluster_remote_plugins/
tar -xzf tsdistributor_....tar.gz
TSDistributor-Release/compile_install.bash
cd TSDistributor/
cp global.conf /etc/tsdistributor/
cp nginx_default /etc/nginx/sites-available/default
mkdir /tsstatswww
cp tsstatswww/* /tsstatswww/
cp scripts/* /usr/bin/
Optionally instead of the default install, you can also look at the ThunderstormDistributor install instructions for a custom install and/or configuration.