阿里云EMR集群搭建及使用
目录
1.简介
1.什么是EMR
2.组成
3.与自建hadoop集群对比
4.产品架构
2.使用
1.创建EMR集群
1.登录EMR on ECS控制台
2.软件设置
3.硬件设置
3.基础配置
2.配置
1.组件配置
2.用户管理
3.安全组
4.Gateway
3.组件UI
1.简介
1.什么是EMR
EMR是运行在阿里云平台上的一种大数据处理的系统解决方案。可以简单的理解为一个对标ambari的产品。EMR构建于云服务器ECS上,基于开源的Apache Hadoop和Apache Spark。可以方便地使用Hadoop和Spark生态系统中的其他周边系统分析和处理数据。EMR提供on ECS和on ACK两种方式,on ACK指的是容器化。
2.组成
E-MapReduce的核心是集群。E-MapReduce集群是由一个或多个阿里云ECS实例组成的Hadoop、Flink、Druid、ZooKeeper集群。以Hadoop为例,每个ECS 实例上通常都运行了一些daemon进程(例如,NameNode、DataNode、ResouceManager和NodeManager),这些daemon进程共同组成了Hadoop集群。

- Master节点,部署了Hadoop的主节点服务,包括HDFS NameNode、HDFS JournalNode、ZooKeeper、YARN ResourceManager和HBase HMaster等服务,可以根据集群的使用场景,选择高可用集群或非高可用集群。测试环境可以选择非高可用集群,生产环境建议选择高可用集群。高可用集群可以选择2个或3个Master节点,当选择2个Master节点时,HDFS JournalNode和ZooKeeper会部署在Core的emr-worker-1节点。生产环境建议创建高可用集群时选择3个Master节点。
- Core节点,部署了HDFS DataNode和YARN Nodemanager,用于HDFS数据的存储和YARN的计算,不可以弹性伸缩。
- Task节点,部署了YARN NodeManager,用于YARN计算,可以通过弹性伸缩的方式灵活扩容或缩容。
- Gateway集群,部署了Hadoop的客户端文件,您可以通过Gateway提交作业,避免直接登录集群产生的安全和客户端环境隔离问题。您需要先创建Hadoop集群,然后创建Gateway集群关联至Hadoop集群。
3.与自建hadoop集群对比
| 对比项 | 阿里云EMR | 自建Hadoop集群 |
|---|---|---|
| 成本 | 支持按量和包年包月付费方式,集群资源支持灵活调整,数据分层存储,资源使用率高。无额外软件License费用。 | 需提前预估资源,且资源相对固定,资源使用率低。采用Hadoop发行版,需额外支付License费用。 |
| 性能 | 较开源版本性能大幅提升。 | 采用开源社区版本,性能需自行优化。 |
| 易用性 | 分钟级别启动Hadoop集群,敏捷响应业务需求。 | 采购服务器,部署Hadoop生态组件,周期长达数周。 |
| 弹性 | 可根据作业临时启动和销毁集群。集群资源可根据时间周期或集群负载动态自动调整。基于JindoFS计算存储分离架构,轻松分别扩展计算和存储资源。 | 计算和存储耦合,资源相对固定,无法弹性调整资源。 |
| 安全 | 支持企业级多租户资源管理,支持对表、列、行级别的权限控制和日志审计,支持数据加密。 | 多租户管理能力需自行配置,能力不完善,无法满足企业级需求。 |
| 可靠 | 大规模、企业级环境的检验,随开源版本升级,并经过专业的兼容性验证测试,提供优于社区版本的使用体验。 | 需自行更新和升级开源版本,验证各组件版本兼容性,自行修复社区bug。 |
| 服务 | 专业和资深大数据专家技术服务团队提供售后支持。 | 社区版本无服务支持,Hadoop发行版,需额外支付License和服务费用。 |
4.产品架构

2.使用
1.创建EMR集群
1.登录EMR on ECS控制台

2.软件设置
根据实际情况选择地域和资源组。
这里选择是数据湖的场景,如果有数据分析的可以重新再另建一个数据分析的EMR集群,这样以便于计算资源的隔离,如果不同的业务使用一个集群那资源就是混用的。
如果是生产环境需要开启服务高可用,服务高可用将会使用3个master节点保障服务的高可用。
元数据我们选择DLF统一元数据管理,当然也可以使用自建的RDS,不过这样就需要自己买个mysql的费用。
DLF数据目录我们使用默认的就好,也可以自建创建一个目录,如果其他EMR集群使用了同一个DLF数据目录,那就是使用的同一个元数据信息,这个需要注意
Hive存储模式使用数据湖存储,使用OSS-HDFS作为数据存储,所以这里需要我们在创建集群之前需要创建一个OSS的bucket,并开通OSS-HDFS服务。
Hive数据仓库路径这里填入前面创建OSS的bucket

