• 目录
  • 1、Spark集群安装
    • 1.1. 安装
  • 2、启动Spark Shell
    • 2.1、启动spark shell
    • 2.2、在spark shell中编写WordCount程序

目录

1、Spark集群安装

1.1. 安装

1.1.1. 机器部署
准备两台以上Linux服务器,安装好JDK1.7
1.1.2. 下载Spark安装包

下载地址:http://www.apache.org/dyn/closer.lua/spark/spark-1.5.2/spark-1.5.2-bin-hadoop2.6.tgz
上传解压安装包
上传spark-1.5.2-bin-hadoop2.6.tgz安装包到Linux上
解压安装包到指定位置
tar -zxvf spark-1.5.2-bin-hadoop2.6.tgz -C /usr/local

1.1.3. 配置Spark
进入到Spark安装目录
cd /usr/local/spark-1.5.2-bin-hadoop2.6
进入conf目录并重命名并修改spark-env.sh.template文件
cd conf/
mv spark-env.sh.template spark-env.sh
vi spark-env.sh
在该配置文件中添加如下配置
export JAVA_HOME=/usr/java/jdk1.7.0_45
export SPARK_MASTER_IP=node1
export SPARK_MASTER_PORT=7077
保存退出
重命名并修改slaves.template文件
mv slaves.template slaves
vi slaves
在该文件中添加子节点所在的位置(Worker节点)
node2
node3
node4
保存退出
将配置好的Spark拷贝到其他节点上
scp -r spark-1.5.2-bin-hadoop2.6/ node2:/usr/local/
scp -r spark-1.5.2-bin-hadoop2.6/ node3:/usr/local/
scp -r spark-1.5.2-bin-hadoop2.6/ node4:/usr/local/

Spark集群配置完毕,目前是1个Master,3个Work,在node1.itcast.cn上启动Spark集群
/usr/local/spark-1.5.2-bin-hadoop2.6/sbin/start-all.sh

启动后执行jps命令,主节点上有Master进程,其他子节点上有Work进行,登录Spark管理界面查看集群状态(主节点):http://node1:8080/

到此为止,Spark集群安装完毕,但是有一个很大的问题,那就是Master节点存在单点故障,要解决此问题,就要借助zookeeper,并且启动至少两个Master节点来实现高可靠,配置方式比较简单:
Spark集群规划:node1,node2是Master;node3,node4,node5是Worker
安装配置zk集群,并启动zk集群
停止spark所有服务,修改配置文件spark-env.sh,在该配置文件中删掉SPARK_MASTER_IP并添加如下配置
export SPARK_DAEMON_JAVA_OPTS=”-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=zk1,zk2,zk3 -Dspark.deploy.zookeeper.dir=/spark”
1.在node1节点上修改slaves配置文件内容指定worker节点
2.在node1上执行sbin/start-all.sh脚本,然后在node2上执行sbin/start-master.sh启动第二个Master

2、启动Spark Shell

spark-shell是Spark自带的交互式Shell程序,方便用户进行交互式编程,用户可以在该命令行下用scala编写spark程序。

2.1、启动spark shell

这里需要先启动对应的Spark集群
/root/apps/spark/bin/spark-shell –master spark://shizhan:7077 –executor-memory 2g –total-executor-cores 2

参数说明:
–master spark://shizhan:7077 指定Master的地址
–executor-memory 2g 指定每个worker可用内存为2G
–total-executor-cores 2 指定整个集群使用的cup核数为2个

注意:
如果启动spark shell时没有指定master地址,但是也可以正常启动spark shell和执行spark shell中的程序,其实是启动了spark的local模式,该模式仅在本机启动一个进程,没有与集群建立联系。

Spark Shell中已经默认将SparkContext类初始化为对象sc。用户代码如果需要用到,则直接应用sc即可

2.2、在spark shell中编写WordCount程序

