spark_hadoop集群搭建自动化脚本

2023-11-18

#!/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</property>' /opt/$hadoop_version/etc/hadoop/core-site.xml
sed -i '19a\\t<name>fs.defaultFS</name>' /opt/$hadoop_version/etc/hadoop/core-site.xml
sed -i '19a\\t<value>hdfs://'$master_dns':9000</value>' /opt/$hadoop_version/etc/hadoop/core-site.xml
sed -i '19a\\t<property>' /opt/$hadoop_version/etc/hadoop/core-site.xml
#指定hadoop运行时产生的文件存储目录
sed -i '19a\\t</property>' /opt/$hadoop_version/etc/hadoop/core-site.xml
sed -i '19a\\t<name>hadoop.tmp.dir</name>' /opt/$hadoop_version/etc/hadoop/core-site.xml
sed -i '19a\\t<value>'$hadoop_data_path'</value>' /opt/$hadoop_version/etc/hadoop/core-site.xml
sed -i '19a\\t<property>' /opt/$hadoop_version/etc/hadoop/core-site.xml
#配置hadoop中hdfs-site.xml 指定hdfs副本数量
sed -i '19a\\t</property>' /opt/$hadoop_version/etc/hadoop/hdfs-site.xml
sed -i '19a\\t<name>dfs.replication</name>' /opt/$hadoop_version/etc/hadoop/hdfs-site.xml
sed -i '19a\\t<value>'$dfs_replication'</value>' /opt/$hadoop_version/etc/hadoop/hdfs-site.xml
sed -i '19a\\t<property>' /opt/$hadoop_version/etc/hadoop/hdfs-site.xml
#指定2NN地址
sed -i '19a\\t</property>' /opt/$hadoop_version/etc/hadoop/hdfs-site.xml
sed -i '19a\\t<name>dfs.namenode.secondary.http-address</name>' /opt/$hadoop_version/etc/hadoop/hdfs-site.xml
sed -i '19a\\t<value>'$slave_1':9001</value>' /opt/$hadoop_version/etc/hadoop/hdfs-site.xml
sed -i '19a\\t<property>' /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</property>' /opt/$hadoop_version/etc/hadoop/mapred-site.xml
sed -i '19a\\t<name>mapreduce.framework.name</name>' /opt/$hadoop_version/etc/hadoop/mapred-site.xml
sed -i '19a\\t<value>yarn</value>' /opt/$hadoop_version/etc/hadoop/mapred-site.xml
sed -i '19a\\t<property>' /opt/$hadoop_version/etc/hadoop/mapred-site.xml
#配置yarn-site.xml 指定RM地址
sed -i '15a\\t</property>' /opt/$hadoop_version/etc/hadoop/yarn-site.xml
sed -i '15a\\t<name>yarn.resourcemanager.hostname</name>' /opt/$hadoop_version/etc/hadoop/yarn-site.xml
sed -i '15a\\t<value>'$master_dns'</value>' /opt/$hadoop_version/etc/hadoop/yarn-site.xml
sed -i '15a\\t<property>' /opt/$hadoop_version/etc/hadoop/yarn-site.xml
#指定MapReduce程序可以运行在yarn上
sed -i '15a\\t</property>' /opt/$hadoop_version/etc/hadoop/yarn-site.xml
sed -i '15a\\t<name>yarn.nodemanager.aux-services</name>' /opt/$hadoop_version/etc/hadoop/yarn-site.xml
sed -i '15a\\t<value>mapreduce_shuffle</value>' /opt/$hadoop_version/etc/hadoop/yarn-site.xml
sed -i '15a\\t<property>' /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完成!!!'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

spark_hadoop集群搭建自动化脚本 的相关文章

