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

原生Hadoop、spark集群一键部署脚本

大数据 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

原生Hadoop、spark集群一键部署脚本

#!/bin/bash
#############################################################
#############脚本使用说明####################################
#1、使用脚本前需要弄好服务器的基础环境#######################
#2、在hadoop的每个节点需要手动创建如下目录:/data/hdfs/tmp###
#3、修改下面的配置参数#######################################
#4、脚本执行完备后需要收到格式化namenode#####################
#5、格式化指令:hdfs namenode -format########################
#############################################################
#定义参数变量
#主节点域名
master_dns='slave-3'
#从节点1域名,2NN的配置地址
slave_1='slave-4'
#所有从节点信息
slaves=(slave-4 slave-5)
#java安装路径
java_home='/opt/java/jdk1.8.0_144'
#hadoop版本信息
hadoop_version='hadoop-2.8.1'
#hadoop数据存储路径
hadoop_data_path='/data/hdfs/tmp'
#hadoop安装包存储路径
hadoop_install_package='/opt/package/'$hadoop_version'.tar.gz'
#hdfs副本数量
dfs_replication='2'
#spark版本信息
spark_version='spark-3.0.2-bin-hadoop2.7'
#spark安装包存储路径
spark_install_package='/opt/package/'$spark_version'.tgz'
###########################################
##############安装hadoop###################
###########################################
echo $(date) 'info: 开始安装大数据基础环境...'
echo $(date) 'info: 校验java版本...'
java -version
echo $(date) 'info: 创建hadoop数据存储路径...'
mkdir -p $hadoop_data_path
echo $(date) 'info: 解压hadoop安装包...'
tar -zxvf $hadoop_install_package -C /opt
#配置hadoop环境变量
echo $(date) 'info: 配置hadoop环境变量..'
echo 'export HADOOP_HOME=/opt/'$hadoop_version>>/etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin'>>/etc/profile
source /etc/profile
#配置hadoop中hadoop-env.sh配置
echo $(date) 'info: 配置hadoop...'
echo 'export JAVA_HOME='$java_home>>/opt/$hadoop_version/etc/hadoop/hadoop-env.sh
#配置hadoop中core-site.xml 指定hdfs老大
sed -i '19a\t' /opt/$hadoop_version/etc/hadoop/core-site.xml
sed -i '19a\tfs.defaultFS' /opt/$hadoop_version/etc/hadoop/core-site.xml
sed -i '19a\thdfs://'$master_dns':9000' /opt/$hadoop_version/etc/hadoop/core-site.xml
sed -i '19a\t' /opt/$hadoop_version/etc/hadoop/core-site.xml
#指定hadoop运行时产生的文件存储目录
sed -i '19a\t' /opt/$hadoop_version/etc/hadoop/core-site.xml
sed -i '19a\thadoop.tmp.dir' /opt/$hadoop_version/etc/hadoop/core-site.xml
sed -i '19a\t'$hadoop_data_path'' /opt/$hadoop_version/etc/hadoop/core-site.xml
sed -i '19a\t' /opt/$hadoop_version/etc/hadoop/core-site.xml
#配置hadoop中hdfs-site.xml 指定hdfs副本数量
sed -i '19a\t' /opt/$hadoop_version/etc/hadoop/hdfs-site.xml
sed -i '19a\tdfs.replication' /opt/$hadoop_version/etc/hadoop/hdfs-site.xml
sed -i '19a\t'$dfs_replication'' /opt/$hadoop_version/etc/hadoop/hdfs-site.xml
sed -i '19a\t' /opt/$hadoop_version/etc/hadoop/hdfs-site.xml
#指定2NN地址
sed -i '19a\t' /opt/$hadoop_version/etc/hadoop/hdfs-site.xml
sed -i '19a\tdfs.namenode.secondary.http-address' /opt/$hadoop_version/etc/hadoop/hdfs-site.xml
sed -i '19a\t'$slave_1':9001' /opt/$hadoop_version/etc/hadoop/hdfs-site.xml
sed -i '19a\t' /opt/$hadoop_version/etc/hadoop/hdfs-site.xml
#配置hadoop中mapred-site.xml
cp /opt/$hadoop_version/etc/hadoop/mapred-site.xml.template /opt/$hadoop_version/etc/hadoop/mapred-site.xml
sed -i '19a\t' /opt/$hadoop_version/etc/hadoop/mapred-site.xml
sed -i '19a\tmapreduce.framework.name' /opt/$hadoop_version/etc/hadoop/mapred-site.xml
sed -i '19a\tyarn' /opt/$hadoop_version/etc/hadoop/mapred-site.xml
sed -i '19a\t' /opt/$hadoop_version/etc/hadoop/mapred-site.xml
#配置yarn-site.xml 指定RM地址
sed -i '15a\t' /opt/$hadoop_version/etc/hadoop/yarn-site.xml
sed -i '15a\tyarn.resourcemanager.hostname' /opt/$hadoop_version/etc/hadoop/yarn-site.xml
sed -i '15a\t'$master_dns'' /opt/$hadoop_version/etc/hadoop/yarn-site.xml
sed -i '15a\t' /opt/$hadoop_version/etc/hadoop/yarn-site.xml
#指定MapReduce程序可以运行在yarn上
sed -i '15a\t' /opt/$hadoop_version/etc/hadoop/yarn-site.xml
sed -i '15a\tyarn.nodemanager.aux-services' /opt/$hadoop_version/etc/hadoop/yarn-site.xml
sed -i '15a\tmapreduce_shuffle' /opt/$hadoop_version/etc/hadoop/yarn-site.xml
sed -i '15a\t' /opt/$hadoop_version/etc/hadoop/yarn-site.xml
#配置slaves
sed -i '1d' /opt/$hadoop_version/etc/hadoop/slaves
for slave in ${slaves[@]};
do
  echo $slave>>/opt/$hadoop_version/etc/hadoop/slaves
