Hadoop-* 自动安装脚本

#!/bin/bash

#validate user or group
validate() {
 if [ 'id -u' == 0 ];then
   echo "must not be root!"
   exit 0
 else
   echo "---------welcome to hadoop---------"
 fi
}

#hadoop install
hd-dir() {
 if [ ! -d /home/hadoop/ ];then
   mkdir /home/hadoop/
 else
   echo "download hadoop will begin"
 fi
}

download-hd() {
 wget -c http://archive.apache.org/dist/hadoop/core/stable/hadoop-1.0.4.tar.gz -O /home/hadoop/hadoop-1.0.4.tar.gz
 tar -xzvf /home/hadoop/hadoop-1.0.4.tar.gz -C /home/hadoop
 rm /home/hadoop/hadoop-1.0.4.tar.gz
 Ln -s /home/hadoop/hadoop-1.0.4 /home/hadoop/hadoop1.0.4
}

#hadoop conf
hd-conf() {
 echo "export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-i386" >> /home/hadoop/hadoop1.0.4/conf/hadoop-env.sh
 echo "#set path jdk" >> /home/hadoop/.profile
 echo "export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-i386" >> /home/hadoop/.profile
 echo "#hadoop path" >> /home/hadoop/.profile
 echo "export HADOOP_HOME=/home/hadoop/hadoop1.0.4" >> /home/hadoop/.profile
 echo "PATH=$PATH:$HADOOP_HOME/bin:$JAVA_HOME/bin" >> /home/hadoop/.profile
 echo "HADOOP_HOME_WARN_SUPPRESS=1" >> /home/hadoop/.profile
#hadoop core-site.xml
 echo "<configuration>" >> /home/hadoop/hadoop1.0.4/conf/core-site.xml
 echo "<property>" >> /home/hadoop/hadoop1.0.4/conf/core-site.xml
 echo "<name>fs.default.name</name>" >> /home/hadoop/hadoop1.0.4/conf/core-site.xml
 echo "<value>hdfs://hadoop-master:9000" >> /home/hadoop/hadoop1.0.4/conf/core-site.xml
 echo "</property>" >> /home/hadoop/hadoop1.0.4/conf/core-site.xml
 echo "<property>" >> /home/hadoop/hadoop1.0.4/conf/core-site.xml
 echo "<name>hadoop.tmp.dir</name>" >> /home/hadoop/hadoop1.0.4/conf/core-site.xml
 echo "<value>/home/hadoop/tmp</value>" >> /home/hadoop/hadoop1.0.4/conf/core-site.xml
 echo "</property>" >> /home/hadoop/hadoop1.0.4/conf/core-site.xml
 echo "</configuration>" >> /home/hadoop/hadoop1.0.4/conf/core-site.xml
#hadoop hdfs-site.xml

 echo "<configuration>" >> /home/hadoop/hadoop1.0.4/conf/hdfs-site.xml
 echo "<property>" >> /home/hadoop/hadoop1.0.4/conf/hdfs-site.xml
 echo "<name>dfs.name.dir</name>" >> /home/hadoop/hadoop1.0.4/conf/hdfs-site.xml
 echo "<value>/home/hadoop/name</value>" >> /home/hadoop/hadoop1.0.4/conf/hdfs-site.xml
 echo "</property>" >> /home/hadoop/hadoop1.0.4/conf/hdfs-site.xml
 echo "<property>" >> /home/hadoop/hadoop1.0.4/conf/hdfs-site.xml
 echo "<name>dfs.data.dir</name>" >> /home/hadoop/hadoop1.0.4/conf/hdfs-site.xml
 echo "<value>/home/hadoop/data</value>" >> /home/hadoop/hadoop1.0.4/conf/hdfs-site.xml
 echo "</property>" >> /home/hadoop/hadoop1.0.4/conf/hdfs-site.xml
 echo "<property>" >> /home/hadoop/hadoop1.0.4/conf/hdfs-site.xml
 echo "<name>dfs.replication</name>" >> /home/hadoop/hadoop1.0.4/conf/hdfs-site.xml
 echo "<value>1</value>" >> /home/hadoop/hadoop1.0.4/conf/hdfs-site.xml
 echo "</property>" >> /home/hadoop/hadoop1.0.4/conf/hdfs-site.xml
 echo "</configuration>" >> /home/hadoop/hadoop1.0.4/conf/hdfs-site.xml
# hadoop mapred-site.xml

 echo "<configuration>" >> /home/hadoop/hadoop1.0.4/conf/mapred-site.xml
 echo "<property>" >> /home/hadoop/hadoop1.0.4/conf/mapred-site.xml
 echo "<name>mapred.job.tracker</name>" >> /home/hadoop/hadoop1.0.4/conf/mapred-site.xml
 echo "<value>hadoop-master:9001</value>" >> /home/hadoop/hadoop1.0.4/conf/mapred-site.xml
 echo "</property>" >> /home/hadoop/hadoop1.0.4/conf/mapred-site.xml
 echo "</configuration>" >> /home/hadoop/hadoop1.0.4/conf/mapred-site.xml
#hadoop master
 echo "hadoop-master" >> /home/hadoop/hadoop1.0.4/conf/masters

#hadoop slaves
 echo "hadoop-master" >> /home/hadoop/hadoop1.0.4/conf/slaves
source /home/hadoop/.profile
}

hd-start() {
hadoop namenode -format
}


yes-or-no() {
  echo "Is your name $* ?"
  while true
  do
     echo -n "Enter yes or no: "
     read x
     case "$x" in
     y | yes ) return 0;;
     n | no ) return 1;;
     * ) echo "Answer yes or no";;
   esac
  done
}

echo "Original params are $*"

if yes-or-no "$1"
then
  echo "HI $1,nice name!"
  validate
  hd-dir
  download-hd
  hd-conf
else
  echo "Never mind!"
fi


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值