
shellz只需要在opt准备两个文件夹,一个install存放压缩包,soft存放解压后的文件就行
接着就开始运行脚本,脚本随便创建一个文件吧脚本拷贝进去,赋权运行就行
里面所有的ip地址改为自己的就行。虚拟机你的hostname一定要设置好,不然脚本里面所有的$hostname,你都要改为你的ip地址就行
#!/bin/bash jdk=true hadoop=true zk=true hive=true zp=true sqoop=true hbase=true hostname=`hostname` echo "current host name is $hostname" whoami=`whoami` echo "current user is $whoami" installdir=/opt/soft if [ ! -d "$installdir" ]; then mkdir $installdir fi if [ "$jdk" = true ]; then echo "---------安装jdk----------- " 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 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 -------" 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_path="/opt/soft/hadoop260/etc/hadoop/core-site.xml " sed -i '19a' $core_path sed -i '19a doop.proxyuser.bigdata.groups * ' $core_path sed -i '19a hadoop.proxyuser.bigdata.hosts * ' $core_path sed -i "19a hadoop.tmp.dir /opt/soft/hadoop260/hadooptmp " $core_path echo "-=--------------------- 配置hdfs-site.xml --------------" hdfs_path="/opt/soft/hadoop260/etc/hadoop/hdfs-site.xml " sed -i "19a fs.defaultFS hdfs://$hostname:9000 " $hdfs_path sed -i '19a dfs.namenode.secondary.http-address $hostname:50090 ' $hdfs_path echo "-=--------------------- 配置mapred-site.xml --------------" cp /opt/soft/hadoop260/etc/hadoop/mapred-site.xml.template /opt/soft/hadoop260/etc/hadoop/mapred-site.xml mapred_path="/opt/soft/hadoop260/etc/hadoop/mapred-site.xml " sed -i "19a dfs.replication 3 " $mapred_path sed -i "19a mapreduce.jobhistory.mapapp.address $hostname:19888 " $mapred_path sed -i '19a mapreduce.jobhistory.address $hostname:10020 ' $mapred_path echo "-=--------------------- 配置yarn-site.xml --------------" yarn_path="/opt/soft/hadoop260/etc/hadoop/yarn-site.xml " sed -i '15a mapreduce.framework.name yarn ' $yarn_path sed -i '15a yarn.log-aggregation.retain-seconds 604800 ' $yarn_path sed -i "15a yarn.log-aggregation-enable true " $yarn_path sed -i '15a yarn.resourcemanager.hostname $hostname ' $yarn_path sed -i '15a yarn.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_MAPRED_HOME=$HADOOP_HOME' >> /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_HOME/lib/native' >> /etc/profile echo 'export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"' >> /etc/profile echo 'export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin' >> /etc/profile source /etc/profile hadoop namenode -format 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 cp /opt/install/mysql-connector-java-5.1.25.jar /opt/soft/hive110/lib/ touch /opt/soft/hive110/conf/hive-site.xml echo "---------------修改hive-site.xml--------------" hive_path="/opt/soft/hive110/conf/hive-site.xml" echo '' >> $hive_path echo '' >> $hive_path echo ' yarn.nodemanager.aux-services mapreduce_shuffle ' >> $hive_path echo ' ' >> $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 schematool -dbType mysql -initSchema fi fi if [ "$zk" = 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 source /etc/profile fi if [ "$zp" = true ]; then echo "---------------------安装zeppelin------------------" tar -zxf /opt/install/zeppelin-0.9.0-preview1-bin-all.tgz -C /opt/soft mv /opt/soft/zeppelin-0.9.0-preview1-bin-all/ /opt/soft/zeppelin090 cd /opt/soft/zeppelin090/conf/ echo "----------成功----" cp /opt/soft/zeppelin090/conf/zeppelin-site.xml.template /opt/soft/zeppelin090/conf/zeppelin-site.xml echo "--------------------修改zeppelin-site.xml------------" sed -i "/^' >> $hive_path echo ' javax.jdo.option.ConnectionURL jdbc:mysql://192.168.222.203:3306/hive139?createDatabaseIfNotExist=true ' >> $hive_path echo ' java.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver ' >> $hive_path echo ' javax.jdo.option.ConnectionUserName root ' >> $hive_path echo ' javax.jdo.option.ConnectionPassword 123456 ' >> $hive_path echo ' hive.server2.thrift.client.user root ' >> $hive_path echo ' hive.server2.thrift.client.password 123456 127/c 192.168.222.203 /" /opt/soft/zeppelin090/conf/zeppelin-site.xml sed -i "/^8080/c 8000 /" ./zeppelin-site.xml echo "-------------------修改zeppelin-env.sh.template-----------" sed -i "/^# export JAVA_HOME/cexport JAVA_HOME=$JAVA_HOME/" /opt/soft/zeppelin090/conf/zeppelin-env.sh.template sed -i "19aexport HADOOP_CONF_DIR=/opt/soft/hadoop260/etc/hadoop/" /opt/soft/zeppelin090/conf/zeppelin-env.sh.template fi if [ "$hbase" = true ]; then echo '----------------hbase安装中-------------------' tar -zxf /opt/install/hbase-1.2.0-cdh5.14.2.tar.gz -C /opt/soft mv /opt/soft/hbase-1.2.0-cdh5.14.2 /opt/soft/hbase120 sed -i '^# export JAVA_HOME=cexport JAVA_HOME=/opt/soft/jdk180' /opt/soft/hbase120/conf/hbase-env.sh sed -i '^# export Hbase_MANAGES_ZKcexport Hbase_MANAGES_ZK=false' /opt/soft/hbase120/conf/hbase-env.sh hbase_site_path=/opt/soft/hbase120/conf/hbase-site.xml sed -i '23a' $hbase_site_path sed -i '23a hbase.rootdir hdfs://192.168.222.203:9000/hbase ' $hbase_site_path sed -i '23a hbase.cluster.distributed true ' $hbase_site_path sed -i '23a hbase.zookeeper.property.dataDir /opt/soft/hbase120/hbasedir ' $hbase_site_path echo '#hbase' >>/etc/profile echo 'export Hbase_HOME=/opt/soft/hbase120' >>/etc/profile echo 'export PATH=$PATH:$Hbase_HOME/bin' >>/etc/profile source /etc/profile fi if [ "$sqoop" = true ]; then echo "---------------------安装sqoop------------------" tar -zxf /opt/install/sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /opt/soft mv /opt/soft/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/ /opt/soft/sqoop146 cd /opt/soft/sqoop146/conf/ echo "----------成功---------------" mv sqoop-env-template.sh sqoop-env.sh echo "--------------------修改sqoop-env.sh------------" sed -i "/^#export HADOOP_COMMON_HOME/cexport HADOOP_COMMON_HOME=/opt/soft/hadoop260/" ./sqoop-env.sh sed -i "/^#export HADOOP_MAPRED_HOME/cexport HADOOP_MAPRED_HOME=/opt/soft/hadoop260/" ./sqoop-env.sh sed -i "/^#export Hbase_HOME/cexport Hbase_HOME=/opt/soft/hbase120/" ./sqoop-env.sh sed -i "/^#export HIVE_HOM/cexport HIVE_HOME=/opt/soft/hive110/" ./sqoop-env.sh sed -i "/^#export ZOOCFGDIR/cexport ZOOCFGDIR=/opt/soft/zookeeper345/conf/" ./sqoop-env.sh echo "-------------------修改成功------------------" cp /opt/soft/hive110/lib/mysql-connector-java-5.1.25.jar ../lib/ echo '#sqoop' >> /etc/profile echo 'export SQOOP_HOME=/opt/soft/sqoop146' >> /etc/profile echo 'export PATH=$PATH:$SQOOP_HOME/bin' >> /etc/profile source /etc/profile fi hbase.zookeeper.property.clientPort 2181
编写改错不易,请大家点赞收藏,后续还会更新