Centos6.8-Haddoop+spark+Zookeeper-HBase+Hive-Mysql-Cluster 虚拟机环境下载

本博主已经安装与配置好的 Haddoop+spark+Zookeeper-HBase+Hive-Mysql-Cluster 虚拟机环境,链接:https://pan.baidu.com/s/1xkRLmriVbC75Al14j4_WVw
提取码:if38  下载后,用Vmare workstation 打开,即可以直接使用

Hadoop是一个能够对大量数据进行分布式处理的软件框架。 Hadoop 以一种可靠、高效、可伸缩的方式进行数据处理。
Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。
Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。
Hadoop 还是可伸缩的,能够处理 PB 级数据。
此外,Hadoop 依赖于社区服务,因此它的成本比较低,任何人都可以使用。
Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。它主要有以下几个优点:
高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。
高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
低成本。与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低。
Hadoop带有用Java语言编写的框架,因此运行在 Linux 生产平台上是非常理想的。Hadoop 上的应用程序也可以使用其他语言编写,比如 C++。
hadoop大数据处理的意义
Hadoop得以在大数据处理应用中广泛应用得益于其自身在数据提取、变形和加载(ETL)方面上的天然优势。Hadoop的分布式架构,将大数据处理引擎尽可能的靠近存储,对例如像ETL这样的批处理操作相对合适,因为类似这样操作的批处理结果可以直接走向存储。Hadoop的MapReduce功能实现了将单个任务打碎,并将碎片任务(Map)发送到多个节点上,之后再以单个数据集的形式加载(Reduce)到数据仓库里。

Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎 [1] 。现在形成一个高速发展应用广泛的生态系统。
特点编辑
Spark 主要有三个特点 [2] :
首先,高级 API 剥离了对集群本身的关注,Spark 应用开发者可以专注于应用所要做的计算本身。
其次,Spark 很快,支持交互式计算和复杂算法。
最后,Spark 是一个通用引擎,可用它来完成各种各样的运算,包括 SQL 查询、文本处理、机器学习等,而在 Spark 出现之前,我们一般需要学习各种各样的引擎来分别处理这些需求。
性能特点编辑
更快的速度
内存计算下,Spark 比 Hadoop 快100倍。
计算时间比较
计算时间比较
易用性
Spark 提供了80多个高级运算符。
通用性
Spark 提供了大量的库,包括Spark Core、Spark SQL、Spark Streaming、MLlib、GraphX。 开发者可以在同一个应用程序中无缝组合使用这些库。
支持多种资源管理器
Spark 支持 Hadoop YARN,Apache Mesos,及其自带的独立集群管理器
Spark生态系统
Shark:Shark基本上就是在Spark的框架基础上提供和Hive一样的HiveQL命令接口,为了最大程度的保持和Hive的兼容性,Spark使用了Hive的API来实现query Parsing和 Logic Plan generation,最后的PhysicalPlan execution阶段用Spark代替HadoopMapReduce。通过配置Shark参数,Shark可以自动在内存中缓存特定的RDD,实现数据重用,进而加快特定数据集的检索。同时,Shark通过UDF用户自定义函数实现特定的数据分析学习算法,使得SQL数据查询和运算分析能结合在一起,最大化RDD的重复使用。
SparkR:SparkR是一个为R提供了轻量级的Spark前端的R包。 SparkR提供了一个分布式的data frame数据结构,解决了 R中的data frame只能在单机中使用的瓶颈,它和R中的data frame 一样支持许多操作,比如select,filter,aggregate等等。(类似dplyr包中的功能)这很好的解决了R的大数据级瓶颈问题。 SparkR也支持分布式的机器学习算法,比如使用MLib机器学习库。 [3] SparkR为Spark引入了R语言社区的活力,吸引了大量的数据科学家开始在Spark平台上直接开始数据分析之旅。