随机推荐

  • C#如何写入二进制文件

    我们在程序运行过程中有时需要将一些数据以二进制的形式记录到文本中 相比普通的文本记录方式 二进制的记录需要先将原始数据转换为byte 格式 再通过二进制文件流进行记录 下面小编就来介绍一下C 中二进制文件的详细记录过程 工具 原料 Micr
  • ElasticSearch添加mapping

    1 创建索引 创建索引 param indexName public static void createIndex String indexName 插入前删除 以免报错 boolean flag client admin indices
  • Qml中信号的发送与接收信号槽函数的使用

    在Qt C 中 发送信号的函数和对应的槽函数在参数顺序 类型方面必须保持一致 此外 要让一个信号发射后进入相应的槽函数 必须用connect进行连接 这样 信号和槽才能连接起来 在QML中 发送信号和接受信号的槽 用起来比Qt C 还更方便
  • 【转载】DC的逻辑综合与优化

    转载 IC learner 博客园 作者 IC learner 对进行时序路径 工作环境 设计规则等进行约束完成之后 DC就可以进行综合 优化时序了 DC的优化步骤将在下面进行讲解 然而 当普通模式下不能进行优化的 就需要我们进行编写脚本来
  • JavaWeb学习笔记-02-Tomcat&Servlet&Thymeleaf

    1 Tomcat下载及使用 1 1 下载 官方网站 https tomcat apache org 1 2 使用 下载后解压 bin 可执行文件目录 conf 配置文件目录 lib 存放库目录 logs 日志文件目录 websapp 项目部
  • C++两个类的头文件相互包含

    C 中头文件相互包含的几点问题 一 类嵌套的疑问 C 头文件重复包含实在是一个令人头痛的问题 前一段时间在做一个简单的数据结构演示程序的时候 不只一次的遇到这种问题 假设我们有两个类A和B 分别定义在各自的有文件A h和B h中 但是在A中
  • 英特尔cpu发布时间表_英特尔延长CPU发布周期:摩尔定律终结

    据外媒报道 英特尔最近在公司文档中废止了 嘀嗒 的芯片发展周期 第三代Skylake架构处理器 Kaby Lake CPU将在今年第三季度发布 彻底打破了 制程 架构 的钟摆节奏 英特尔延长CPU发布周期 图片来自新浪 英特尔表示 从下一代
  • 【华为OD统一考试B卷

    在线OJ 已购买本专栏用户 请私信博主开通账号 在线刷题 运行出现 Runtime Error 0Aborted 请忽略 华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一
  • 根据IDEA完成的简单学生成绩管理系统

    根据IDEA完成的简单学生成绩管理系统 要求 输入选项 当选择录入成绩的时候来输入各个学生的成绩 直到输入 1 结束输入成绩 最后输出输入了几名学生的成绩 然后循环到主界面 输入其他的选项 来查询学生成绩的平均分 最高分 最低分 然后退出系
  • mysqlbinlog delete恢复成insert

    不小心把数据删掉了 首先要拿到binlog文件 执行以下命令行 usr local mysql bin mysqlbinlog base64 output decode rows start datetime 2023 05 19 09 0
  • 树莓派传感器篇

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 玩树莓派其中方向之一 控制各种传感器 先搞明白各种传感器的参数及使用方式 树莓派GPIO各个引脚的用处及含义 这里要着重说明一点的是 千万不要把3 3V以上的电压链接到树莓
  • OpenSSL中文手册之PEM库详解

    版权声明 本文根据DragonKing牛 E Mail wzhah 263 NET发布在https openssl 126 com的系列文章整理修改而成 这个网站已经不能访问了 我自己所做的工作主要是针对新的1 0 2版本进行验证 修改错别
  • 十八.欧几里得算法

    欧几里得算法 unsigned int Gcd unsigned int M unsigned int N unsigned int Rem while N gt 0 Rem M N M N N Rem return M 此算法用来计算最大
  • Vue实现动画的几种方式

    vue内置组件transition 元素出现和消失都呈现动画
  • For循环结构的使用

    一 四个要素 初始化条件 循环条件 gt 是boolean类型 循环体 迭代条件 二 for循环的结构 for 执行过程 1 2 3 4 2 3 4 2 遍历100以内的偶数 输出所有偶数和 int sum 0 记录所有偶数的和 int c
  • FTP服务器版本信息可被获取(CVE-1999-0614)(建议修改源代码或者配置文件改变缺省banner信息。)

    漏洞扫描报告 1 测试查看 默认端口21 telnet localhost 21 下图所示即为漏洞信息描述的 可获取版本号 2 修改 vsftpd conf 配置文件 etc vsftpd vsftpd conf 找到 ftpd banne
  • linux 怎样停定时任务,linux停用cron定时执行任务的方法

    linux下用cron定时执行任务的方法 名称 crontab 使用权限 所有使用者 使用方式 crontab file u user 用指定的文件替代目前的crontab crontab u user 用标准输入替代目前的crontab
  • C++泛型编程

    C 泛型编程 1 泛型编程 1 1 模板 1 2 函数模板 1 2 1 语法 1 2 2 使用函数模板方式 1 2 3 普通函数和函数模板的区别 1 2 4 普通函数与函数模板的调用规则 1 2 5 模板的局限性 1 3 类模板 1 3 1
  • findBug 错误修改指南

    FindBugs错误修改指南 1 EC UNRELATED TYPES Bug Call to equals comparing different types Pattern id EC UNRELATED TYPES type EC c
  • spark_hadoop集群搭建自动化脚本

    bin bash 脚本使用说明 1 使用脚本前需要弄好服务器的基础环境 2 在hadoop的每个节点需要手动创建如下目录 data hdfs tmp 3 修改下面的配置参数 4 脚本执行完备后需要收到格式化namenode