3.硬件设置
付费类型,如果短期使用的我们选择按量付费,如果是长期选择包年包月。
专有网络,也就是vpc用于网络隔离的。
可用区我们这里选择和业务系统在同一个地域的同一个可用区内,保证效率。
节点组,master节点这个是不能扩容的,所以需要我们前面规划好。Master节点主要用来存储HDFS元数据和组件Log文件,属于计算密集型,对磁盘IO要求不高。HDFS元数据存储在内存中,建议根据文件数量选择16 GB以上内存空间。
Core节点会同时运行DataNode和Nodemanager。作为存储和计算节点使用,我们可以把数据存在OSS中,集群中的HDFS仅作为YARN任务分发的临时存储空间使用。
3.基础配置
身份凭证建议使用密钥对,这样更安全。
2.配置
1.组件配置
点击集群服务->选择Hive配置,修改配置项hive.execution.engine=tez。
2.用户管理
我们前面选择的knox,它可以让我们通过公网方式访问HDFS、YARN、Spark和Ganglia等Web UI页面,它可以帮助我们只开放一个端口访问所有的UI。
点击EMR集群->点击用户管理->添加用户,选择我们要添加的用户,然后设置密码,这个用户和密码用于后面访问组件UI的时候的验证。
3.安全组
knox默认使用了8443端口,所以在安全组中我们手动添加8443端口,授权对象为需要访问资源机器的ip地址。
4.Gateway
Gateway 主要用于向计算集群提交任务和进行安全隔离。部署组件客户端,访问EMR集群。
其部署过程如下
- 在 ECS 控制台创建 ECS 实例
- 在 ECS 实例安装 EMR-CLI 工具,并配置认证信息
- 通过 EMR-CLI 命令完成部署客户端软件包、同步集群配置及更新软件包操作。
在ECS实例安装EMR-CLI工具过程如下:
需要注意的是,如果使用spark客户端需要配置Gateway节点的域名解析。
如何创建ECS实例并基于EMR-CLI快速部署Gateway环境_开源大数据平台 E-MapReduce-阿里云帮助中心
3.组件UI
点击集群->访问链接与端口。点击之后输入我们前面添加的用户和密码访问。
相关文章:
阿里云EMR集群搭建及使用
目录 1.简介 1.什么是EMR 2.组成 3.与自建hadoop集群对比 4.产品架构 2.使用 1.创建EMR集群 1.登录EMR on ECS控制台 2.软件设置 3.硬件设置 3.基础配置 2.配置 1.组件配置 2.用户管理 3.安全组 4.Gateway 3.组件UI 1.简介 1.什么是EMR EMR是运行在阿里云平台…...
学习streamlit-4
st.slider 今天学习st.slider滑块组件的使用。 st.slider滑块组件通常被用来作为应用的输入,支持整数、浮点数、日期、时间和日期时间。 下面的示例程序包含以下简单功能,以演示st.slider滑块组件: 用户通过调整滑块选择值应用打印出所选…...
高级Oracle DBA面试题及答案
作为高级 Oracle DBA,您将负责 Oracle 数据库基础架构的设计、安装、配置、监控和维护。您还将负责制定和实施备份和恢复计划,并确保数据的安全性和完整性。要成功担任此职位,您需要对 Oracle 数据库架构有深入的了解,并能够有效地…...
程序员成长路线
程序员在成长的过程中,不同的阶段,需要关注的问题点一会都会有所不同,今天给大家分享下自己的感受。 0-1年,入门,掌握语言基础、提高工具的使用熟练度。 工作第一年,主要围绕ssm三件套、mysql、red…...
【Galois工具开发之路】关于类的重新装载思路
思路 当一个java的类文件发生变更,如果动态的热更新这个新的类文件?目前来说,有两种可能的方式 新增一个自定义ClassLoader,名为NC,让NC去load这个新的类文件,这样就完成了新的类定义的替换 但目前Java有…...
哪款蓝牙耳机音质好?内行推荐四款高音质蓝牙耳机
蓝牙耳机经过近几年的快速发展,在音质上的表现也越来越好。哪款蓝牙耳机音质好?最近看到很多人问。接下来,我来给大家推荐四款高音质蓝牙耳机,可以当个参考。 一、南卡小音舱蓝牙耳机 参考价:246 发声单元ÿ…...
Android程序自动在线升级安装
安卓小白分享: Android程序自动在线升级安装.(通过GetSharedDownloadsPath方法) 1>.修改AndroidManifest.template.xml ( 此文件在你DELPHI项目的目录中,如找不到就文件查找吧) 最好把此文件拖到DELPHI, 用DELPHI打开,(这样,它会一行一行格式清楚) 找到文字<%u…...
JS的BroadcastChannel与MessageChannel
BroadcastChannel与MessageChannel BroadcastChannel BroadcastChannel以广播的形式进行通信 BroadcastChannel用于创建浏览器标签页之间的通信 使用BroadcastChannel的浏览器标签页面必须要遵循同源策略 页面1使用BroadcastChannel创建一个频道,页面2使用Broadc…...
nextjs开发 + vercel 部署 ssr ssg
前言 最近想实践下ssr 就打算用nextjs 做一个人博客 , vercel 部署 提供免费域名,来学习实践下ssr ssg nextjs 一个轻量级的react服务端渲染框架 vercel 由 Next.js 的创建者制作 支持nextjs 部署 免费静态网站托管 初始化项目 npx create-next-app p…...
Good Idea, 利用MySQL JSON特性优化千万级文库表
👳我亲爱的各位大佬们好😘😘😘 ♨️本篇文章记录的为 利用MySQL JSON特性优化千万级文库表 相关内容,适合在学Java的小白,帮助新手快速上手,也适合复习中,面试中的大佬🙉🙉…...
【python游戏制作】快来跟愤怒的小鸟一起攻击肥猪们的堡垒吧
前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 为了防止/报复偷走鸟蛋的肥猪们,鸟儿以自己的身体为武器, 仿佛炮弹一样去攻击肥猪们的堡垒,保卫自己的鸟蛋 这个游戏大家没玩过的想必也听说过~ 今天就给大家分享一下用python写的愤怒的…...
ARM 学习(一)
ARM 处理器的运行模式ARM处理器共有7种运行模式,如下表所示:处理器模式描述用户模式(User)正常程序运行模式中断模式(IRQ)用于通常的中断处理快速中断模式(FIQ)用于高速传输和通道处…...
深入分析Java的序列化与反序列化
序列化是一种对象持久化的手段。普遍应用在网络传输、RMI等场景中。本文通过分析ArrayList的序列化来介绍Java序列化的相关内容。主要涉及到以下几个问题: 怎么实现Java的序列化 为什么实现了java.io.Serializable接口才能被序列化 transient的作用是什么 怎么自…...
、Tomcat源码分析-类加载器
接下来,我们再来看下 tomcat 是如何创建 common 类加载器的。关键代码如下所示,在创建类加载器时,会读取相关的路径配置,并把路径封装成 Repository 对象,然后交给 ClassLoaderFactory 创建类加载器。 Bootstrap.java…...
反转链表相关的练习(下)
目录 一、回文链表 二、 重排链表 三、旋转链表 一、回文链表 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:head [1,2,2,1] 输…...
2.进程和线程
1.进程1.1 终止正常退出(自愿)出错退出(自愿)严重错误(非自愿)被其他进程杀死(非自愿)1.2 状态就绪态:可运行,但因为其他进程正在运行而暂时停止阻塞态:除非某种外部事件发生,否则进程不能运行1.3 实现一个进程在执行过程中可能被…...
C++回顾(十四)—— 函数模板
14.1 概述 所谓函数模板(function template),实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表。这个通用函数就称为函数模板。凡是函数体相同的函数都可以用这个模板来代替,不必定义多个函数&a…...
如何做好项目各干系人的管理及应对?
如何更好地识别、分析和管理项目关系人?主要有以下几个方面: 1、项目干系人的分析 一般对项目干系人的分析有2种方法, 方法一:权利(影响),即对项目可以产生影响的人; 方法二…...
Elasticsearch使用系列-ES增删查改基本操作+ik分词
一、安装可视化工具KibanaES是一个NoSql数据库应用。和其他数据库一样,我们为了方便操作查看它,需要安装一个可视化工具 Kibana。官网:https://www.elastic.co/cn/downloads/kibana和前面安装ES一样,选中对应的环境下载࿰…...
07-PL/SQL基础(if语句,case语句,循环语句)
本章主要内容: 1.PL/SQL的基本构成:declare,begin,exception,end; 2.结构控制语句:IF语句,CASE语句 3.循环结构:loop循环,for loop循环,while loop循环 PL/SQL的基本构成 特点 PL/SQL语言是SQL语言的扩展ÿ…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...
【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...
如何应对敏捷转型中的团队阻力
应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中,明确沟通敏捷转型目的尤为关键,团队成员只有清晰理解转型背后的原因和利益,才能降低对变化的…...
实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...