ZooKeeper是以Fast Paxos算法为基础的,Paxos 算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos作了一些优化,通过选举产生一个leader (领导者),只有leader才能提交proposer,具体算法可见Fast Paxos。因此,要想弄懂ZooKeeper首先得对Fast Paxos有所了解。 [3]
ZooKeeper的基本运转流程:
1、选举Leader。
2、同步数据。
3、选举Leader过程中算法有很多,但要达到的选举标准是一致的。
4、Leader要具有最高的执行ID,类似root权限。
5、集群中大多数的机器得到响应并接受选出的Leader。 [3]
特点
在Zookeeper中,znode是一个跟Unix文件系统路径相似的节点,可以往这个节点存储或获取数据。如果在创建znode时Flag设置为EPHEMERAL,那么当创建这个znode的节点和Zookeeper失去连接后,这个znode将不再存在在Zookeeper里,Zookeeper使用Watcher察觉事件信息。当客户端接收到事件信息,比如连接超时、节点数据改变、子节点改变,可以调用相应的行为来处理数据。Zookeeper的Wiki页面展示了如何使用Zookeeper来处理事件通知,队列,优先队列,锁,共享锁,可撤销的共享锁,两阶段提交。
那么Zookeeper能做什么事情呢,简单的例子:假设我们有20个搜索引擎的服务器(每个负责总索引中的一部分的搜索任务)和一个总服务器(负责向这20个搜索引擎的服务器发出搜索请求并合并结果集),一个备用的总服务器(负责当总服务器宕机时替换总服务器),一个web的cgi(向总服务器发出搜索请求)。搜索引擎的服务器中的15个服务器提供搜索服务,5个服务器正在生成索引。这20个搜索引擎的服务器经常要让正在提供搜索服务的服务器停止提供服务开始生成索引,或生成索引的服务器已经把索引生成完成可以提供搜索服务了。使用Zookeeper可以保证总服务器自动感知有多少提供搜索引擎的服务器并向这些服务器发出搜索请求,当总服务器宕机时自动启用备用的总服务器。

hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。
Hive 没有专门的数据格式。 Hive 可以很好的工作在 Thrift 之上,控制分隔符,也允许用户指定数据格式。

本博主已经安装与配置好的 Haddoop+spark+Zookeeper-HBase+Hive-Mysql-Cluster 虚拟机环境,链接:https://pan.baidu.com/s/1xkRLmriVbC75Al14j4_WVw
提取码:if38  下载后,用Vmare workstation 打开,即可以直接使用
Hive 构建在基于静态批处理的Hadoop 之上,Hadoop 通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销。因此,Hive 并不能够在大规模数据集上实现低延迟快速的查询,例如,Hive 在几百MB 的数据集上执行查询一般有分钟级的时间延迟。 [1]
因此,Hive 并不适合那些需要低延迟的应用,例如,联机事务处理(OLTP)。Hive 查询操作过程严格遵守Hadoop MapReduce 的作业执行模型,Hive 将用户的HiveQL 语句通过解释器转换为MapReduce 作业提交到Hadoop 集群上,Hadoop 监控作业执行过程,然后返回作业执行结果给用户。Hive 并非为联机事务处理而设计,Hive 并不提供实时的查询和基于行级的数据更新操作。Hive 的最佳使用场合是大数据集的批处理作业,例如,网络日志分析。 [2]
设计特征编辑
Hive 是一种底层封装了Hadoop 的数据仓库处理工具,使用类SQL 的HiveQL 语言实现数据查询,所有Hive 的数据都存储在Hadoop 兼容的文件系统(例如,Amazon S3、HDFS)中。Hive 在加载数据过程中不会对数据进行任何的修改,只是将数据移动到HDFS 中Hive 设定的目录下,因此,Hive 不支持对数据的改写和添加,所有的数据都是在加载的时候确定的。Hive 的设计特点如下。
● 支持创建索引,优化数据查询。
● 不同的存储类型,例如,纯文本文件、HBase 中的文件。
● 将元数据保存在关系数据库中,大大减少了在查询过程中执行语义检查的时间。
● 可以直接使用存储在Hadoop 文件系统中的数据。
● 内置大量用户函数UDF 来操作时间、字符串和其他的数据挖掘工具,支持用户扩展UDF 函数来完成内置函数无法实现的操作。
● 类SQL 的查询方式,将SQL 查询转换为MapReduce 的job 在Hadoop集群上执行。

HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。

HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。
与FUJITSU Cliq等商用大数据产品不同,HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。 [1]
上图描述Hadoop EcoSystem中的各层系统。其中,HBase位于结构化存储层,Hadoop HDFS为HBase提供了高可靠性的底层存储支持,Hadoop MapReduce为HBase提供了高性能的计算能力,Zookeeper为HBase提供了稳定服务和failover机制。

