firmament-bash
Version:
Firmament module for interpreting commands in JSON files using bash
404 lines (402 loc) • 16.3 kB
JSON
{
"description" : "Install Hadoop 2.6.5 on Ubuntu 16.04 (single-node cluster)",
"options" : {
"displayExecutionGraphDescription": true
},
"asynchronousCommands" : [
],
"serialSynchronizedCommands": [
{
"description" : "[sudo] apt-get update",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : true,
"command" : "apt-get",
"args" : [
"update",
"-y"
]
},
{
"description" : "[sudo] Install JDK",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : true,
"command" : "apt-get",
"args" : [
"install",
"default-jdk",
"-y"
]
},
{
"description" : "[sudo] addgroup hadoop",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : true,
"command" : "addgroup",
"args" : [
"hadoop"
]
},
{
"description" : "[sudo] useradd hduser -s /bin/bash -m -g hadoop",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : true,
"command" : "/usr/bin/env",
"args" : [
"bash",
"-c",
"useradd -m -p `perl -e 'printf(\"%s\n\", crypt(\"password\",\"password\"))'` -s /bin/bash hduser -g hadoop"
]
},
{
"description" : "[sudo] apt-get install ssh (probably unnecessary)",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : true,
"command" : "apt-get",
"args" : [
"install",
"ssh",
"-y"
]
},
{
"description" : "[sudo] ssh-keygen",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S --user=hduser ssh-keygen -t rsa -N \"\" -f /home/hduser/.ssh/id_rsa"
]
},
{
"description" : "[sudo] cat id_rsa.pub >> authorized_keys",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : true,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S --user=hduser cat /home/hduser/.ssh/id_rsa.pub >> /home/hduser/.ssh/authorized_keys"
]
},
{
"description" : "[sudo] mkdir -p /usr/local/hadoop",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S -- bash -c 'mkdir -p /usr/local/hadoop && chown hduser.hadoop /usr/local/hadoop'"
]
},
{
"description" : "[sudo] curl hadoop.tar.gz | tar xvf",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo --user=hduser -S -- bash -c 'curl http://mirrors.sonic.net/apache/hadoop/common/hadoop-2.6.5/hadoop-2.6.5.tar.gz | tar xz --strip-components=1 -C /usr/local/hadoop'"
]
},
{
"description" : "[sudo] adduser hduser sudo",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S -- bash -c 'adduser hduser sudo'"
]
},
{
"description" : "[sudo] Update /home/hduser/.profile (Step 0)",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S --user=hduser -- bash -c 'echo \\#HADOOP VARIABLES START >> /home/hduser/.profile'"
]
},
{
"description" : "[sudo] Update /home/hduser/.profile (Step 1)",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S --user=hduser -- bash -c 'export J_H=`which java` && export J_H2=`readlink -f ${J_H}` && echo export JAVA_HOME=${J_H2%/jre/bin/java} >> /home/hduser/.profile'"
]
},
{
"description" : "[sudo] Update /home/hduser/.profile (Step 2)",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S --user=hduser -- bash -c 'echo export HADOOP_INSTALL=/usr/local/hadoop >> /home/hduser/.profile'"
]
},
{
"description" : "[sudo] Update /home/hduser/.profile (Step 3)",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S --user=hduser -- bash -c 'echo export PATH=\\$PATH:\\$HADOOP_INSTALL/bin:\\$HADOOP_INSTALL/sbin >> /home/hduser/.profile'"
]
},
{
"description" : "[sudo] Update /home/hduser/.profile (Step 4)",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S --user=hduser -- bash -c 'echo export HADOOP_MAPRED_HOME=\\$HADOOP_INSTALL >> /home/hduser/.profile'"
]
},
{
"description" : "[sudo] Update /home/hduser/.profile (Step 5)",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S --user=hduser -- bash -c 'echo export HADOOP_COMMON_HOME=\\$HADOOP_INSTALL >> /home/hduser/.profile'"
]
},
{
"description" : "[sudo] Update /home/hduser/.profile (Step 6)",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S --user=hduser -- bash -c 'echo export HADOOP_HDFS_HOME=\\$HADOOP_INSTALL >> /home/hduser/.profile'"
]
},
{
"description" : "[sudo] Update /home/hduser/.profile (Step 7)",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S --user=hduser -- bash -c 'echo export YARN_HOME=\\$HADOOP_INSTALL >> /home/hduser/.profile'"
]
},
{
"description" : "[sudo] Update /home/hduser/.profile (Step 8)",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S --user=hduser -- bash -c 'echo export HADOOP_COMMON_LIB_NATIVE_DIR=\\$HADOOP_INSTALL/lib/native >> /home/hduser/.profile'"
]
},
{
"description" : "[sudo] Update /home/hduser/.profile (Step 9)",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S --user=hduser -- bash -c 'echo export HADOOP_OPTS=\\\"-Djava.library.path=\\$HADOOP_INSTALL/lib\\\" >> /home/hduser/.profile'"
]
},
{
"description" : "[sudo] Update /home/hduser/.profile (Step 10)",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S --user=hduser -- bash -c 'echo \\#HADOOP VARIABLES END >> /home/hduser/.profile'"
]
},
{
"description" : "[sudo] Update /usr/local/hadoop/hadoop-env.sh with JAVA_HOME",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S --user=hduser -- bash -c 'export J_H=`which java` && export J_H2=`readlink -f ${J_H}` && echo export JAVA_HOME=${J_H2%/jre/bin/java} >> /usr/local/hadoop/etc/hadoop/hadoop-env.sh'"
]
},
{
"description" : "[sudo] Update /usr/local/hadoop/hadoop-env.sh with JAVA_HOME",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S --user=hduser -- bash -c 'export J_H=`which java` && export J_H2=`readlink -f ${J_H}` && echo export JAVA_HOME=${J_H2%/jre/bin/java} >> /usr/local/hadoop/etc/hadoop/hadoop-env.sh'"
]
},
{
"description" : "[sudo] mkdir -p /app/hadoop/tmp",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S -- bash -c 'mkdir -p /app/hadoop/tmp && chown hduser.hadoop /app/hadoop/tmp'"
]
},
{
"description" : "[sudo] wget core-site.xml",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S -- bash -c 'wget -O /usr/local/hadoop/etc/hadoop/core-site.xml https://raw.githubusercontent.com/jreeme/firmament-bash/master/command-json/hadoop-config/core-site.xml'"
]
},
{
"description" : "[sudo] wget mapred-site.xml",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S -- bash -c 'wget -O /usr/local/hadoop/etc/hadoop/mapred-site.xml https://raw.githubusercontent.com/jreeme/firmament-bash/master/command-json/hadoop-config/mapred-site.xml'"
]
},
{
"description" : "[sudo] mkdir -p /usr/local/hadoop_store/hdfs.namenode",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S -- bash -c 'mkdir -p /usr/local/hadoop_store/hdfs/namenode'"
]
},
{
"description" : "[sudo] mkdir -p /usr/local/hadoop_store/hdfs.datanode",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S -- bash -c 'mkdir -p /usr/local/hadoop_store/hdfs/datanode && chown -R hduser.hadoop /usr/local/hadoop_store'"
]
},
{
"description" : "[sudo] wget hdfs-site.xml",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S -- bash -c 'wget -O /usr/local/hadoop/etc/hadoop/hdfs-site.xml https://raw.githubusercontent.com/jreeme/firmament-bash/master/command-json/hadoop-config/hdfs-site.xml'"
]
},
{
"description" : "[sudo] hadoop namenode -format",
"suppressOutput" : false,
"suppressDiagnostics": true,
"showPreAndPostSpawnMessages": true,
"outputColor" : "",
"useSudo" : false,
"command" : "bash",
"args" : [
"-c",
"echo password | sudo -S -i -u hduser bash -c 'hadoop namenode -format'"
]
}
]
}