温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Spark环境搭建与测试方法

发布时间:2021-08-03 10:39:56 来源:亿速云 阅读:256 作者:chen 栏目:云计算

本篇内容介绍了“Spark环境搭建与测试方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

0、环境

官方推荐:

Spark runs on Java 6+, Python 2.6+ and R 3.1+. For the Scala API, Spark 1.4.0 uses Scala 2.10. You will need to use a compatible Scala version (2.10.x).

scala2.11.x需要下载额外的spark支持包

本机环境:

ubuntu14.04 + jdk1.8 + python2.7 + scala2.10.5 + hadoop2.6.0 + spark1.4.0

1、安装和配置scala

下载scala,下载地址为:http://www.scala-lang.org/download/2.10.5.html#Other_resources

上传scala安装包 并解压

配置环境变量,vim /etc/profile添加如下:

export JAVA_HOME=/usr/local/java/jdk1.8.0_45
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export HADOOP_HOME=/home/nob/opt/hadoop-2.6.0
export SCALA_HOME=/home/nob/opt/scala-2.10.5
export SPARK_HOME=/home/nob/opt/spark-1.4.0-bin-hadoop2.6
export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:$PATH

source /etc/profile后,输入scala -version可以看到版本信息

2、spark配置

下载解压到:/home/nob/opt/spark-1.4.0-bin-hadoop2.6

配置运行环境,编辑spark-env.sh

nob@nobubuntu:~/opt/spark-1.4.0-bin-hadoop2.6$ vim conf/spark-env.sh

export JAVA_HOME=/usr/local/java/jdk1.8.0_45
export SCALA_HOME=/home/nob/opt/scala-2.10.5
export HADOOP_HOME=/home/nob/opt/hadoop-2.6.0
export HADOOP_CONF_DIR=/home/nob/opt/hadoop-2.6.0/etc/hadoop
export SPARK_MASTER_IP=nobubuntu
export SPARK_WORKER_MEMORY=512M

SPARK_MASTER_IP为master节点的ip或hostname

3、启动

nob@nobubuntu:~/opt/spark-1.4.0-bin-hadoop2.6$ sbin/start-all.sh 
starting org.apache.spark.deploy.master.Master, logging to /data/server/spark-1.4.0-bin-hadoop2.6/sbin/../logs/spark-nob-org.apache.spark.deploy.master.Master-1-nobubuntu.out
nobubuntu: org.apache.spark.deploy.worker.Worker running as process 10297.  Stop it first.
nob@nobubuntu:~/opt/spark-1.4.0-bin-hadoop2.6$ jps
8706 DataNode
9062 ResourceManager
10775 Jps
9192 NodeManager
10569 Master
10297 Worker
8572 NameNode
8911 SecondaryNameNode
nob@nobubuntu:~/opt/spark-1.4.0-bin-hadoop2.6$

jps可以看到Master和Worker进程,访问http://nobubuntu:8080/可以看到运行的详细信息

4、利用Spark自带的Python shell测试

使用PySpark shell, 在Spark解压的源码路径下,运行

bin/pyspark

在提示符下,依次输入下面的命令

>>> lines = sc.textFile("README.md")
>>> lines.count()
>>> lines.first()

5、修改打印日志的级别

经过上面的运行,发现shell环境中打印的日志过多, 为此我需要调整以下日志的级别.为此,我在

conf目录下面新建一个文件log4j.properties,它是log4j.properties.template的副本,将其中

下面的行

log4j.rootCategory=INFO, console

改为

log4j.rootCategory=WARN, console

然后重新打开shell,发现调试信息少了很多

6、使用Scala shell测试line count小程序

打开Scala版本的shell,运行

bin/spark-shell
scala> val lines = sc.textFile("README.md")
scala> lines.cout()
scala> lines.first()

一个独立的应用,这里演示python,当时你也可以使用scala或者java都很简单,自官方文档

"""SimpleApp.py"""
from pyspark import SparkContext

logFile = "YOUR_SPARK_HOME/README.md"  # Should be some file on your system
sc = SparkContext("local", "Simple App")
logData = sc.textFile(logFile).cache()

numAs = logData.filter(lambda s: 'a' in s).count()
numBs = logData.filter(lambda s: 'b' in s).count()

print "Lines with a: %i, lines with b: %i" % (numAs, numBs)

使用 bin/spark-submit来执行上面的脚本

# Use spark-submit to run your application
$ YOUR_SPARK_HOME/bin/spark-submit --master local[4] SimpleApp.py
...
Lines with a: 46, Lines with b: 23

“Spark环境搭建与测试方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI