sparkSQL1.1入门之五:测试环境之搭建

前面介绍了sparkSQL的运行架构,后面将介绍sparkSQL的使用。在介绍sparkSQL的使用之前,我们需要搭建一个sparkSQL的测试环境。本次测试环境涉及到hadoop之HDFS、hive、spark以及相关的数据文件,相关的信息如下:

测试环境示意图:

本测试环境是在一台物理机上搭建的,物理机的配置是16G内存,4核8线程CPU。hadoop1、hadoop2、hadoop3是vitual box虚拟机,构建hadoop集群和spark集群;物理机wyy作为客户端,编写代码和提交计算任务。总的测试环境配置如下:

 机器名  配置  角色  软件安装
 hadoop1  4G内存,1核  hadoop:NN/DN Spark:Master/worker /app/hadoop/hadoop220

/app/hadoop/spark110

/app/scala2104

/usr/java/jdk1.7.0_21

 hadoop2  4G内存,1核  hadoop:DN Spark:worker

hive0.13客户端

/app/hadoop/hadoop220

/app/hadoop/spark110

/app/hadoop/hive013

/app/scala2104

/usr/java/jdk1.7.0_21

 hadoop3  4G内存,1核  hadoop:DN Spark:worker

hive0.13 metaserver service

mysql server

/app/hadoop/hadoop220

/app/hadoop/spark100

/app/hadoop/hive013

/app/scala2104

/usr/java/jdk1.7.0_21

MySQL5.6.12

 wyy  16G内存,4核  client

hive0.13客户端

/app/hadoop/hadoop220

/app/hadoop/spark110

/app/hadoop/hive013

以上hadoop220、spark、hive安装目录的用户属性都是hadoop(组别为hadoop),其他安装目录的用户属性是root:root。

测试环境搭建顺序

1:虚拟集群的搭建(hadoop1、hadoop2、hadoop3)

A:hadoop2.2.0集群搭建

参照博客hadoop2.2.0测试环境搭建

或者参看视频 http://pan.baidu.com/s/1qWqFY4c提取密码:xv4i

B:MySQL的安装

参照博客mysql5.6.12 for Linux安装

C:hive的安装

参照博客Hive 0.11.0 远程模式搭建

本测试中使用的hive0.13,和hive0.11的安装一样。

hive安装在hadoop3、hadoop2、wyy。其中hadoop3启动metastore serive;hadoop2、wyy配置uris后作为hive的客户端。

D:Spark1.1.0 Standalone集群搭建

参照博客 Spark1.0.0 on Standalone 模式部署

这里需要注意的是,本测试中使用的是spark1.1.0,部署包生成命令make-distribution.sh的参数发生了变化,spark1.1.0的make-distribution.sh使用格式:

./make-distribution.sh [--name] [--tgz] [--with-tachyon] <maven build options>

参数的含义:

--with-tachyon:是否支持内存文件系统Tachyon,不加此参数时为不支持。

--tgz:在根目录下生成 spark-$VERSION-bin.tar.gz,不加此参数是不生成tgz文件,只生成/dist目录。

--name NAME :和— tgz 结合可以生成 spark-$VERSION-bin-$NAME.tgz 的部署包,不加此参数时 NAME 为 hadoop 的版本号。

maven build options:使用maven编译时可以使用的配置选项,如使用-P、-D的选项

本次要生成基于hadoop2.2.0和yarn并集成hive、ganglia、asl的spark1.1.0部署包,可以使用命令:

./make-distribution.sh --tgz --name 2.2.0 -Pyarn -Phadoop-2.2 -Pspark-ganglia-lgpl -Pkinesis-asl -Phive

最后生成部署包spark-1.1.0-bin-2.2.0.tgz,按照测试环境的规划进行安装。

2:客户端的搭建

客户端wyy采用的Ubuntu操作系统,而Spark虚拟集群采用的是CentOS,默认的java安装目录两个操作系统是不一样的,所以在Ubuntu下安装java的时候特意将java的安装路径改成和CentOS一样。不然的话,每次scp了虚拟集群的配置文件之后,要修改hadoop、spark运行配置文件中的JAVA_HOME。

客户端hadoop2.2.0、Spark1.1.0、hive0.13是直接从虚拟集群中scp出来的,放置在相同的目录下,拥有相同的用户属性。开发工具使用的IntelliJ IDEA,程序编译打包后复制到spark1.1.0的根目录/app/hadoop/spark110下,使用spark-submit提交虚拟机集群运行。

3:文件数据准备工作

启动hadoop2.2.0(只需要HDFS启动就可以了),然后将数据文件上传到对应的目录:

4:hive数据准备工作

在hive里定义一个数据库saledata,和三个表tblDate、tblStock、tblStockDetail,并装载数据,具体命令:

CREATE DATABASE SALEDATA;
use SALEDATA;

