栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

自动安装JDK、HADOOP、ZOOKEEPER、HIVE的shell脚本

自动安装JDK、HADOOP、ZOOKEEPER、HIVE的shell脚本

 看脚本需要注意的地方是用【" "】双引号括起来的字段一般是带有$某个东西的,例如$hostname,需要

取值的一般都用""不然会出错,如果不想取值,直接保留$hostname的时候,就用【''】单引号

#!/bin/bash

#设置触发条件
jdk=true
hadoop=true
zookeeper=true
hive=true

#定义主机名
hostname=`hostname`

#定义用户名
whoami=`whoami`

#定义一个安装目录,如果不存在就创建
installdir=/opt/soft
if [ ! -d "$installdir" ]; then
  mkdir $installdir
fi

#安装jdk
if [ "$jdk=true" = true ]; then
    echo "--安装java jdk--"
#解压缩到soft下
    tar -zxf /opt/install/jdk-8u111-linux-x64.tar.gz -C /opt/soft/
#将解压缩的文件重命名,这一步可省略,看个人情况
    mv /opt/soft/jdk1.8.0_111 /opt/soft/jdk180
#编写配置文件
    echo "#jdk" >> /etc/profile
    echo 'export JAVA_HOME=/opt/soft/jdk180' >> /etc/profile
    echo 'export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >>
    /etc/profile
    echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
fi

#安装hadoop
if [ "$hadoop" = true ];then
    echo "--安装hadoop--"
#解压缩
    tar -zxf /opt/install/hadoop-2.6.0-cdh5.14.2.tar.gz -C /opt/soft/
#重命名
    mv /opt/soft/hadoop-2.6.0-cdh5.14.2 /opt/soft/hadoop260
    echo '--------修改配置hadoop-env.sh-------------'
#将以export JAVA_HOME=开头的替换为export JAVA_HOME=$JAVA_HOME/
    sed -i "/^export JAVA_HOME=/cexport JAVA_HOME=$JAVA_HOME/"             
    /opt/soft/hadoop260/etc/hadoop/hadoop-env.sh
    echo '--------修改配置mapred-env.sh-------------'
    sed -i "/^# export JAVA_HOME=/cexport JAVA_HOME=$JAVA_HOME/" 
    /opt/soft/hadoop260/etc/hadoop/mapred-env.sh
    echo '--------修改配置yarn-env.sh-------------'
    sed -i "/^# export JAVA_HOME=/cexport JAVA_HOME=$JAVA_HOME/" 
    /opt/soft/hadoop260/etc/hadoop/yarn-env.sh
    echo '--------修改配置core-site.xml-------------'
#定义core-site.xml的位置,方便以后书写
    core_path="/opt/soft/hadoop260/etc/hadoop/core-site.xml"
    sed -i '19ahadoop.proxyuser.root.group* 
    ' $core_path
    sed -i '19ahadoop.proxyuser.root.hosts* 
    ' $core_path
    sed -i '19ahadoop.tmp.dir 
    /opt/soft/hadoop260/hadooptmp' $core_path
    sed -i "19afs.defaultFShdfs://$hostname:9000 
    " $core_path
    echo '--------修改配置hdfs-site.xml-------------'
    hdfs_path="/opt/soft/hadoop260/etc/hadoop/hdfs-site.xml"
    sed -i "19adfs.namenode.secondary.http-address 
    $hostname:50090" $hdfs_path
    sed -i '19adfs.replication3' 
    $hdfs_path
    echo '--------修改配置mapred-site.xml-------------'
    mapred_path="/opt/soft/hadoop260/etc/hadoop/mapred-site.xml"
#复制一份mapred-site.xml.template并重命名为mapred-site.xml
    cp /opt/soft/hadoop260/etc/hadoop/mapred-site.xml.template 
    /opt/soft/hadoop260/etc/hadoop/mapred-site.xml
    sed -i "19amapreduce.jobhistory.webapp.address 
    $hostname:19888" $mapred_path
    sed -i "19amapreduce.jobhistory.address 
    $hostname:10020" $mapred_path
    sed -i '19amapreduce.framework.nameyarn 
    ' $mapred_path
    echo '--------修改配置yarn-site.xml-------------'
    yarn_path="/opt/soft/hadoop260/etc/hadoop/yarn-site.xml"
    sed -i "15ayarn.log-aggregation.retain-seconds 
    604800" $yarn_path
    sed -i "15ayarn.log.aggregation.enbletrue 
    " $yarn_path
    sed -i "15ayarn.resourcemanager.hostname 
    $hostname" $yarn_path
    sed -i '15ayarn.nodemanager.aux- 
    services.mapreduce.shuffle.class 
    org.apache.hadoop.mapred.ShuffleHandler' $yarn_path
    echo '--------修改配置slaves.xml-------------'
    sed -i "s/localhost/$hostname/g" /opt/soft/hadoop260/etc/hadoop/slaves
