Spark On Yarn安装和使用_怎么看spark on yarn安装正确_lbship的博客-程序员宅基地

技术标签: spark  

已经搭建好Hadoop2.6了,现在准备在yarn上搭建spark。

一.安装Scala

1.解压

tar -xvzf scala-2.10.6.tgz

2.添加环境变量

vim  ~/.bashrc

export SCALA_HOME=/usr/local/src/scala-2.10.6

export PATH=$PATH:$SCALA_HOME/bin

source一下,查看是否安装成功

二.安装spark 

1.下载spark到指定目录

 wget https://archive.apache.org/dist/spark/spark-1.6.1/spark-1.6.1-bin-hadoop2.6.tgz  /usr/local/src

2.解压:

tar -xvzf scala-2.10.6.tgz

3.配置spark

vim ~/.bashrc

添加

export SPARK_HOME=/usr/local/src/spark-1.6.1-bin-hadoop2.6

export PATH=$PATH:$SCALA_HOME/bin:$SPARK_HOME/bin

cd 到spark目录的conf文件夹

cp spark-env.sh.template spark-env.sh

vim spark-env.sh

在末尾添加

export JAVA_HOME=/usr/local/src/jdk1.6.0_45   #Java环境变量
export SCALA_HOME=/usr/local/src/scala-2.10.6 #SCALA环境变量
export SPARK_WORKING_MEMORY=1g  #每一个worker节点上可用的最大内存
export SPARK_MASTER_IP=master   #驱动器节点IP
export HADOOP_HOME=/usr/local/src/hadoop-2.6.1  #Hadoop路径
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop #Hadoop配置目录
export SPARK_CLASSPATH=/usr/local/src/spark-1.6.1-bin-hadoop2.6/libext #把MySQL驱动jar包放里面

这里记得把MySQL驱动放到libext目录里面,不然启动会报错。

配置slave

cp slaves.template slaves

vim slaves

末尾添加

slave1
slave2

 

三验证是否成功

到spark安装目录的sbin文件夹下面

./start-all.sh

或者输入spark-shell

如果遇到报错:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/launcher/Main

是因为项目缺少slf4j-api.jarslf4j-log4j12.jar这两个jar包导致的错误

spark-env.sh文件中添加:

export SPARK_DIST_CLASSPATH=$(${HADOOP_HOME}/bin/hadoop classpath)

如果还是不行,可能是java版本不对,换成1.7以上的版本,比如我

于是我就换成了JDK1.7版本。。

接着输入spark-shell,终于成功了

四、启动任务

spark有几种启动模式,通过--master来指定,具体可以通过spark-shell --help获得帮助,我们现在通过yarn模式启动。

spark-shell --master spark://master:7077

http://192.168.116.10:8080/去 查看

可以看到增加了Running Applications这一行

五、连接Hive

把安装好的hive里面的hive-site.xml复制到spark的conf目录下:

 cp hive-site.xml  /usr/local/src/spark-1.6.1-bin-hadoop2.6/conf

启动

spark-shell --master local[2] --jars /usr/local/src/spark-1.6.1-bin-hadoop2.6/libext/com.mysql.jdbc.Driver.jar

import org.apache.spark.sql.hive.HiveContext

val hiveContext = new HiveContext(sc)

hiveContext.sql("show tables").show()

可以发现已经可以看到hive里面的表了

如果遇到报错,是因为没有指定MySQL的Jar包导致的,所以我在启动spark-shell的时候加入了--jars包来启动

<console>:16: error: not found: value sqlContext
         import sqlContext.implicits._
                ^
<console>:16: error: not found: value sqlContext
         import sqlContext.sql

这样使用SQL有点麻烦,接下来测试跟hive一样的方式,直接使用SQL,实际上就是把spark-shell改成spark-sql

spark-sql --master local[2] --jars /usr/local/src/spark-1.6.1-bin-hadoop2.6/libext/com.mysql.jdbc.Driver.jar

可以到http://192.168.116.10:4040/jobs/来查看任务的运行情况。

六、使用thriftserver和beeline

1.到spark安装目录的sbin目录底下启动服务:

./start-thriftserver.sh --master local[2] --jars /usr/local/src/spark-1.6.1-bin-hadoop2.6/libext/com.mysql.jdbc.Driver.jar

然后通过jps或者jps-m可以看到多了一个sparksubmit这个任务就成功了。这个thriftserver默认端口是10000,可以在启动时候出入参数--hiveconf来修改端口

2.通过beeline来连接

到spark安装目录的bin文件夹下:

 ./beeline -u jdbc:hive2://localhost:10000 -n master  (这里的-n是当前 机器登录名字不是用户名,-u表示url)

可以看到连接的相关信息

输入show tables可以看到表信息

使用thriftserver和使用spark-shell的区别好处是:

1.不论多少客户端(beeline/code)连接,都只有一个spark application

2.可以不同客户端之间可以数据共享。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lbship/article/details/82854524

智能推荐

IDEA 关于request.getParameter() 爆红问题_idea request.getparameter_月入窗来的博客-程序员宅基地

在用idea 里面用到request.get...()一系列函数时,出现了爆红的问题_idea request.getparameter

unity3d 布娃娃系统_unity布娃娃系统做被击打-程序员宅基地