本博主已经安装与配置好的 Haddoop+spark+Zookeeper-HBase+Hive-Mysql-Cluster 虚拟机环境,链接:https://pan.baidu.com/s/1xkRLmriVbC75Al14j4_WVw
提取码:if38  下载后,用Vmare workstation 打开,即可以直接使用此外,Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单。 Sqoop则为HBase提供了方便的RDBMS数据导入功能,使得传统数据库数据向HBase中迁移变的非常方便。

ZooKeeper是以Fast Paxos算法为基础的,Paxos 算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos作了一些优化,通过选举产生一个leader (领导者),只有leader才能提交proposer,具体算法可见Fast Paxos。因此,要想弄懂ZooKeeper首先得对Fast Paxos有所了解。 [3]
ZooKeeper的基本运转流程:
1、选举Leader。
2、同步数据。
3、选举Leader过程中算法有很多,但要达到的选举标准是一致的。
4、Leader要具有最高的执行ID,类似root权限。
5、集群中大多数的机器得到响应并接受选出的Leader。 [3]
特点编辑
在Zookeeper中,znode是一个跟Unix文件系统路径相似的节点,可以往这个节点存储或获取数据。如果在创建znode时Flag设置为EPHEMERAL,那么当创建这个znode的节点和Zookeeper失去连接后,这个znode将不再存在在Zookeeper里,Zookeeper使用Watcher察觉事件信息。当客户端接收到事件信息,比如连接超时、节点数据改变、子节点改变,可以调用相应的行为来处理数据。Zookeeper的Wiki页面展示了如何使用Zookeeper来处理事件通知,队列,优先队列,锁,共享锁,可撤销的共享锁,两阶段提交。
那么Zookeeper能做什么事情呢,简单的例子:假设我们有20个搜索引擎的服务器(每个负责总索引中的一部分的搜索任务)和一个总服务器(负责向这20个搜索引擎的服务器发出搜索请求并合并结果集),一个备用的总服务器(负责当总服务器宕机时替换总服务器),一个web的cgi(向总服务器发出搜索请求)。搜索引擎的服务器中的15个服务器提供搜索服务,5个服务器正在生成索引。这20个搜索引擎的服务器经常要让正在提供搜索服务的服务器停止提供服务开始生成索引,或生成索引的服务器已经把索引生成完成可以提供搜索服务了。使用Zookeeper可以保证总服务器自动感知有多少提供搜索引擎的服务器并向这些服务器发出搜索请求,当总服务器宕机时自动启用备用的总服务器。

本博主已经安装与配置好的 Haddoop+spark+Zookeeper-HBase+Hive-Mysql-Cluster 虚拟机环境,链接:https://pan.baidu.com/s/1xkRLmriVbC75Al14j4_WVw
提取码:if38  下载后,用Vmare workstation 打开,即可以直接使用

SuseLinux12SP3-Weblogic12c-Cluster虚拟机环境下载

本博主已经安装与配置好的suselinux12 下weblogic12c 集群环境的虚拟机,链接:https://pan.baidu.com/s/14Fu6u87U9iZTQRmZFjARgw
提取码:zyq9
下载后,解压后,可以用vmware workstaion 打开,即可以直接使用。

WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
WebLogic是美商Oracle的主要产品之一,是并购BEA得来。是商业市场上主要的Java(J2EE)应用服务器软件(application server)之一,是世界上第一个成功商业化的J2EE应用服务器, 已推出到12c(12.2.1.3) 版。而此产品也延伸出WebLogic Portal,WebLogic Integration等企业用的中间件(但当下Oracle主要以Fusion Middleware融合中间件来取代这些WebLogic Server之外的企业包),以及OEPE(Oracle Enterprise Pack for Eclipse)开发工具。

