1、背景
由于MRv1在扩展性、可靠性、资源利用率和多框架等方面存在明显的不足,在Hadoop MRv2中引入了资源管理和调度系统YARN。YARN是 Hadoop MRv2计算机框架中构建的一个独立的、通用的资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。主要体现在以下几个方面:
(1)资源利用率大大提高。一种计算框架一个集群,往往会由于应用程序数量和资源需求的不均衡性,使得在某段时间有些计算框架集群资源紧张,而另外一些集群资源空闲。共享集群模式则通过多种框架共享资源,使得集群中的资源得到更加充分的利用;
(2)运维成本大大降低。共享集群模式使得少数管理员就可以完成多个框架的统一管理;
(3)共享集群的模式也让多种框架共享数据和硬件资源更为方便。
2、产品介绍
巨杉数据库SequoiaDB是一款分布式非关系型文档数据库,可以被用来存取海量非关系型的数据,其底层主要基于分布式,高可用,高性能与动态数据类型设计,它兼顾了关系型数据库中众多的优秀设计:如索引、动态查询和更新等,同时以文档记录为基础更好地处理了动态灵活的数据类型。并且为了用户能够使用常见的分布式计算框架,SequoiaDB可以和常见分布式计算框架如Spark、Hadoop、HBase进行整合。本文主要讲解SequoiaDB与Spark、YARN的整合以及通过一个案例来演示MapReduce分析存储在SequoiaDB中的业务数据。
3、环境搭建
3.1、服务器分布
3.2、软件配置
操作系统:RedHat6.5
JDK版本:1.7.0_80 64位
Scala版本:
Hadoop版本:2.7.2
Spark版本:2.0
SequoiaDB版本:2.0
3.3、安装步骤
1、JDK安装
tar -xvf jdk-7u45-linux-x64.tar.gz –C /usr/local
cd /usr/local
ln -s jdk1.7.0_45 jdk
配置环境变量
vim ~/.bash_profile
export JAVA_HOME=/usr/local/jdk
export CLASS_PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
2、Scala安装
tar -xvf scala-2.11.8.tgz –C /usr/local
cd /usr/local
ln -s scala-2.11.8 scala
配置环境变量
vim ~/.bash_profile
export SCALA_HOME=/usr/local/scala
export PATH=$PATH:$SCALA_HOME/bin
3、修改主机hosts文件配置
在每台主机上修改host文件
vim /etc/hosts
192.168.1.46 node01
192.168.1.47 node02
192.168.1.48 master
4、 SSH免密钥登录
在master节点中执行ssh-keygen按回车键
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
将master节点中的授权文件authorized_keys传输到slave节点中
scp ~/.ssh/id_rsa.pub root@master:~/.ssh/
在slave节点中执行
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
在slave节点中验证SSH免密钥登录
ssh master
5、Hadoop集群安装
拷贝hadoop文件hadoop-2.7.2.tar.gz到/opt目录中
解压hadoop安装包
tar –xvf hadoop-2.7.2.tar.gz
mv hadoop-2.7.2 /opt/cloud/hadoop
创建hadoop数据存储及临时目录
mkdir –p /opt/hadoop/data
mkdir –p /opt/hadoop/tmp
配置Hadoop jdk环境变量
vim hadoop-env.sh
export JAVA_HOME=/usr/local/jdk
编辑core.xml文件
<configuration><property><name>fs.defaultFS</name>