done
#发送配置好的hadoop到其余节点
if [[ ${#slaves[@]} -gt 1 ]]; then
    for slave in ${slaves[@]};
do
  scp -r /opt/$hadoop_version/ @$slave:/opt/
  scp -r /etc/profile @$slave:/etc/
done
fi
#刷新环境变量
source /etc/profile
echo $(date) 'info: 配置hadoop完成!!!'
###########################################
############安装spark######################
###########################################
echo $(date) 'info: 开始安装spark...'
tar -zxvf $spark_install_package -C /opt
echo $(date) 'info: 开始配置spark'
#配置spark环境变量
echo 'export SPARK_HOME=/opt/'$spark_version>>/etc/profile
echo 'export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin'>>/etc/profile
#配置spark-env.sh
cp /opt/$spark_version/conf/spark-env.sh.template /opt/$spark_version/conf/spark-env.sh
echo 'export HADOOP_CONF_DIR=/opt/'$hadoop_version'/etc/hadoop'>>/opt/$spark_version/conf/spark-env.sh
echo 'export SPARK_MASTER_PORT=7077'>>/opt/$spark_version/conf/spark-env.sh
echo 'export SPARK_MASTER_IP='$master_dns>>/opt/$spark_version/conf/spark-env.sh
echo 'export JAVA_HOME='$java_home>>/opt/$spark_version/conf/spark-env.sh
#配置slaves
cp /opt/$spark_version/conf/slaves.template /opt/$spark_version/conf/slaves
sed -i '$d' /opt/$spark_version/conf/slaves
for slave in ${slaves[@]};
do
  echo $slave>>/opt/$spark_version/conf/slaves
done
#将spark下发其余节点
if [[ ${#slaves[@]} -gt 1 ]]; then
    for slave in ${slaves[@]};
do
  scp -r /opt/$spark_version/ @$slave:/opt/
  scp -r /etc/profile @$slave:/etc/
done
fi
echo $(date) 'info: 配置spark完成!!!'

注:此脚本自己亲测,主要为了简化搭建流程,其中的一些配置为基础配置,如有其它配置需求可以自行修改上面配置信息

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

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

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