WebLogic最早由 WebLogic Inc. 开发,后并入BEA 公司,最终BEA公司又并入Oracle公司。
webserver是用来构建网站的必要软件,具有解析、发布网页等功能,它是用纯java开发的。weblogic本来不是由BEA发明的,是它从别人手中买过来,然后再加工扩展。BEA已经被Oracle收购,目前Weblogic最新版本为Oracle Weblogic Server 12c(12.2.1.3)。其他J2EE Application Server还有IBM的websphere、Sun(Sun公司已经被ORACLE公司收购)的Glassfish、resin等。Apache Tomcat也是常用的Servlet/JSP Container。 国内厂商生产的还有像中创软件的Loong AS 9.0(达四级等保,全面支持国产)、东方通的Tongweb、金蝶Apusic应用服务器等。
WebLogic Server拥有处理关键Web应用系统问题所需的性能、可扩展性和高可用性。
与BEA WebLogic Commerce ServerTM配合使用,WebLogic Server可为部署适应性个性化电子商务应用系统提供完善的解决方案。
WebLogic长期以来一直被认为是市场上最好的J2EE工具之一。像数据库或邮件服务器一样,WebLogic Server 对于客户是不可见的,为连接在它上面的客户提供服务。WebLogic 最常用的使用方式是为在internet 或internet 上的Web 服务提供安全、数据驱动的应用程序。WebLogic对J2EE 架构的支持:WebLogic Server 提供了对SUN J2EE 架构的支持。SUN公司的J2EE 架构是为企业级提供的一种支持分布式应用的整体框架。为集成后端系统,如ERP系统,CRM系统,以及为实现企业级计算提供了一个简易的,开放的标准。

优势编辑
WebLogic Server具有开发和部署关键任务电子商务Web应用系统 所需的多种特色和优势,包括:
标准
对业内多种标准的全面支持,包括EJB、JSP、JMS、JDBC、XML(标准通用标记语言的子集)和WML,使Web应用系统的实施更为简单,并且保护了投资,同时也使基于标准的解决方案的开发更加简便。
可扩展性
WebLogic Server以其高扩展的架构体系闻名于业内,包括客户机连接的共享、资源pooling以及动态网页和EJB组件群集。
快速开发
凭借对EJB和JSP的支持,以及WebLogic Server 的Servlet组件架 构体系,可加速投放市场速度。这些开放性标准与WebGain Studio配合时,可简化开发,并可发挥已有的技能,迅速部署应用系统。
更趋灵活
WebLogic Server的特点是与领先数据库、操作系统和Web服务器紧密集成。
可靠性
其容错、系统管理和安全性能已经在全球数以千计的关键任务环境中得以验证。
体系结构
WebLogic Server是专门为企业电子商务应用系统开发的。企业电子商务应用系统需要快速开发,并要求服务器端组件具有良好的灵活性和安全性,同时还要支持关键任务所必需的扩展、性能、和高可用性。WebLogic Server简化了可移植及可扩展的应用系统的开发,并为其它应用 系统和系统提供了丰富的互操作性。
凭借其出色的群集技术,WebLogic Server拥有最高水平的可扩展 性和可用性。BEA WebLogic Server既实现了网页群集,也实现了EJB组件 群集,而且不需要任何专门的硬件或操作系统支持。网页群集可以实现透明的复制、负载平衡以及表示内容容错,如Web购物车;组件群集则处理复杂的复制、负载平衡和EJB组件容错,以及状态对象(如EJB实体)的恢复。
无论是网页群集,还是组件群集,对于电子商务解决方案所要求的可扩展性和可用性都是至关重要的。共享的客户机/服务器和数据库连接以及数据缓存和EJB都增强了性能表现。这是其它Web应用系统所不具备的。
最新资讯
甲骨文WebLogic开发团队成员Bruno Borges今天在博客中宣布,WebLogic服务器现在允许开发者免费使用。(之前也可以免费试用,不过有时间限制)
但仍有诸多限制: 仅在单一开发者的桌面环境(包括物理的、虚拟的以及远程虚拟主机)中部署应用程序,且只能被指定的开发者使用和访问。
甲骨文对许可协议进行了变更,如下:如果你之前已经针对内部数据处理、商业或生产目的部署过应用程序,现在你仍可以在免费许可协议下继续开发、测试、原型化、演示你的应用程序。
许可协议:Dev-License 、Via OracleBlog

本博主已经安装与配置好的suselinux12 下weblogic12c 集群环境的虚拟机,链接:https://pan.baidu.com/s/14Fu6u87U9iZTQRmZFjARgw
提取码:zyq9
下载后,解压后,可以用vmware workstaion 打开,即可以直接使用。

