博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spark 独立模式部署
阅读量:2427 次
发布时间:2019-05-10

本文共 2301 字,大约阅读时间需要 7 分钟。

部署环境

# 操作系统:ubuntu-16.04-x64# jdk版本:1.8# scala版本:2.11.6# spark版本:spark-2.0.1-bin-hadoop2.6# 主机ip:192.168.103.12

独立模式

除了在mesos或yarn集群管理器运行,spark还提供了一个简单的独立部署模式(standalone)。它除了可以部署到单机,也可以部署到集群中,不依赖任何其他资源管理系统。

安装步骤

1.安装前准备

安装jdk-1.8

root# java -version java version "1.8.0_151"Java(TM) SE Runtime Environment (build 1.8.0_151-b12)Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

安装scala-2.11

root@sparkclient:/opt/spark/spark-2.0.1-bin-hadoop2.6# scala -version Scala code runner version 2.11.6 -- Copyright 2002-2013, LAMP/EPFL

下载spark-2.0.1-bin-hadoop2.6,点击

2.安装spark

上传安装包到主机上

root# ls -l total 180560-rw-r--r-- 1 root root 184890838 May  8 16:52 spark-2.0.1-bin-hadoop2.6.tgz

解压并创建安装目录

# mkdir -p /opt/spark    # 创建安装目录 # tar xf spark-2.0.1-bin-hadoop2.6.tgz   # 解压安装包 # mv spark-2.0.1-bin-hadoop2.6 /opt/spark

修改环境变量

# vim /etc/profile

添加以下内容

export SPARK_HOME=/opt/spark/spark-2.0.1-bin-hadoop2.6export PATH=${SPARK_HOME}/bin:$PATH

使修改生效

# source /etc/profile

spark shell命令行

spark自带了spark-shell和pyspark 两个交互式shell,可以以脚本方式进行交互式执行。spark-shell依赖scala,pyspark依赖python。所以为了交互shell能正常运行,需要预先安装好依赖组件,这里以spark-shell为例。

进入Spark-Shell只需要执行spark-shell即可:

#spark-shell

进入到Spark-Shell后可以使用Ctrl D组合键退出Shell

在Spark-Shell中我们可以使用scala的语法进行简单的测试,比如下图所示我们运行下面几个语句获得文件/etc/protocols的行数以及第一行的内容:

scala> var file = sc.textFile("/etc/protocols")file: org.apache.spark.rdd.RDD[String] = /etc/protocols MapPartitionsRDD[1] at textFile at 
:24scala> file.count()res0: Long = 64scala> file.first()res1: String = # Internet (IP) protocols

上面的操作中创建了一个RDD file,执行了两个简单的操作:

  • count()获取RDD的行数
  • first()获取第一行的内容

spark 分布式服务

1.启动主节点

# cd /opt/spark/spark-2.0.1-bin-hadoop2.6/# ./sbin/start-master.sh

没有报错的话表示master已经启动成功,master默认可以通过web访问http://192.168.103.12:8080

这里写图片描述
图中所示,master中暂时还没有一个worker,我们启动worker时需要master的参数,该参数已经在上图中标志出来:spark://sparkclient:7077

2.启动从节点

./sbin/start-slave.sh spark://sparkclient:7077

没有报错表示启动成功,再次刷新浏览器页面可以看到下图所示新的worker已经添加:

这里写图片描述

3.测试实例

spark shell 连接测试

使用spark-shell连接master再次进行上述的文件行数测试,如下图所示,注意把master参数替换成你实验环境中的实际参数:

这里写图片描述

新master的web页面,可以看到新的Running Applications,如下图所示:

这里写图片描述

当退出spark-shell时,这个application会移动到Completed Applications一栏。

spark 自带pi计算测试

# spark-submit --class org.apache.spark.examples.SparkPi --master  spark://sparkclient:7077 examples/jars/spark-examples_2.11-2.2.1.jar 100

运行结果如下:

这里写图片描述

你可能感兴趣的文章
【Java】-- Java核心知识点总结
查看>>
【数据库】SQL之重点知识点总结
查看>>
【计算机网络】计算机网络知识总结
查看>>
【Java】【Web】JavaWeb相关知识总结 2018-9-17
查看>>
【数据库】突破单一数据库的性能限制——数据库-分库分表总结 2018-9-20
查看>>
【Java】Java常用包的功能 2018-09-21
查看>>
【Java】Map接口主要的四个常用实现类 2018-9-22
查看>>
【Java】HttpServletRequest常用方法2012-9-22
查看>>
【Java】【WEB】XML配置和注解配置的区别 2018-9-23
查看>>
【Java】【WEB】servlet线程不安全问题 2018-9-23
查看>>
【计算机网络】【HTTPS】HTTPS通信原理剖析 2018-9-25
查看>>
【java】优先队列问题2018-9-25
查看>>
【Java】【web】【计算机网络】cookie学习总结 2018-9-28
查看>>
【Java】【编程练习】给定一个整数数组A及它的大小n,同时给定要查找的元素val,请返回它在数组中的位置(从0开始),若不存在该元素,返回-1。若该元素出现多次请返回第一个找到的位置.2018-9
查看>>
【Java】【编程练习】输入一个正整数n,求n!(即阶乘)末尾有多少个 0 ? 2018-9-28
查看>>
【Java】【web】【计算机网络】session学习总结 2018-9-28
查看>>
【计算机网络】【WEB】DNS域名解析过程(十步走) 2018-9-28
查看>>
【java】【web】Web组件之间的跳转方式 2018-9-29
查看>>
【Java】【web】Servlet的三大作用域对象 2018-8-29
查看>>
【转载】【计算机网络】【TCP】当我们说"TCP是可靠协议"时,我们真正表达的是什么?
查看>>