spark单机运行部署

环境预装

需要预先下载jdk和spark。机器使用centos6.6(推荐)。然后依次运行

[root@spark-master root]# cd /root

#安装必要的软件
[root@spark-master root]# yum install -y tar git curl wget #下载jdk
[root@spark-master root]# wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-linux-x64.rpm #安装jdk
[root@spark-master root]# rpm -ivh jdk-8u91-linux-x64.rpm #下载spark
[root@spark-master root]# wget http://mirrors.hust.edu.cn/apache/spark/spark-1.6.2/spark-1.6.2-bin-hadoop2.6.tgz #解压spark
[root@spark-master root]# tar xzvf spark-1.6.2-bin-hadoop2.6.tgz

配置

  1. 关闭selinux。setenfore 0
  2. 通过hostname查看机器名,然后加入到/etc/hosts中。
  3. 配置/etc/profile。在文件最后添加export JAVA_HOME=/usr/java/jdk1.8.0_91。然后运行source /etc/profile使其生效。

运行spark服务

启动spark master服务

[root@spark-master root]# cd /root/spark-1.6.2-bin-hadoop2.6
[root@spark-master spark-1.6.2-bin-hadoop2.6]# ./sbin/start-master.sh

启动spark node服务

[root@spark-master root]# cd /root/spark-1.6.2-bin-hadoop2.6
[root@spark-master spark-1.6.2-bin-hadoop2.6]# ./sbin/start-slave.sh spark://node1:7077

node1为机器名。根据实际的机器名进行修改。

spark样例运行

通过pyspark进行运算

这里以统计/etc/profile的行数为例。

[root@spark-master root]# cd /root/spark-1.6.2-bin-hadoop2.6/bin
[root@spark-master bin]# ./pyspark --master local[2] # 导入数据
>>> distFile = sc.textFile("/etc/profile") # 统计行数
>>> distFile.count()

这里local[2]代表了在本地启动两个线程模拟node进行计算。如果搭建完成了本地的搭建,即可以使用./pyspark --master spark://node1:7077,从而使用本地的node进行计算。

任务提交

pyspark是使用交互的方式进行提交任务。当然也可以通过spark-submit进行提交。

首先创建test.py文件,文件内容如下:

from pyspark import SparkContext
sc = SparkContext("local", "Simple App")
distFile = sc.textFile("/etc/profile")
print distFile.count()

使用spark-submit提交任务。

[root@spark-master root]# cd /root/spark-1.6.2-bin-hadoop2.6
[root@spark-master spark-1.6.2-bin-hadoop2.6]# ./bin/spark-submit --master local[2] test.py

参考资料

spark单机部署及样例运行的更多相关文章

  1. Kafka在Linux上安装部署及样例测试

    Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了 ...

  2. 向peersim开火!P2P开火!(安装和样例运行)

    根据导师的要求,这次的任务是要模拟一个类似BT网络的P2P网络,并实现一些算法,查了些资料,都说NS2对于P2P网络的模拟和支持都不好,基本没有模板可以用,而且效率很低,只能模拟几万个节点左右,看到挺 ...

  3. spark mllib lda 中文分词、主题聚合基本样例

    github https://github.com/cclient/spark-lda-example spark mllib lda example 官方示例较为精简 在官方lda示例的基础上,给合 ...

  4. 【UNIX网络编程(三)】TCP客户/server程序演示样例

    上一节给出了TCP网络编程的函数.这一节使用那些基本函数编写一个完毕的TCP客户/server程序演示样例. 该样例运行的过程例如以下: 1.客户从标准输入读入一行文本,并写给server. 2.se ...

  5. C++的性能C#的产能?! - .Net Native 系列《三》:.NET Native部署测试方案及样例

    之前一文<c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATIVE初窥> 获得很多朋友支持和鼓励,也更让我坚定做这项技术的推广者,希望能让更多的朋友了解这项技术,于是先从官方 ...

  6. Spark执行样例报警告:WARN scheduler.TaskSchedulerImpl: Initial job has not accepted any resources

    搭建Spark环境后,调测Spark样例时,出现下面的错误:WARN scheduler.TaskSchedulerImpl: Initial job has not accepted any res ...

  7. PHP初学者如何搭建环境,并在本地服务器(or云端服务器)运行自己的第一个PHP样例

    页面底部有PHP代码样例供测试使用. 1.PHP开发,你需要什么? 1)开发代码的工具,可以用IDE名字叫做phpDesigner.当然也可以临时用记事本代替,记得文件扩展名为.php 2)服务器(本 ...

  8. 06、部署Spark程序到集群上运行

    06.部署Spark程序到集群上运行 6.1 修改程序代码 修改文件加载路径 在spark集群上执行程序时,如果加载文件需要确保路径是所有节点能否访问到的路径,因此通常是hdfs路径地址.所以需要修改 ...

  9. 学好Spark/Kafka必须要掌握的Scala技术点(二)类、单例/伴生对象、继承和trait,模式匹配、样例类(case class)

    3. 类.对象.继承和trait 3.1 类 3.1.1 类的定义 Scala中,可以在类中定义类.以在函数中定义函数.可以在类中定义object:可以在函数中定义类,类成员的缺省访问级别是:publ ...

随机推荐

  1. 原生AJAX基础讲解及兼容处理

    原文:原生AJAX基础讲解及兼容处理 AJAX = Asynchronous JavaScript and XML (异步的JavaScript和XML). AJAX不是新技术 ,但却是热门的技术.它 ...

  2. C#获取本机所有用户名

    using System.DirectoryServices; using System.Runtime.InteropServices; (需要添加引用) [StructLayout(LayoutK ...

  3. SQL点滴35—SQL语句中的exists

    原文:SQL点滴35-SQL语句中的exists 比如在Northwind数据库中有一个查询为 SELECT c.CustomerId,CompanyName FROM Customers c WHE ...

  4. SQL点滴28—一个简单的存储过程

    原文:SQL点滴28-一个简单的存储过程 在表中写入一条数据同事要向另外一个表中写入信息,所以会使用到事务.实际使用的时候还会一次向一个表中吸入多条数据,下面的存储过程,将字符串拆分成数组然后写入到表 ...

  5. Redis查看帮助文档

    Redis查看帮助文档的方式,目前我用到的主要有两种: 1.访问官方文档: Redis文档 2.在redis-cli中通过命令查看,输入"?"或者"help"回 ...

  6. c#分部类型详解

    一.先看代码来理解 代码一 class ClassA { void A(){;} void B(){;} } 代码二 partial class ClassA { void A(){;} } part ...

  7. mysql查询字段值为数字

    原文:mysql查询字段值为数字 我想查询字段值为数字的sql如下:select * from tj_item_result where tj_value REGEXP '^[0-9]'

  8. 对Extjs中store的多种操作

    Store.getCount()返回的是store中的所有数据记录,然后使用for循环遍历整个store,从而得到每条记录. 除了使用getCount()的方法外,还可以使用each()函数,如下面的 ...

  9. strus2 action重复执行问题

    近日做项目,有两个模块功能类似,就写到了一个action中,方法起名为getXXX1,getXXX2 最后在两个模块去调用的时候,分别调用DemoAction!getXXX1.action和DemoA ...

  10. FormsAuthentication知多少

    前述:对于FormsAuthentication相信大家都烂熟于胸了,这里只是做一下小结. 一.先看一下使用FormsAuthentication做登录认证的用法 用法一: FormsAuthenti ...