服务功能编辑
1 在使用IP地址的一台计算机,或在使用集群捆绑在一起的多台计算机上,或在通过代理服务器管理的多台计算机上建立拥有相同域名的不同站点。
2 部署基于J2EE 标准编写的服务器JAVA代码,包括servlet,JSP,JavaBean 和EJB。
3 使用J2EE 扩展网络服务集成分布式系统,包括用于数据库连接的JDBC、用于信息传递的JMS、用于网络目录访问的JNDI、用于分布式事务处理的 JTA 和用于电子邮件处理的JavaMail。
4 部署使用远程方法调用(RMI)的纯Java 分布式应用程序。
5 通过使用RMI—IIOP(RMI over Internet Inter-ORB Protocol)协议部署近似CORBA的分布式应用系统。
6 通过使用安全套接层(SSL)和Weblogic的内在支持为用户验证和授权,实现强大的安全性。
7 通过将多个Weblogic服务器组成一个集群提供高可用性、负载均衡和容错能力。
8 利用Java 的多平台能力在Windows NT/2000,Sun Solairs ,HP/UX 和其他Weblogic支持的操作系统上部署Weblogic服务器。
9 在任一平台上,通过使用WebLogic直观的进行基于Web 的管理和监视工具可在网络上轻松管理一个或多个WebLogic服务器。

WebLogic Server
12.2.2引入了弹性扩展功能。该功能能够自动的扩展动态集群,并重建相关的资源。同时,还介绍了使用的相关术语,包括弹性框架,智能的规则、策略及执行。

主要内容包括:

弹性扩展是什么?
相关技术
脚本及数据资源拦截器
弹性扩展是什么?

弹性扩展可以通过两种方式进行配置:

可以在动态集群中,手动添加或移除动态集群服务实例。这种方式称之为按需扩展。您可以通过Oracle Enterprise Management、WebLogic Server
Administration管理控制台或WLST实现按需扩展的配置。
另外,可以设置集群动态扩展策略,可配置集群扩展出发条件,以控制动态集群服务实例的缩放。当扩展策略中定义的条件发生时,自动触发相应的扩展行为。
弹性框架利用WebLogic诊断框架(WLDF)策略和执行组件,编写动态scale
up or scale down集群的策略表达式。这些策略能够监控单个或多个资源,例如内存、线程、CPU等。当符合配置的条件时,扩展将被触发执行。获取更多的关于WLDF和“诊断策略及执行”的信息可浏览“Configuring
Policies and Actions”。

弹性扩展配置的策略包括如下几个方面:

趋势、或历史数据,如在一个特定的时间间隔内的平均变化值。举例来讲,平均JVM堆使用超过一定的阈值就可以定义为一个策略。
动态集群中所有服务实例的运行时相关指标
多服务间的数据可被组合在一起进行策略的配置考虑。举例来讲,可以将负载均衡器的响应时间及后端队列消息积压情况组合形成一个策略。
基于时间的策略。扩展策略可以识别一个特定的日历时间,如一天中的某个时间或一个星期中的某一天,来作为一个触发的条件。
日志的规则或事件的规则。
相关技术

本博主已经安装与配置好的suselinux12 下weblogic12c 集群环境的虚拟机,链接:https://pan.baidu.com/s/14Fu6u87U9iZTQRmZFjARgw
提取码:zyq9
下载后,解压后,可以用vmware workstaion 打开,即可以直接使用。

下表中介绍了在配置weblogic弹性动态集群中所涉及到的相关技术术语:

术语

描述

弹性框架

在weblogic诊断框架基础上开发的组件。允许管理员构建复杂的规则,监控集群中的资源使用情况。

策略

在动态伸缩的集群环境下,配置的条件集合。当某条件发生时,集群的扩展将被执行。

执行

扩展的具体执行动作

动态集群

基于集群服务实例模板构建的具有一个或多个服务实例的集群

按需扩展

通过人工的方式,增加或移除集群实例的方式

按时扩展

基于时间维度定义的集群动态扩展策略,可以是一天中的某个时间或一个星期中的某一天

策略扩展

一个包含多个条件的集合,当多个条件组合发生时,将触发集群弹性扩展执行动作

智能规则

完全图形化配置参数的方式创建一个复杂的策略

脚本及数据资源拦截器

拦截器主要用来配合完成与其他Weblogic子系统及相关组件的集群实例缩放功能。在配置弹性Oracle WebLogic动态集群的过程中引入了两个拦截器,即脚本拦截器和数据源拦截器。

本博主已经安装与配置好的suselinux12 下weblogic12c 集群环境的虚拟机,链接:https://pan.baidu.com/s/14Fu6u87U9iZTQRmZFjARgw
提取码:zyq9
下载后,解压后,可以用vmware workstaion 打开,即可以直接使用。