1.首先启动hdfs
2.向hdfs上传一个文件到hdfs://192.168.112.200:9000/words.txt
3.在spark shell中用scala语言编写spark程序
sc.textFile("hdfs://192.168.112.200:9000/wordcount/input/README.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("hdfs://192.168.112.200:9000/out1")
4.使用hdfs命令查看结果
hdfs dfs -ls hdfs://node1.itcast.cn:9000/out/p*

说明:
sc是SparkContext对象,该对象时提交spark程序的入口
textFile(hdfs://node1.itcast.cn:9000/words.txt)是hdfs中读取数据
flatMap(_.split(” “))先map在压平
map((_,1))将单词和1构成元组
reduceByKey(+)按照key进行reduce,并将value累加
saveAsTextFile(“hdfs://node1.itcast.cn:9000/out”)将结果写入到hdfs中

对于SparkSQL及SparkRDD的介绍请参考以下两篇文章:
SparkSQL:https://blog.csdn.net/qq_16633405/article/details/79844593
SparkRDD:https://blog.csdn.net/qq_16633405/article/details/79843539

大数据之Spark集群安装及简单使用相关推荐

  1. 大数据之Kafka集群安装及简单使用

    目录 1.Kafka集群部署 2.Kafka常用操作命令 目录 1.Kafka集群部署 1.1.下载安装包 http://kafka.apache.org/downloads.html 在linux中 ...

  2. 大数据介绍及集群安装

    大数据介绍及集群安装 第一部分 <大数据概述> 传统数据如何处理? 什么是大数据? 传统数据与大数据的对比 大数据的特点? 大数据前/后服务器系统安装部署区别是什么?. 大数据生态系统以及 ...

  3. 大数据之cdh集群安装

    安装前的准备工作 配置主机名.hosts.开启PermitRootLogin.设置密码 .做免密 .java环境变量.时间同步 安装过程概述(Ubuntu18.04安装) (centos7离线安装参考 ...

  4. Spark集群安装介绍

    (1)初学者对于spark的几个疑问 http://aperise.iteye.com/blog/2302481 (2)spark开发环境搭建 http://aperise.iteye.com/blo ...

  5. 云计算大数据之 Kafka集群搭建

    云计算大数据之 Kafka集群搭建 版权声明: 本文为博主学习整理原创文章,如有不正之处请多多指教. 未经博主允许不得转载.https://blog.csdn.net/qq_42595261/arti ...

  6. 大数据介绍、集群环境搭建、Hadoop介绍、HDFS入门介绍

    大数据介绍.集群环境搭建.Hadoop介绍.HDFS入门介绍 文章目录 大数据介绍.集群环境搭建.Hadoop介绍.HDFS入门介绍 1.课前资料 2.课程整体介绍 3.大数据介绍 3.1 什么是大数 ...

  7. 使用跳板机实现外网访问局域网内虚拟机的大数据及K8S集群【借助向日葵】

    使用跳板机实现外网访问局域网内虚拟机的大数据及K8S集群[借助向日葵] 前言 笔者作为一杆大数据学徒工,工作和学习中都需要有几套属于自己的集群. 双路e5主机:https://lizhiyong.bl ...

  8. ElasticSearch 集群安装,简单使用

    ElasticSearch 集群安装,简单使用 http://www.elastic.co/guide/en/elasticsearch/reference/current/setup-configu ...

  9. Spark集群安装和WordCount编写

    一.Spark概述 官网:http://spark.apache.org/ Apache Spark™是用于大规模数据处理的统一分析引擎.为大数据处理而设计的快速通用的计算引擎.Spark加州大学伯克 ...

最新文章

  1. 笔记 | 那些不得不掌握的卷积神经网络CNN的架构
  2. DataGridView 单元格验证
  3. 工业级路由器和家用路由器的区别_工业路由器和普通家用路由器有什么区别啊?工业路由器好不好用啊?...
  4. linux监控目录容量,利用ZABBIX监控某个目录大小
  5. 【广州】Web前端工程师
  6. shell编程之进阶篇一表达式
  7. 大家可以放心了!Redmi K20将配备双频GPS
  8. vscode使用相关配置
  9. python descibe_Pandas python .describe()格式化/输出
  10. 如何在 Quagga BGP 路由器中设置 IPv6 的 BGP 对等体和过滤
  11. DELPHI中操作ACCESS数据库
  12. Nginx源码分析 - 基础数据结构篇 - 字符串结构 ngx_string.c(08)
  13. 如果突然多了一笔财富。。
  14. 牛b硬件信息修改大师_比X大师更靠谱?一款真正良心的硬件检测工具
  15. 网络克隆硬件版硬盘保护卡 支持windows7 和linux,方正还原卡的详细介绍,安装,和卸载。...
  16. linux下解压iso文件
  17. GRUB4DOS引导wim格式的pe
  18. 汽车侧向动力学模型简介(动力学建模入门知识)
  19. 2021-07-30 es6 -第4章和String复习
  20. 高通平台晶振校准-为什么要做晶振校准

热门文章

  1. [熵编码] 指数哥伦布编码
  2. 拜托!面试请不要再问我 Spring Cloud 底层原理 ...
  3. Mybatis 中更新方法: updateByPrimaryKeySelective() 和 updateByPrimaryKey() 的区别
  4. FreeSql (三)实体特性
  5. 不作35岁的程序员?
  6. POWERSPLOIT-Recon(信息侦察)脚本渗透实战
  7. 内核中的内存申请:kmalloc、vmalloc、kzalloc、get_free_pages 之间的区别
  8. 如何定义一个只能在堆上(栈上)生成对象的类?
  9. Android中下载、安装和卸载(原)
  10. c# 连接各种数据库 Access、Server等