#修改配置文件
    echo "#hadoop" >> /etc/profile
    echo 'export HADOOP_HOME=/opt/soft/hadoop260' >> /etc/profile
    echo 'export HADOOP_COMMON_HOME=$HADOOP_HOME' >> /etc/profile
    echo 'export HADOOP_HDFS_HOME=$HADOOP_HOME' >> /etc/profile
    echo 'export YARN_HOME=$HADOOP_HOME' >> /etc/profile
    echo 'export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOMEb/native' >> /etc/profile
    echo 'export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOMEb"' >> /etc/profile
    echo 'export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin' >> /etc/profile
#初始化namenode
    /opt/soft/hadoop260/bin/hadoop namenode -format
fi

if [ "$zookeeper" = true ];then
    echo " ------------安装zookeeper----------------- "
    tar -zxf /opt/install/zookeeper-3.4.5-cdh5.14.2.tar.gz -C /opt/soft/
    mv /opt/soft/zookeeper-3.4.5-cdh5.14.2 /opt/soft/zookeeper345
    cp /opt/soft/zookeeper345/conf/zoo_sample.cfg /opt/soft/zookeeper345/conf/zoo.cfg
    sed -i '/^dataDir=/cdataDir=/opt/soft/zookeeper345/datatmp' 
    /opt/soft/zookeeper345/conf/zoo.cfg
    echo "server.1=$hostname:2888:3888" >> /opt/soft/zookeeper345/conf/zoo.cfg
    mkdir -p /opt/soft/zookeeper345/datatmp
    echo "1" > /opt/soft/zookeeper345/datatmp/myid
    echo 'export ZOOKEEPER_HOME=/opt/soft/zookeeper345' >> /etc/profile
    echo 'export PATH=$PATH:$ZOOKEEPER_HOME/bin' >> /etc/profile
fi

if ["$hive" = true ];then
    echo '--------安装hive----------'
    tar -zxf /opt/install/hive-1.1.0-cdh5.14.2.tar.gz -C /opt/soft/
    mv /opt/soft/hive-1.1.0-cdh5.14.2 /opt/soft/hive110
    touch  /opt/soft/hive110/conf/hive-site.xml
    echo '--------配置mysql驱动-------------------'
    cp /opt/install/mysql-connector-java-5.1.25.jar /opt/soft/hive110/lib/
    echo "-----------修改配置hive-site.xml---------------"
    hive_path="/opt/soft/hive110/conf/hive-site.xml"
    echo '' >> $hive_path
    echo '' >> $hive_path
    sed -i '2a' $hive_path
    sed -i '2ahive.server2.thrift.client.password 
    你自己的数据库密码' $hive_path
    sed -i "2ahive.server2.thrift.client.user你自己的用户名 
    " $hive_path
    sed -i '2ajavax.jdo.option.ConnectionPassword 
    你自己的数据库密码' $hive_path
    sed -i "2ajavax.jdo.option.ConnectionUserName 
    你自己的用户名" $hive_path
    sed -i '2ajavax.jdo.option.ConnectionDriverName 
    com.mysql.jdbc.Driver' $hive_path
    sed -i '2ajavax.jdo.option.ConnectionURL 
    jdbc:mysql://你自己的ip地址:3306/hive? 
    createDatabaseIfNotExist=true' $hive_path
    sed -i '2a' $hive_path
    echo '#hive' >> /etc/profile
    echo 'export HIVE_HOME=/opt/soft/hive110' >> /etc/profile
    echo 'export PATH=$PATH:$HIVE_HOME/bin' >> /etc/profile
    source /etc/profile
    echo '------------hive初始化----------------'
    schematool -dbType mysql -initSchema
fi
























转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/581438.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号