一.踩坑经历 自定义的accumulator是线程不安全的,会造成累加结果不正确.自定找了很久没想到是线程不安全行成的. 二.解决方法 创建一个线程安全的集合变量(我用的是Java的ConcurrentHashMap),赋好初始值 ,在重写add方法时,将旧的值取出来累加后再放回去(取与放的动作要加上上锁操作).这样就可以,测试的时候再也没出现累加少值的情况.…
Spark2.0 自定义累加器 在2.0中使用自定义累加器需要继承AccumulatorV2这个抽象类,同时必须对以下6个方法进行实现: 1.reset 方法: 将累加器进行重置; abstract defreset(): Unit Resets this accumulator, which is zero value. 2.add 方法: 向累加器中添加另一个值; abstract defadd(v: IN): Unit 3.merge方法: 合并另一个类型相同的累加器; abstract …
目录 目录 1.前言 1.1.什么是 Hadoop? 1.1.1.什么是 YARN? 1.2.什么是 Zookeeper? 1.3.什么是 Hbase? 1.4.什么是 Hive 1.5.什么是 Spark? 2.环境准备 2.1.网络配置 2.2.更改 HOSTNAME 2.3.配置 SSH 免密码登录登录 2.4.关闭防火墙 2.7.安装 NTP 3. 下载应用程序及配置环境变量 3.1.创建安装目录 3.2.下载本文中用到的程序 3.3.设置环境变量 4. 安装 Oracle JDK 1.…
Spark2.1.0——内置RPC框架详解 在Spark中很多地方都涉及网络通信,比如Spark各个组件间的消息互通.用户文件与Jar包的上传.节点间的Shuffle过程.Block数据的复制与备份等.在Spark 0.x.x与Spark 1.x.x版本中,组件间的消息通信主要借助于Akka[1],使用Akka可以轻松的构建强有力的高并发与分布式应用.但是Akka在Spark 2.0.0版本中被移除了,Spark官网文档对此的描述为:“Akka的依赖被移除了,因此用户可以使用任何版本的Akka来…
理解 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素, Vue.js 的编译器为它添加特殊功能.在有些情况下,组件也可以是原生 HTML 元素的形式,以 is 特性扩展. 使用组件 创建单文件组件 <template> </template> <script> export default { }; </script> <style lang="st…
Hadoop生态圈-通过CDH5.15.1部署spark1.6与spark2.3.0的版本兼容运行 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在我的CDH5.15.1集群中,默认安装的spark是1.6版本,开发的同事跟我抱怨,说之前的大数据平台(在ucloud上,属于云服务)用的就是spark1.6,好多java的API都用不了,有很多高级的功能没法在1.6版本上使用,因此被迫需要升级spark版本,他们要求升级到2.3.0或以上版本,经查阅相关资料,才总结了我部署sp…
Spark2.1.0--深入浅出度量系统 对于一个系统而言,首先考虑要满足一些业务场景,并实现功能.随着系统功能越来越多,代码量级越来越高,系统的可维护性.可测试性.性能都会成为新的挑战,这时监控功能就变得越来越重要了.在国内,绝大多数IT公司的项目都以业务为导向,以完成功能为目标,这些项目在立项.设计.开发.上线的各个阶段,很少有人会考虑到监控的问题.在国内,开发人员能够认真的在代码段落中打印日志,就已经属于最优秀的程序员了.然而,在国外的很多项目则不会这样,看看久负盛名的Hadoop的监控系…
随着近十年互联网的迅猛发展,越来越多的人融入了互联网——利用搜索引擎查询词条或问题:社交圈子从现实搬到了Facebook.Twitter.微信等社交平台上:女孩子们现在少了逛街,多了在各大电商平台上的购买:喜欢棋牌的人能够在对战平台上找到世界各地的玩家对弈.在国内随着网民数量的持续增加,造成互联网公司的数据在体量.产生速度.多样性等方面呈现出巨大的变化. 互联网产生的数据相较于传统软件产生的数据,有着数据挖掘的巨大潜力.通过对数据的挖掘,可以统计出PV.UV,计算出不同设备与注册率.促销与下单率…
0 的时候不报错 1 的时候 报错了 原因 是 imagesname[i]  索引超出了 为什么在 上面 报错呢?  不在这里报错呢? 说明了  Rezor 对于 自定义的变量 放在标签值里的时候,调试时是直接跳过的  本来是不满足条件 不跳过此次 继续走的  但Rezor对于这种自定义变量放在标签值里 调试是跳过的 所有 一经过 if 就报错了 总结 放在标签值里的Rezor 自定义变量 调试不会走进去的 强类型也一样 放在标签值中的 都不执行 例如<input type=“text” val…
ASP.NET Core 2.0 自定义 _ViewStart 和 _ViewImports 的目录位置 在 ASP.NET Core 里扩展 Razor 查找视图目录不是什么新鲜和困难的事情,但 _ViewStart 和 _ViewImports 这2个视图比较特殊,如果想让 Razor 在我们指定的目录中查找它们,则需要耗费一点额外的精力.本文将提供一种方法做到这一点.注意,文本仅适用于 ASP.NET Core 2.0+, 因为 Razor 在 2.0 版本里的内部实现有较大重构,因此这里…
本文介绍spark2.1.0的源码编译 1.编译环境: Jdk1.8或以上 Hadoop2.7.3 Scala2.10.4 必要条件: Maven 3.3.9或以上(重要) 点这里下载 http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz 修改/conf/setting.xml <mirror> <id>alimaven</id> <na…
基于Vue3.0开发的轻量级手机端弹框组件V3Popup. 之前有分享一个vue2.x移动端弹框组件,今天给大家带来的是Vue3实现自定义弹框组件. V3Popup 基于vue3.x实现的移动端弹出框组件,集合msg.alert.dialog.modal.actionSheet.toast等多种效果.支持20+种自定义参数配置,旨在通过极简的布局.精简的调用方式解决多样化的弹框场景. v3popup 在开发之初参考借鉴了Vant3.ElementPlus等组件化思想.并且功能效果和之前vue2.…
[转载]https://www.cnblogs.com/zhenglisai/p/6547402.html [zabbix]自定义监控项key值   说明: zabbix自带的默认模版里包括了很多监控项,有时候为了满足业务需求,需要根据自己的监控项目自定义监控项,这里介绍一种自定义监控项的方式. 1,首先编写自定义监控脚本,本文以监控httpd进程是否存在为例. 脚本名字:check_httpd.sh 脚本目录(这个目录可以自定义):/usr/local/etc/zabbix_scripts 脚…
方法一: 打开my.ini,查找  sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION” 修改为  sql-mode=”NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION” 然后重启MYSQL . 方法二:  MySQL 5 uses a strict mode which needs to be disabled. In Windows, Goto Start–>Pr…
1.选取三台服务器(CentOS系统64位) 114.55.246.88 主节点 114.55.246.77 从节点 114.55.246.93 从节点 之后的操作如果是用普通用户操作的话也必须知道root用户的密码,因为有些操作是得用root用户操作.如果是用root用户操作的话就不存在以上问题. 我是用root用户操作的. 2.修改hosts文件 修改三台服务器的hosts文件. vi /etc/hosts 在原文件的基础最后面加上: 114.55.246.88 Master 114.55.…
一.依赖文件安装 1.1 JDK 参见博文:http://www.cnblogs.com/liugh/p/6623530.html 1.2 Hadoop 参见博文:http://www.cnblogs.com/liugh/p/6624872.html 1.3 Scala 参见博文:http://www.cnblogs.com/liugh/p/6624491.html 二.文件准备 2.1 文件名称 spark-2.1.0-bin-hadoop2.7.tgz 2.2 下载地址 http://spa…
前言 在安装后hadoop之后,接下来需要安装的就是Spark. scala-2.11.7下载与安装 具体步骤参见上一篇博文 Spark下载 为了方便,我直接是进入到了/usr/local文件夹下面进行下载spark-2.2.0 wget https://d3kbcqa49mib13.cloudfront.net/spark-2.2.0-bin-hadoop2.7.tgz Spark安装之前的准备 文件的解压与改名 tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz…
一.依赖文件安装 1.1 JDK 参见博文:http://www.cnblogs.com/liugh/p/6623530.html 1.2 Scala 参见博文:http://www.cnblogs.com/liugh/p/6624491.html 二.文件准备 2.1 文件名称 spark-2.2.0-bin-hadoop2.7.tgz 2.2 下载地址 http://spark.apache.org/downloads.html 三.工具准备 3.1 Xshell 一个强大的安全终端模拟软件…
一.修改hosts文件 在主节点,就是第一台主机的命令行下; vim /etc/hosts 我的是三台云主机: 在原文件的基础上加上; ip1 master worker0 namenode ip2 worker1 datanode1 ip3 worker2 datanode2 其中的ipN代表一个可用的集群IP,ip1为master的主节点,ip2和iip3为从节点. 二.ssh互信(免密码登录) 注意我这里配置的是root用户,所以以下的家目录是/root 如果你配置的是用户是xxxx,那么…
hadoop2.7.3+spark2.1.0+scala2.12.1环境搭建(4)SPARK 安装 一.依赖文件安装 1.1 JDK 参见博文:http://www.cnblogs.com/liugh/p/6623530.html 1.2 Hadoop 参见博文:http://www.cnblogs.com/liugh/p/6624872.html 1.3 Scala 参见博文:http://www.cnblogs.com/liugh/p/6624491.html 二.文件准备 spark-2.…
学习一个工具的最好途径,就是使用它.这就好比<极品飞车>玩得好的同学,未必真的会开车,要学习车的驾驶技能,就必须用手触摸方向盘.用脚感受刹车与油门的力道.在IT领域,在深入了解一个系统的原理.实现细节之前,应当先准备好它的运行环境或者源码阅读环境.如果能在实际环境下安装和运行Spark,显然能够提升读者对于Spark的一些感受,对系统能有个大体的印象,有经验的工程师甚至能够猜出一些Spark在实现过程中采用的设计模式.编程模型. 考虑到大部分公司在开发和生产环境都采用Linux操作系统,所以笔…
学习一个工具的最好途径,就是使用它.这就好比<极品飞车>玩得好的同学,未必真的会开车,要学习车的驾驶技能,就必须用手触摸方向盘.用脚感受刹车与油门的力道.在IT领域,在深入了解一个系统的原理.实现细节之前,应当先准备好它的运行环境或者源码阅读环境.如果能在实际环境下安装和运行Spark,显然能够提升读者对于Spark的一些感受,对系统能有个大体的印象,有经验的工程师甚至能够猜出一些Spark在实现过程中采用的设计模式.编程模型. 考虑到大部分公司在开发和生产环境都采用Linux操作系统,所以笔…
mac os x maven编译spark-2.1.0  for hadoop-2.7.3 1.官方文档中要求安装Maven 3.3.9+ 和Java 8 ; 2.执行         export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m" 3.cd spark2.1.0源码根目录下 ./build/mvn -Pyarn  -Phadoop-2.7  -Dhadoop.version=2.7.3  -Dscala-2.11  …
集群环境 hadoop-2.8.3搭建详细请查看hadoop系列文章 scala-2.11.12环境请查看scala系列文章 jdk1.8.0_161 spark-2.4.0-bin-hadoop2.7 192.168.217.201 hadoop1.org.cn hadoop1 192.168.217.202 hadoop2.org.cn hadoop2 192.168.217.203 hadoop3.org.cn hadoop3 spark2.4.0完全分布式环境搭建 下载安装包 http:…
不多说,直接上干货! 前言   其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. 好一段时间之前,写过这篇博客 使用 IntelliJ IDEA 导入 Spark 最新源码及编译 Spark 源代码(博主强烈推荐) 最近开始进行更新,希望能帮助到开发的你. 下载源码 去github官网 下载   spark最新源码下载并导入到开发环境下助推高质量代码(Scala IDEA fo…
获取随机数 举例:0-9 Random random = new Random(); int j = random.Next(0, 9); 0.1两个值被取值的概率相等 int a = Math.Abs(Guid.NewGuid().GetHashCode()) % 2; if (a == 0) {} else if(a==1) {} /// <summary> /// 获取等概率的小于最大数的非负随机数 /// </summary> /// <param name=&quo…
先看HashMap的定义: public class HashMap<K,V>extends AbstractMap<K,V>implements Map<K,V>, Cloneable, Serializable HashMap是AbstractMap的子类,实现了Map接口. HashMap() Constructs an empty HashMap with the default initial capacity (16) and the default loa…
SELECT INTO和INSERT INTO SELECT的区别   数据库中的数据复制备份 SELECT INTO: 形式: SELECT value1,value2,value3 INTO Table_2 FROM Table_1 Table_2表存在,报错:数据库中已存在名为 'Table_2' 的对象. Table_2表不存在,自动创建表Table_2,成功导入数据 INSERT INTO SELECT: 形式: INSERT INTO Table_2 (v1,v2,v3) SELEC…
=================6.SpringBoot拦截器实战和 Servlet3.0自定义Filter.Listener ============ 1.深入SpringBoot2.x过滤器Filter和使用Servlet3.0配置自定义Filter实战(核心知识) 简介:讲解SpringBoot里面Filter讲解和使用Servlet3.0配置自定义Filter实战 filter简单理解:人--->检票员(filter)---> 景点 1.SpringBoot启动默认加载的Filter…
Spark2.1.0——内置Web框架详解 任何系统都需要提供监控功能,否则在运行期间发生一些异常时,我们将会束手无策.也许有人说,可以增加日志来解决这个问题.日志只能解决你的程序逻辑在运行期的监控,进而发现Bug,以及提供对业务有帮助的调试信息.当你的JVM进程奔溃或者程序响应速度很慢时,这些日志将毫无用处.好在JVM提供了jstat.jstack.jinfo.jmap.jhat等工具帮助我们分析,更有VisualVM的可视化界面以更加直观的方式对JVM运行期的状况进行监控.此外,像Tomca…