//Date.txt文件定义了日期的分类,将每天分别赋予所属的月份、星期、季度等属性
//日期,年月,年,月,日,周几,第几周,季度,旬、半月
CREATE TABLE tblDate(dateID string,theyearmonth string,theyear string,themonth string,thedate string,theweek string,theweeks string,thequot string,thetenday string,thehalfmonth string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' ;

//Stock.txt文件定义了订单表头
//订单号,交易位置,交易日期
CREATE TABLE tblStock(ordernumber string,locationid string,dateID string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' ;

//StockDetail.txt文件定义了订单明细
//订单号,行号,货品,数量,金额
CREATE TABLE tblStockDetail(ordernumber STRING,rownum int,itemid string,qty int,price int,amount int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' ;

//装载数据
LOAD DATA LOCAL INPATH '/home/mmicky/mboo/MyClass/doc/sparkSQL/data/Date.txt' INTO TABLE tblDate;

LOAD DATA LOCAL INPATH '/home/mmicky/mboo/MyClass/doc/sparkSQL/data/Stock.txt' INTO TABLE tblStock;

LOAD DATA LOCAL INPATH '/home/mmicky/mboo/MyClass/doc/sparkSQL/data/StockDetail.txt' INTO TABLE tblStockDetail;

最终在HDFS可以看到相关的数据:

5:开始享受sparkSQL之旅。。。

最近将在炼数成金开课Spark大数据快速计算平台(第三期),本资料为新课素材。

时间: 2024-09-28 23:54:00

sparkSQL1.1入门之五:测试环境之搭建的相关文章

sqlmap的安装和测试环境的搭建

1.sqlmap的官网 http://sqlmap.org/ 上的可以下载到最新的sqlmap版本 2.需要安装python2.7 可以去官网下载 https://www.python.org/,注意配置环境变量 3.测试sqlmap是否安装成功,解压sqlmap,进行其目录,进入cmd,运行python sqlmap.py 测试环境的搭建 注意尽量使用google chrome浏览器,因为它可以方便用使用快捷菜单的检查选项来查看HTML请求的具体细节 1.下载wampserver x64 注意

Python 语言搭建SELENIUM测试环境,搭建过程记录。

第一步,安装Python: 第二步,安装SetupTools: 第三步,安装Pip: 第四步,安装selenium(for python) 第五步,新建第一个基于Firefox的测试用例 上述 只是步骤,具体内容,明天补充,睡觉 咯--- Python 语言搭建SELENIUM测试环境,搭建过程记录.

selenium + python + firefox 测试环境的搭建与配置

对于做UI自动化,如果是纯编写一段自动化测试程序,那么后续的维护成本会较高.这种情况下,借助 selenium 这款自动化系测试工具,辅助于自己编写部分脚本,将是个不错的选择.selenium 本身支持多种语言,由于测试对象是用 python 编写的,所以决定采用 selenium + python 的组合. selenium 支持多种浏览器,从 firefox 说起,一起来讨论 windows 系统下测试环境的搭建. 1. 安装 python 官网: www.python.org,下载后进行安

测试环境的搭建和维护

一.测试环境分类 功能测试环境: 性能测试环境. 二.操作步骤 开发人员撰写安装和维护手册: 按照安装和维护手册手动或自动进行搭建和维护(运维.开发.测试人员均可操作): 安装和维护手册应详细完整,经常维护更新文档. 三.测试环境搭建原则 尽可能与上线的正式环境保持一致: 也可采用同比例缩小的方式:应用服务器.缓存服务器.数据库服务器各一台,或者每层两台以便模拟分布式情况: 正式环境应做冒烟测试.跟踪测试. 一点个人补充: 总结下来说我们环境分为三套, 1测试环境,主要用于日常测试等 2开发环境

正式环境数据迁移到测试环境及测试环境LAMP搭建

参照正式环境扩展模块来搭建测试环境,否则访问不了 PHP 代码 PDO.PDO_MYSQL.OPENSSL.SSL.CURL等扩展模块 正式环境 Windows Server 2008 R2 X64 Apache+MySQL+PHP+FTP服务 备份MySQL.PHP.APP数据 通过anv软件连接MySQL数据库备份 将 goshop数据库备份,格式为goshop.sql 通过Filezilla软件连接FTP服务,备份PHP及APP数据 正式环境数据备份好后,开始搭建测试环境,将数据上传至测试

dvwa网络渗透测试环境的搭建

practice makes perfect,对于一个web安全的初学者来说,实际的渗透练习是提升自己技能的不二法门,但是我们总不能再没有允许的条件下对别人的网站动手动脚,今天来分享一下用于测试的web渗透环境: Damn Vulnerable Web Application 1.到官方网站下载dvwa:http://www.dvwa.co.uk/. 2.在我们的lamp环境上部署dvwa.要做到能够访问. 3.修改config/config.inc.php文件 4.最好修改一下安全等级便于亲自

Linux平台 Oracle 11g DG测试环境快速搭建参考

环境现状: 两台虚拟主机A和B: 1. A机器已安装ASM存储的Oracle 11g 实例 参考:http://www.cnblogs.com/jyzhao/p/4332410.html 2. B机器已安装系统,配置以及目录结构均和A机器保持一致 /u01 + 3块ASM盘 DG部署规划:   primary standby 主机 JY-DB JY-DBS db_name jyzhao jyzhao db_unique_name jyzhao jyzhao_s instance_name jyz

docker安装+测试环境的搭建---

漏洞演练环境docker地址:http://vulhub.org/#/environments/ 环境:kali-linux-2017.2-amd64.iso 一.docker安装 1.先更新一波源:vim etc/apt/sources.list(先按i进行编辑,然后编辑完,shift+esc退出编辑,然后输入:wq 回车,退出编辑) xx源:deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-f

一些基本LINUX命令以及测试环境的搭建

LINUX操作系统平时用的不多,资深测试与开发同学们用的比较多,像我这样的一个人,只喜欢WINDOWS操作系统.但LINUX操作系统也用过一段时间, 知道一些基本命令,如果不记得的话,就百度一下,拿来就用,也不会太难.下面记录一下自己知道的一些常用命令,方便自己查询,以供大家参考. 首先 LINUX系统的特点是:稳定,安全,开源,可裁剪性.(可裁剪性还真没有理解透) 其次:LINUX 有四个版本,分别是:DEBIAN,UBUNTU,RED HAT,CENTOS. 我只用过CENTOS版本,不过公