Ⅰ hadoop集群为什么需要免密码登陆
在Hadoop启动以后,namenode是通过SSH(Secure Shell)来启动和停止各个节点上的各种守护进程的,这就需要在节点之间执行指令的时候是不需要输入密码的方式,故我们需要配置SSH使用无密码公钥认证的方式。 namenode生成密钥: $ ssh-keygen -t d...
Ⅱ 配置hadoop分布式集群一台虚拟系统,二台实体系统可以吗
可以
准备工作
1.安装虚拟机 VMware Workstation
2.在虚拟机上安装linux操作系统
这里在虚拟机上安装的linux操作系统为ubuntu10.04。其实用哪个linux系统都是可以的,比如用centos, redhat, fedora等均可,完全没有问题。
3.准备3个虚拟节点
如果已经完成第2步,那就已经准备好了第一个虚拟节点。准备第二个和第三个虚拟节点有两种方法:
method1:分别安装两遍linux系统,太繁琐,放弃。
method2:在刚安装的第一个虚拟节点,将整个系统目录复制来形成第二个和第三个虚拟节点。
按照hadoop集群的基本要求,其中一个是master节点,用于运行hadoop程序中的namenode,secondorynamenode和jobtracker任务。另外两个节点为slave节点,其中一个用于冗余目的。slave节点用于运行hadoop程序中的datanode和tasktracker任务。所以模拟hadoop集群至少要有3个节点。
4.重命名主机名
因为前面复制粘贴产生的两个节点和第一个节点的主机名一样。
重命名主机名:Vim /etc/hostname
以下是我对三个结点的ubuntu系统主机分别命名为:master, node1, node2
6.配置hadoop-env.sh文件
Ⅲ 如何实现hadoop 的安全机制
为了增强Hadoop的安全机制, 从2009年起, Apache专门抽出一个团队,为Hadoop增加安全认证和授权机制,至今为止,已经可用。
Apache Hadoop 1.0.0版本和Cloudera CDH3之后的版本添加了安全机制,如果你将Hadoop升级到这两个版本,可能会导致Hadoop的一些应用不可用。
Hadoop提供了两种安全机制:Simple和Kerberos。Simple机制(默认情况,Hadoop采用该机制)采用了SAAS协议。 也就是说,用户提交作业时,你说你是XXX(在JobConf的user.name中说明),则在JobTracker端要进行核实,包括两部分核实,一是你到底是不是这个人,即通过检查执行当前代码的人与user.name中的用户是否一致;然后检查ACL(Access Control List)配置文件(由管理员配置),看你是否有提交作业的权限。一旦你通过验证,会获取HDFS或者maprece授予的delegation token(访问不同模块由不同的delegation token),之后的任何操作,比如访问文件,均要检查该token是否存在,且使用者跟之前注册使用该token的人是否一致。
Ⅳ 搭建hadoop集群为什么要设置SSH无密码登录
Hadoop集群启动之后,namenode是通过SSH来启动和停止各个节点上的各种守护进程的,所以在节点之间执行指令的时候不能有密码
Ⅳ spark和hadoop的区别
直接比较Hadoop和Spark有难度,因为它们处理的许多任务都一样,但是在一些方面又并不相互重叠。
比如说,Spark没有文件管理功能,因而必须依赖Hadoop分布式文件系统(HDFS)或另外某种解决方案。
Hadoop框架的主要模块包括如下:
Hadoop Common
Hadoop分布式文件系统(HDFS)
Hadoop YARN
Hadoop MapRece
虽然上述四个模块构成了Hadoop的核心,不过还有其他几个模块。这些模块包括:Ambari、Avro、Cassandra、Hive、 Pig、Oozie、Flume和Sqoop,它们进一步增强和扩展了Hadoop的功能。
Spark确实速度很快(最多比Hadoop MapRece快100倍)。Spark还可以执行批量处理,然而它真正擅长的是处理流工作负载、交互式查询和机器学习。
相比MapRece基于磁盘的批量处理引擎,Spark赖以成名之处是其数据实时处理功能。Spark与Hadoop及其模块兼容。实际上,在Hadoop的项目页面上,Spark就被列为是一个模块。
Spark有自己的页面,因为虽然它可以通过YARN(另一种资源协调者)在Hadoop集群中运行,但是它也有一种独立模式。它可以作为 Hadoop模块来运行,也可以作为独立解决方案来运行。
MapRece和Spark的主要区别在于,MapRece使用持久存储,而Spark使用弹性分布式数据集(RDDS)。
性能
Spark之所以如此快速,原因在于它在内存中处理一切数据。没错,它还可以使用磁盘来处理未全部装入到内存中的数据。
Spark的内存处理为来自多个来源的数据提供了近乎实时分析的功能:营销活动、机器学习、物联网传感器、日志监控、安全分析和社交媒体网站。另 外,MapRece使用批量处理,其实从来就不是为惊人的速度设计的。它的初衷是不断收集来自网站的信息,不需要这些数据具有实时性或近乎实时性。
易用性
支持Scala(原生语言)、Java、Python和Spark SQL。Spark SQL非常类似于SQL 92,所以几乎不需要经历一番学习,马上可以上手。
Spark还有一种交互模式,那样开发人员和用户都可以获得查询和其他操作的即时反馈。MapRece没有交互模式,不过有了Hive和Pig等附加模块,采用者使用MapRece来得容易一点。
成本
“Spark已证明在数据多达PB的情况下也轻松自如。它被用于在数量只有十分之一的机器上,对100TB数据进行排序的速度比Hadoop MapRece快3倍。”这一成绩让Spark成为2014年Daytona GraySort基准。
兼容性
MapRece和Spark相互兼容;MapRece通过JDBC和ODC兼容诸多数据源、文件格式和商业智能工具,Spark具有与MapRece同样的兼容性。
数据处理
MapRece是一种批量处理引擎。MapRece以顺序步骤来操作,先从集群读取数据,然后对数据执行操作,将结果写回到集群,从集群读 取更新后的数据,执行下一个数据操作,将那些结果写回到结果,依次类推。Spark执行类似的操作,不过是在内存中一步执行。它从集群读取数据后,对数据 执行操作,然后写回到集群。
Spark还包括自己的图形计算库GraphX。GraphX让用户可以查看与图形和集合同样的数据。用户还可以使用弹性分布式数据集(RDD),改变和联合图形,容错部分作了讨论。
容错
至于容错,MapRece和Spark从两个不同的方向来解决问题。MapRece使用TaskTracker节点,它为 JobTracker节点提供了心跳(heartbeat)。如果没有心跳,那么JobTracker节点重新调度所有将执行的操作和正在进行的操作,交 给另一个TaskTracker节点。这种方法在提供容错性方面很有效,可是会大大延长某些操作(即便只有一个故障)的完成时间。
Spark使用弹性分布式数据集(RDD),它们是容错集合,里面的数据元素可执行并行操作。RDD可以引用外部存储系统中的数据集,比如共享式文件系统、HDFS、HBase,或者提供Hadoop InputFormat的任何数据源。Spark可以用Hadoop支持的任何存储源创建RDD,包括本地文件系统,或前面所列的其中一种文件系统。
RDD拥有五个主要属性:
分区列表
计算每个分片的函数
依赖其他RDD的项目列表
面向键值RDD的分区程序(比如说RDD是散列分区),这是可选属性
计算每个分片的首选位置的列表(比如HDFS文件的数据块位置),这是可选属性
RDD可能具有持久性,以便将数据集缓存在内存中。这样一来,以后的操作大大加快,最多达10倍。Spark的缓存具有容错性,原因在于如果RDD的任何分区丢失,就会使用原始转换,自动重新计算。
可扩展性
按照定义,MapRece和Spark都可以使用HDFS来扩展。那么,Hadoop集群能变得多大呢?
据称雅虎有一套42000个节点组成的Hadoop集群,可以说扩展无极限。最大的已知Spark集群是8000个节点,不过随着大数据增多,预计集群规模也会随之变大,以便继续满足吞吐量方面的预期。
安全
Hadoop支持Kerberos身份验证,这管理起来有麻烦。然而,第三方厂商让企业组织能够充分利用活动目录Kerberos和LDAP用于身份验证。同样那些第三方厂商还为传输中数据和静态数据提供数据加密。
Hadoop分布式文件系统支持访问控制列表(ACL)和传统的文件权限模式。Hadoop为任务提交中的用户控制提供了服务级授权(Service Level Authorization),这确保客户拥有正确的权限。
Spark的安全性弱一点,目前只支持通过共享密钥(密码验证)的身份验证。Spark在安全方面带来的好处是,如果你在HDFS上运行Spark,它可以使用HDFS ACL和文件级权限。此外,Spark可以在YARN上运行,因而能够使用Kerberos身份验证。
总结
Spark与MapRece是一种相互共生的关系。Hadoop提供了Spark所没有的功能特性,比如分布式文件系统,而Spark 为需要它的那些数据集提供了实时内存处理。完美的大数据场景正是设计人员当初预想的那样:让Hadoop和Spark在同一个团队里面协同运行。
Ⅵ edt使用什么协议来保证hadoop集群安全
1、需求:有两个集群,网络中节点是互通的,现在要用distcp进行文件迁移,但一个集群是非安全集群,一个是配置了kerberos认证的安全集群,怎么执行呢?
2、前提:两个集群都做了HA配置,所以要通过如下命令查看活动Namenode并获取其IP地址;
HA配置查看活动Namenode:hdfs haadmin -getServiceState nn1或nn2(namenode名);
3、试验:
目的平台执行Hadoop distcp hdfs://IP:8020/pgw/ hdfs://namenode:8020/pgw/
源平台执行hadoop distcp hdfs://IP:8020/pgw/ hdfs://IP:8020/pgw/
都不行。
分析后,关系 Cross-realm authentication问题,配置core-site.xml 需降低安全配置;
<property>
<name>ipc.client.fallback-to-simple-auth-allowed</name>
<value>true</value>
</property>
4、解决:在目的平台执行
hadoop distcp -D ipc.client.fallback-to-simple-auth-allowed=true -D dfs.checksum.type=CRC32 webhdfs://namenode IP:50070/data/ /data
命令中直接回退安全配置,同时采用webhdfs来传输,不过这个采用restfull机制,有IO阻塞风险。
hadoop distcp -D ipc.client.fallback-to-simple-auth-allowed=true webhdfs://namenode IP:50070/flume/data/ /data/
大文件传输时,去掉校验-D dfs.checksum.type=CRC32就正常。
Ⅶ hadoop hue配置文件怎样设置加密密码
ue是一个开源的Apache Hadoop UI系统,最早是由Cloudera Desktop演化而来,由Cloudera贡献给开源社区,它是基于Python Web框架Django实现的。通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapRece Job等等。很早以前就听说过Hue的便利与强大,一直没能亲自尝试使用,下面先通过官网给出的特性,通过翻译原文简单了解一下Hue所支持的功能特性集合:
默认基于轻量级sqlite数据库管理会话数据,用户认证和授权,可以自定义为MySQL、Postgresql,以及Oracle
基于文件浏览器(File Browser)访问HDFS
基于Hive编辑器来开发和运行Hive查询
支持基于Solr进行搜索的应用,并提供可视化的数据视图,以及仪表板(Dashboard)
支持基于Impala的应用进行交互式查询
支持Spark编辑器和仪表板(Dashboard)
支持Pig编辑器,并能够提交脚本任务
支持Oozie编辑器,可以通过仪表板提交和监控Workflow、Coordinator和Bundle
支持HBase浏览器,能够可视化数据、查询数据、修改HBase表
支持Metastore浏览器,可以访问Hive的元数据,以及HCatalog
支持Job浏览器,能够访问MapRece Job(MR1/MR2-YARN)
支持Job设计器,能够创建MapRece/Streaming/Java Job
支持Sqoop 2编辑器和仪表板(Dashboard)
支持ZooKeeper浏览器和编辑器
支持MySql、PostGresql、Sqlite和Oracle数据库查询编辑器
1 Hue安装(参考官网:http://gethue.com/how-to-build-hue-on-ubuntu-14-04-trusty/)
1.1 在git上下载HUE源码或者在它的官网下载(如果已经安装git可省略第一步)
sudo apt-get install git
git clone https://github.com/cloudera/hue.git
1.2 需要安装一些依赖的软件包
官网给出了一些,如果环境不一样,灵活调整,GIT上面给出的依赖文件列表:
Ⅷ Hadoop是什么,具体有什么用呢
首先Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop 的最常见用法之一是 Web 搜索。虽然它不是唯一的软件框架应用程序,但作为一个并行数据处理引擎,它的表现非常突出。Hadoop 最有趣的方面之一是 Map and Rece 流程,它受到Google开发的启发。这个流程称为创建索引,它将 Web爬行器检索到的文本 Web 页面作为输入,并且将这些页面上的单词的频率报告作为结果。
结果是对输入域中的单词进行计数,这无疑对处理索引十分有用。但是,假设有两个输入域,第一个是 one small step for man,第二个是 one giant leap for mankind。您可以在每个域上执行 Map 函数和 Rece 函数,然后将这两个键/值对列表应用到另一个 Rece 函数,这时得到与前面一样的结果。换句话说,可以在输入域并行使用相同的操作,得到的结果是一样的,但速度更快。这便是 MapRece 的威力;它的并行功能可在任意数量的系统上使用
回到 Hadoop 上,它实现这个功能的方法是:一个代表客户机在单个主系统上启动的 MapRece应用程序称为 JobTracker。类似于 NameNode,它是 Hadoop 集群中唯一负责控制 MapRece应用程序的系统。在应用程序提交之后,将提供包含在 HDFS 中的输入和输出目录。JobTracker 使用文件块信息(物理量和位置)确定如何创建其他 TaskTracker 从属任务。MapRece应用程序被复制到每个出现输入文件块的节点。将为特定节点上的每个文件块创建一个唯一的从属任务。每个 TaskTracker 将状态和完成信息报告给 JobTracker
通过Hadoop安全部署经验总结,开发出以下十大建议,以确保大型和复杂多样环境下的数据信息安全 [9] 。
1、先下手为强!在规划部署阶段就确定数据的隐私保护策略,最好是在将数据放入到Hadoop之前就确定好保护策略 [9] 。
2、确定哪些数据属于企业的敏感数据。根据公司的隐私保护政策,以及相关的行业法规和政府规章来综合确定 [9] 。
3、及时发现敏感数据是否暴露在外,或者是否导入到Hadoop中 [9] 。
4、搜集信息并决定是否暴露出安全风险 [9] 。
5、确定商业分析是否需要访问真实数据,或者确定是否可以使用这些敏感数据。然后,选择合适的加密技术。如果有任何疑问,对其进行加密隐藏处理,同时提供最安全的加密技术和灵活的应对策略,以适应未来需求的发展 [9] 。
6、确保数据保护方案同时采用了隐藏和加密技术,尤其是如果我们需要将敏感数据在Hadoop中保持独立的话 [9] 。
7、确保数据保护方案适用于所有的数据文件,以保存在数据汇总中实现数据分析的准确性 [9] 。
8、确定是否需要为特定的数据集量身定制保护方案,并考虑将Hadoop的目录分成较小的更为安全的组 [9] 。
9、确保选择的加密解决方案可与公司的访问控制技术互操作,允许不同用户可以有选择性地访问Hadoop集群中的数据 [9] 。
10、确保需要加密的时候有合适的技术(比如Java、Pig等)可被部署并支持无缝解密和快速访问数据
Ⅸ 在安装hadoop集群的时候,ssh配置成功了,可以实现无密码登录,为什么启动hadoop还需要输入密码
确定每个节点都可以无密登录了吗,还要在同一个用户下才行,比如你的ssh是在root用户下配置的,hadoop是在hser用户下搭建的,那这样的话ssh是无效的
Ⅹ Hadoop如何处理如何增强Hadoop 安全
Hadoop是由Apache开源软件基金会开发的,运行于大规模普通服务器上的分布式系统基础架构,用于大规模数据的存储、计算、分析等。通过使用Hadoop平台用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储。2007年雅虎发布了第一个Apache Hadoop版本0.14.1;2008年雅虎用Hadoop做到全网尺度的搜索;2009年雅虎把内部版本全部开源,于是IBM也加入Hadoop的开发阵营;2010年Facebook宣布正式运行世界最大的Hadoop集群;2011年Apache Hadoop1.0版本发布;2012年Apache Hadoop2.0版本发布。下面具体介绍一下Hadoop系统的架构。
Hadoop由许多元素构成,如下图图所示,包括HBase、Hive、Pig、Chukwa、Oozie和ZooKeeper等,但是其核心组件为HDFS和MapRece。
JobTraker和NameNode运行在同一个服务器上,我们称为Hadoop集群的主节点,负责接收客户端提交的作业,并将任务分配到不同的计算节点TaskTracker上,同时监控作业的运行情况,完成作业的更新和容错处理;Tasktracker通常和DataNode装在一起,称为Hadoop集群的从节点,它调用Map和Rece执行JobTracker指派的任务,并发送心跳消息给JobTracker,向JobTracker汇报可运行任务的数量。
Hadoop 一直缺乏安全机制,主要表现在以下几个方面。
为了增强Hadoop的安全机制, 从2009年起Apache专门抽出一个团队为Hadoop增加安全认证和授权机制,Apache Hadoop 1.0.0版本之后的版本添加了安全机制,但是升级到该版本后可能会导致Hadoop的一些应用不可用。