一,开发环境: 操作系统:win19 64位 IDE:IntelliJ IDEA JDK:1.8 scala:scala-2.10.6 集群:linux上cdh集群,其中spark为1.5.2,hadoop:2.6.0(其实我也想用spark最新版和hadoop的最新版,但1.6以前有spark-assembly-1.x.x-hadoop2.x.x.jar) 二,实现步骤: 1,设置maven的pom.xml <project xmlns="http://maven.apache.org/…
MapReduce任务有三种运行方式: 1.windows(linux)本地调试运行,需要本地hadoop环境支持 2.本地编译成jar包,手动发送到hadoop集群上用hadoop jar或者yarn jar方式运行. 3.本地编译环境在IDE里直接提交到集群上运行,实际上这种方式就是第二种方式的变种. 本例说的就是第三种方式 1)核心的部分就是Confirguration的配置 2)本地需要编译成jar包 3)运行参数在本地配置,包括输入输出参数4)出现windows下的环境配置问题,参照h…
Exception 1:当我们将任务提交给Spark Yarn集群时,大多会出现以下异常,如下: 14/08/09 11:45:32 WARN component.AbstractLifeCycle: FAILED SelectChannelConnector@0.0.0.0:4040: java.net.BindException: Address already in use java.net.BindException: Address already in use at sun.nio.…
spark on yarn通过--deploy-mode cluster提交任务之后,应用已经在yarn上执行了,但是spark-submit提交进程还在,直到应用执行结束,提交进程才会退出,有时这会很不方便,并且不注意的话还会占用很多资源,比如提交spark streaming应用: 最近发现spark里有一个配置可以修改这种行为,提交任务的时候加长一个conf就可以 --conf spark.yarn.submit.waitAppCompletion=false org.apache.spa…
准备工作 需要有三台主机,其中一台主机充当master,另外两台主机分别为slave01,slave02,并且要求三台主机处于同一个局域网下 通过命令:ifconfig 可以查看主机的IP地址,如下图所示 本集群的三台机器的IP地址如下 10.129.0.118 master 10.129.0.223 slave01 10.129.0.124 slave02 通过命令:ping IP地址 可以查看与另一台主机的连通性 如下所示 注意:在shell命令下通过CTRL+C 可以结束命令的执行 三台主…
1.spark在集群上运行应用的详细过程 (1)用户通过spark-submit脚本提交应用 (2)spark-submit脚本启动驱动器程序,调用用户定义的main()方法 (3)驱动器程序与集群管理器通信,申请资源以启动执行器节点 (4)集群管理器为驱动器程序启动执行器节点 (5)驱动器进程执行用户应用中的操作.根据程序中所定义的对RDD的转化操作和行动操作,驱动器节点把工作以任务的形式发送到执行器进程 (6)任务在执行器程序中进行计算并保存结果 (7)如果驱动器程序的main()方法退出,…
如果你使用Kubernetes作为应用程序的操作平台,那么你应该会遇到一些有关使用集群的方式的基本问题: 你应该有多少集群? 它们应该多大? 它们应该包含什么? 本文将深入讨论这些问题,并分析你所拥有的一些选择的利弊. 问题所在 作为一个软件创建者,你应该开发并运行了多个应用程序.而且,你应该在不同的环境中运行这些应用程序的多个实例--例如,你应该有开发.测试以及生产环境.那么,不同的环境和应用程序的组合,我们可以得到一个"矩阵": 在以上例子中,有3个应用程序和3个环境,两两组合为9…
若当连接到Spark的master之后,若集群中没有分布式文件系统,Spark会在集群中每一台机器上加载数据,所以要确保Spark集群中每个节点上都有完整数据. 通常可以选择把数据放到HDFS.S3或者类似的分布式文件系统去避免这个问题.…
今天来分享下将java开发的wordcount程序提交到spark集群上运行的步骤. 第一个步骤之前,先上传文本文件,spark.txt,然用命令hadoop fs -put spark.txt /spark.txt,即可. 第一:看整个代码视图 打开WordCountCluster.java源文件,修改此处代码: 第二步: 打好jar包,步骤是右击项目文件----RunAs--Run Configurations 照图填写,然后开始拷贝工程下的jar包,如图,注意是拷贝那个依赖jar包,不是第…
一.前期准备 前期的环境准备,在Linux系统下要有Hadoop系统,spark伪分布式或者分布式,具体的教程可以查阅我的这两篇博客: Hadoop2.0伪分布式平台环境搭建 Spark2.4.0伪分布式环境搭建 然后在spark伪分布式的环境下必须出现如下八个节点才算spark环境搭建好. 然后再在本地windows系统下有一个简单的词频统计程序. import org.apache.spark.SparkConf import org.apache.spark.SparkContext im…
0. 说明 将 IDEA 下的项目导出为 Jar 包,部署到 Spark 集群上运行. 1. 打包程序 1.0 前提 搭建好 Spark 集群,完成代码的编写. 1.1 修改代码 [添加内容,判断参数的有效性] // 判断参数的有效性 if (args == null || args.length == 0) { throw new Exception("需要指定文件路径") ; } [注释掉 conf.setMaster("...")] // 不用写,在提交代码的…
本文前提是已经正确安装好scala,sbt以及spark了   简述将程序挂载到集群上运行的步骤: 1.构建sbt标准的项目工程结构: 其中: ~/build.sbt文件用来配置项目的基本信息(项目名.组织名.项目版本.使用的scala版本或者再次配置些项目所需的依赖包): project/build.properties文件配置你要使用什么版本的sbt对项目操作: project/plugins.sbt文件是给项目添加所需的插件: project/Build.scala文件是对项目进行些复杂的…
Spark集群master节点:      192.168.168.200 Eclipse运行windows主机: 192.168.168.100 场景: 为了测试在Eclipse上开发的代码在Spark集群上运行的情况,比如:内存.cores.stdout以及相应的变量传递是否正常! 生产环境是把在Eclipse上开发的代码打包放到Spark集群上,然后使用spark-submit提交运行.当然我们也可以启动远程调试, 但是这样就会造成每次测试代码,我们都需要把jar包复制到Spark集群机器…
06.部署Spark程序到集群上运行 6.1 修改程序代码 修改文件加载路径 在spark集群上执行程序时,如果加载文件需要确保路径是所有节点能否访问到的路径,因此通常是hdfs路径地址.所以需要修改代码中文件加载路径为hdfs路径: ... //指定hdfs路径 sc.textFile("hdfs://mycluster/user/centos/1.txt") ... ​ 修改master地址 SparkConf中需要指定master地址,如果是集群上运行,也可以不指定,运行时可以通…
一般我们采用win开发+linux hadoop集群的方式进行开发,使用插件:hadoop-***-eclipse-plugin. 运行程序的时候,我们一般采用run as application或者选择run as hadoop.按照这个字面理解,我们可以认为第一种是运行在本地,第二种是运行在hadoop集群上.但是实际情况是一般如果不进行配置的话,全部是在本地进行运行的.如果需要将job提交到集群上,那么需要进行必要的设置和添加部分代码. 1.copy mapred-site.xml &&am…
记录一下 Ubuntu16.04下写的Qt程序,调试时没问题,运行时偶现崩溃 需要在运行时生成core dump文件 首先在pro结尾里加入 QMAKE_CC += -g QMAKE_CXX += -g QMAKE_LINK += -g 在终端输入 ulimit -c 显示为 0 然后输入 ulimit -c unlimited 继续在终端运行编写的程序 出错后,会在当前目录生成 core 文件 然后在终端执行 “gdb 你的程序名 core” 然后输入 bt 对该错误进行跟踪调试 (gdb)…
https://www.codetd.com/article/664330 https://blog.csdn.net/dream_an/article/details/84342770 通过idea开发mapreduce程序并直接run,提交到远程hadoop集群执行mapreduce. 简要流程:本地开发mapreduce程序–>设置yarn 模式 --> 直接本地run–>远程集群执行mapreduce程序: 完整的流程:本地开发mapreduce程序——> 设置yarn模式…
一.简介 Spark 的一大好处就是可以通过增加机器数量并使用集群模式运行,来扩展程序的计算能力.好在编写用于在集群上并行执行的 Spark 应用所使用的 API 跟本地单机模式下的完全一样.也就是说,你可以在小数据集上利用本地模式快速开发并验证你的应用,然后无需修改代码就可以在大规模集群上运行. 首先介绍分布式 Spark 应用的运行环境架构,然后讨论在集群上运行 Spark 应用时的一些配置项.Spark 可以在各种各样的集群管理器(Hadoop YARN.Apache Mesos,还有Sp…
Spark 可以在各种各样的集群管理器(Hadoop YARN.Apache Mesos,还有Spark 自带的独立集群管理器)上运行,所以Spark 应用既能够适应专用集群,又能用于共享的云计算环境. 在分布式环境下,Spark 集群采用的是主/ 从结构.在一个Spark 集群中,有一个节点负责中央协调,调度各个分布式工作节点.这个中央协调节点被称为驱动器(Driver)节点,与之对应的工作节点被称为执行器(executor)节点.驱动器节点可以和大量的执行器节点进行通信,它们也都作为独立的J…
Spark学习之在集群上运行Spark(6) 1. Spark的一个优点在于可以通过增加机器数量并使用集群模式运行,来扩展程序的计算能力. 2. Spark既能适用于专用集群,也可以适用于共享的云计算环境. 3. Spark在分布式环境中的架构: Created with Raphaël 2.1.0我的操作集群管理器Mesos.YARN.或独立集群管理器N个集群工作节点(执行器进程) Spark集群采用的是主/从结构,驱动器(Driver)节点和所有执行器(executor)节点一起被称为一个S…
win7下eclipse远程开发hadoop程序,分为两种: (1)运行[Run As] Java Application, 打包程序为jar,上传集群执行(这里不做解释) (2)运行[Run As] Run on Hadoop 重点来说说Run on Hadoop这种方式,搭建好eclipse远程开发环境,执行Run on Hadoop,程序成功了,心里窃喜,却发现是这个样子: 我明明设置job.setNumReduceTasks(6),最终本应该有6个reduce输出,怎么成了一个? 发现这…
写在前面: spark只是一种计算框架,如果要搭建集群要依托与一定的组织模式. 目前来说,Spark集群的组织形式有三种: 1.      Standalone:使用akka作为网络IO组件,master和worker之间采用actor模型进行组织.简单说就是spark自己实现了集群中的各个节点上的服务. 2.      Yarn:直接使用Yarn框架完成资源分配和分布式管理功能,spark只是简单地把任务提交给yarn框架. 3.      Mesos:不太清楚.(好像比较古老了) 因此,要搭…
*以下内容由<Spark快速大数据分析>整理所得. 读书笔记的第四部分是讲的是Spark在集群上运行的知识点. 一.Spark应用组件介绍 二.Spark在集群运行过程 三.Spark配置 四.Spark资源分配 一.Spark应用组件介绍 Spark应用组件有三个:驱动器.集群管理器和执行器. 驱动器节点:有两个职责:把用户转为任务和为执行器节点调度任务. 执行器节点:负责在Spark作业中运作任务. 集群管理器:Spark依赖于集群管理器来启动执行器节点. 集群管理器:为了方便多人调度时合…
不少同学抱怨,在集群的GPU节点上运行caffe程序时,经常出现"Out of Memory"的情况.实际上,如果我们在提交caffe程序到某个GPU节点的同时,指定该节点某个比较空闲的gpu id,便可以避免"Out of Memory"的情况.步骤如下: 1. 在提交任务前,制作一个带有“nvidia-smi”命令的run_gpu.sh文件 #!/bin/bash #$ -V #$ -cwd #$ -j y #$ -S /bin/bash nvidia-smi…
1.背景 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误. 通常,日志被分散的储存不同的设备上.如果需要管理数十上百台服务器,必须依次登录每台机器的传统方法查阅日志,这样很繁琐和效率低下.当务之急是使用集中化的日志管理,开源实时日志分析ELK平台能够完美的解决上述所提到的问题. 2.需要安装的工具 ELK由ElasticSearch(ES…
VMWare9下基于Ubuntu12.10搭建Hadoop-1.2.1集群 下一篇:VMWare9下基于Ubuntu12.10搭建Hadoop-1.2.1集群-整合Zookeeper和Hbase 近期在学习Hadoop,把hadoop集群环境搭建的过程记录一下,方便查询,方案中有好多细节的东西,可能会比較啰嗦,对于新手来说也许更有帮助,闲话不多说,进入正题. 搭建5个节点的Hadoop集群环境 1.        环境说明 使用VMWare创建5台Ubuntu虚拟机,环境具体信息例如以下: 虚拟…
前言 我们知道HDFS集群中,所有的文件都是存放在DN的数据块中的.那我们该怎么去查看数据块的相关属性的呢?这就是我今天分享的内容了 一.HDFS中数据块概述 1.1.HDFS集群中数据块存放位置 我们知道hadoop集群遵循的是主/从的架构,namenode很多时候都不作为文件的读写操作,只负责任务的调度和掌握数据块在哪些datanode的分布, 保存的是一些数据结构,是namespace或者类似索引之类的东西,真正的数据存储和对数据的读写是发生在datanode里的. 找到${HADOOP_…
Scala进阶之路-Spark独立模式(Standalone)集群部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们知道Hadoop解决了大数据的存储和计算,存储使用HDFS分布式文件系统存储,而计算采用MapReduce框架进行计算,当你在学习MapReduce的操作时,尤其是Hive的时候(因为Hive底层其实仍然调用的MapReduce)是不是觉得MapReduce运行的特别慢?因此目前很多人都转型学习Spark,今天我们就一起学习部署Spark集群吧. 一.准备…
写在前面 相关随笔: Hadoop-1.0.4集群搭建笔记 用python + hadoop streaming 编写分布式程序(一) -- 原理介绍,样例程序与本地调试 用python + hadoop streaming 编写分布式程序(三) -- 自定义功能 为了方便,这篇文章里的例子均为伪分布式运行,一般来说只要集群配置得当,在伪分布式下能够运行的程序,在真实集群上也不会有什么问题. 为了更好地模拟集群环境,我们可以在mapred-site.xml中增设reducer和mapper的最大…
真正的落地部署都是希望程序跑在集群下,而不是单机版下测测玩玩,所以这篇就来聊一下怎么使用docker swarm进行部署,因为是swarm是docker自带的, 所以部署起来还是非常简单的. 一:前置条件 准备三台centos机器: 192.168.23.154 manager 192.168.23.155 work1 192.168.23.156 work2 二:构建集群 1.  manger节点上使用 docker swarm init 即可创建只有一个master节点的集群. [root@…