文章目录布娃娃系统简介使用方法布娃娃系统简介布娃娃系统就是物体死亡的时候,为了使之逼真而采用的系统。通过以下GameObject&gt;3D Object&gt;Ragdoll…路径可以显示下面的菜单。Pelvis 骨盆Left Hips 左臀Left Knee 左膝盖Left Foot 左脚Right Hips 右臀Right Knee 右膝盖Right Foot 右脚..._unity布娃娃系统做被击打

SpringSecurity_Pointer_Z的博客-程序员宅基地

SpringSecurity安全简介1、在 Web 开发中,安全一直是非常重要的一个方面。安全虽然属于应用的非功能性需求,但是应该在应用开发的初期就考虑进来。如果在应用开发的后期才考虑安全的问题,就可能陷入一个两难的境地:一方面,应用存在严重的安全漏洞,无法满足用户的要求,并可能造成用户的隐私数据被攻击者窃取;另一方面,应用的基本架构已经确定,要修复安全漏洞,可能需要对系统的架构做出比较重大的调整,因而需要更多的开发时间,影响应用的发布进程。因此,从应用开发的第一天就应该把安全相关的因素考虑进来,并在整

Matplotlib-高级篇(优化柱状/条形图)_plt柱状图紧凑一点-程序员宅基地

实现步骤:做好绘制前的准备工作:导包,中文环境设置,准备画布与数据等准备绘制图表所需的参数数据: a. 绘制的条形宽度 b. 绘制的条形位置(中心) c.条形图的高度(数据值)核心图形绘制。 绘制条形图的主体,条形图实质就是一系列的矩形元素,我们通过plt.bar函数来绘制条形图向各条形上添加数据标签绘制x,y 坐标轴刻度及标签,标题,并最终显示出图表代码演示..._plt柱状图紧凑一点

Jmeter系列(27)- 详解正则提取器_jmeter正则提取器-程序员宅基地

有了 JSON 提取器为啥还要用正则提取器?JSON 提取器只针对接口返回的响应内容 如果想提取的是响应头、请求头的值,而非响应内容的值呢? 这个时候正则提取器的作用就出来了,它可以提取请求任一部分的值需知正则表达式很多内容,在这篇文章中不会展开详细说的哦,主要还是说提取器的使用 想详细学习正则表达式可以看这系列的文章:测试必知必会系列 - 正则表达式 - 随笔分类 - 小菠萝测试笔记 - 博客园正则提取器我们通过实际栗子去讲述理论知识点正则提取器界面介绍_jmeter正则提取器

Java连接RFC综合例子,Sap接口集成例子,java调用sap例子 java使用sapjco3处理RFC集成 sap快速二次开发 sap接口开发入门到精通_java封装rfc-程序员宅基地

最近使用java连接RFC,把这个例子保存,以后方便查看。import java.io.File;import java.io.FileOutputStream;import java.util.Properties;import com.sap.conn.jco.JCoDestination;import com.sap.conn.jco.JCoDestinationManager;import com.sap.conn.jco.JCoException;import com.s..._java封装rfc

随便推点

PHPStorm+Wamp+Xdebug+Windows7调试代码-程序员宅基地

Wamp集成环境 PHPStorm+Xdebug调试代码 2013.04.16 花了两个小时时间终于,配置成功了! 我的开发环境如下,其它环境也可以参考我的配置 开发环境: Windows 7 64bit wampserver2.2e-php5.3.13-ht...

多线程的创建方式之实现Callable接口-程序员宅基地

与实现Runable接口相比,Callable功能更强大1.与run()方法相比,call()方法可以有返回值2.call()方法可以抛出异常3.call()方法支持泛型的返回值4.call()方法的返回值以及线程的调用需要借助于FutureTask类来实现5.FutureTask的run方法是线程安全的,使用的是CAS机制示例代码:packag...

CPU飙高和频繁GC问题排查-程序员宅基地

CPU飙高和频繁GC问题排查前言处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警。本文主要针对系统运行缓慢这一问题,提供该问题的排查思路,从而定位出问题的代码点,进而提供解决该问题的思路。对于线上系统突然产生的运行缓慢问题,如果该问题导致线上系统不可用,那么首先需要做的...

Pmac联合QT开发入门指南_pmac.selectdevice-程序员宅基地

利用QTCreator开发Pmac上位机软件教程_pmac.selectdevice

简单读!tomcat源码(一)启动与监听-程序员宅基地

  tomcat 作为知名的web容器,很棒! 本文简单了从其应用命令开始拆解,让我们对他有清晰的了解,揭开神秘的面纱!(冗长的代码流水线,给你一目了然)话分两头: 1. tomcat是如何启动的? 2. tomcat是如何接收请求的? x. 应用程序是怎样接入tomcat的?从何处开始?/etc/init.d/tomcat..._tonmcat启动监听

【优化调度】基于鸟群算法求解车间调度问题Matlab源码_调度问题完工时间表示matlab代码_Matlab科研工作室的博客-程序员宅基地

1 简介柔性作业车间调度问题是生产调度领域中非常重要的一类带约束优化问题.根据其求解特性,提出一种基于鸟群算法求解以最小化最大完工时间为目标的柔性作业车间调度问题的方法2 部分代码clc;clear%% 下载数据% 加工数据包括加工时间,加工机器,机器数,各机器权重,工件数,各工件对应的工序数loaddataoperation_timeoperation_machinenum_machinemachine_weightnum_jobnum_op..._调度问题完工时间表示matlab代码