大数据
11宁静致远
既然选择了远方,便只顾风雨兼程
展开
-
Java Spark Rdd详解
说明:掌握spark的一个关键,就是要深刻理解掌握RDD各个函数的使用场景,这样我们在写业务逻辑的时候就知道在什么时候用什么样的函数去实现,得心应手,本文将逐步收集整理各种函数原理及示例代码,持续更新,方便大家学习掌握。函数列表:1、join的使用2、cogroup的使用3、GroupByKey的使用4、map的使用5、flatmap的使用6、mapPartitions的使用7...原创 2020-03-28 18:17:50 · 2723 阅读 · 3 评论 -
Spark + MongoDB数据解决方案架构
Spark介绍按照官方的定义,Spark 是一个通用,快速,适用于大规模数据的处理引擎。通用性:我们可以使用Spark SQL来执行常规分析, Spark Streaming 来流数据处理, 以及用Mlib来执行机器学习等。Java,python,scala及R语言的支持也是其通用性的表现之一。 快速: 这个可能是Spark成功的最初原因之一,主要归功于其基于内存的运算方式。当需要处理的...转载 2020-03-28 13:18:59 · 695 阅读 · 0 评论 -
AWS EC2可用区理解
区域的概念(Region) 近期经常实施部署AWS的多个实施项目,经常与项目人员探讨各种AWS的部署场景,但是在实际情况中发现,我们经常对AWS两个非常重要的概念不太好理解,区域(Region)和可用区(Availability Zone,AZ)。更不太好理解他们跟我们日常接触到的的数据中心(IDC)有什么样的分别和联系。然而区域(Region)和可用区(Availabil...原创 2019-11-20 16:14:58 · 1461 阅读 · 0 评论 -
在AWS EC2上搭建jenkins并且整合git+maven+docker自动化部署环境(三)
前面几小节我们成功在AWS EC2上部署安装好了jenkins,这小节就来说下jenkins的一些基本配置以及如何与我们的git,maven还有docker一块串联起来构建我们的一键部署自动化构建的环境。jenkins初始化配置在前两节的基础之上,我们可以通过我们的浏览器去访问我们的jenkins,访问路径一般是http://ip:8080,如果你安装jenkins的时候这些都...原创 2019-11-17 21:42:59 · 1151 阅读 · 0 评论 -
在jenkins上添加AWS EC2实例从节点
踩了好多坑终于在AWS EC2上添加上了jenkins从节点,不知道为何通过原来的SSH方式添加,一直出现未授权的问题,换一种方式添加发现从节点添加上了,于是先简单介绍下这种操作方式。1、首要条件带有jenkins安装的AWS EC2实例,该实例就是你的jenkins主节点 再新建一个AWS EC2实例,这就是你的从节点 确保两个实例都打开了端口8080 在从实例上,创建一个jenk...原创 2019-11-15 18:10:22 · 919 阅读 · 0 评论 -
在AWS EC2上搭建jenkins并且整合git+maven+docker自动化部署环境(二)
这篇介绍如何在EC2上搭建jenkins构建化工具,安装工具其实就是跟普通我们用到的linux上安装方式差不多,这里我简单介绍下自动化构建和jenkins的一些概念CI/CD介绍CI/CD的全称为Continuous Integration(持续集成)/Continuous Deployment(持续部署),随着现在互联网的兴起和发展,互联网软件的开发和发布已经形成一套完整的体系,并且定...原创 2019-11-15 15:19:24 · 1509 阅读 · 0 评论 -
在AWS EC2上搭建jenkins并且整合git+maven+docker自动化部署环境(一)
日以继日这套环境终于搭建好了,并且能够一键打包部署服务,这个环境我打算分成几个章节来说明,本章节介绍如何在AWS配置搭建EC2服务AWS上部署搭建EC2实例aws是一个云平台,里面有很多组件,比如各种网关服务、负载均衡服务、数据存储服务、大数据服务等,基本上是要啥有啥,只是收费有点贵,这次玩免费的AWS时没仔细注意免费的规则,白白花了18多美刀,这里小伙伴们还是详细去阅读下AWS的免费服务...原创 2019-11-15 13:38:02 · 1318 阅读 · 0 评论 -
AWS EMR 搭建数据处理集群
最近boss让去研究aws,未来公司业务可能要通过aws的一套生态进行数据处理和分析,在网上看了不少资料和文档,也顺利运行了aws的大数据集群组件,下面自己总结了一下在部署步骤以及自己所遇到的一些问题。AWS介绍官方:Amazon Web Services (AWS) 是一个安全的服务平台,提供计算能力、数据库存储、内容交付以及其他功能来帮助实现业务扩展和增长。其实AWS就是一个云...原创 2019-11-12 11:32:47 · 1825 阅读 · 0 评论 -
AWS EC2 上安装 Docker
在 AWS EC2 安装 Docker参见:Amazon ECS 的 Docker 基本知识我们在主机 18.222.176.214 和 52.14.52.46 都安装 Docker。安装最新的 Docker Community Edition 程序包:sudo yum install -y docker启动 Docker 服务:sudo service docker start...转载 2019-11-10 22:39:13 · 1293 阅读 · 0 评论 -
Spring Cloud on ECS
来到新公司,准备使用AWS服务运行微服务,spark等大数据组件,找了不少资料,简单总结下spring cloud 在ECS上如何运行背景如果只是在一台主机或者虚拟机上面运行一个容器,那么Docker命令行就足够了,e.g: docker run xxximage。 但是如果需要管理一个100X的容器集群,就比较有挑战了。在AWS众多服务中,就有提供集群资源管理和服务调度的服务,比如EK...转载 2019-11-07 10:47:09 · 371 阅读 · 0 评论 -
HBase性能优化常用
1.1、高可用在 HBase 中 Hmaster 负责监控 RegionServer 的生命周期,均衡 RegionServer 的负载,如果Hmaster 挂掉了,那么整个 HBase 集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。所以 HBase 支持对 Hmaster 的高可用配置。1)、关闭 HBase 集群(如果没有开启则跳过此步)bin/stop-hbase....原创 2019-10-14 12:54:37 · 152 阅读 · 0 评论 -
Hbase Shell命令介绍
HBase shell是HBase的一套命令行工具,类似传统数据中的sql概念,可以使用shell命令来查询HBase中数据的详细情况。安装完HBase之后,如果配置了HBase的环境变量,只要在shell中执行hbase shell就可以进入命令行界面HBase介绍HBase简介HBase的名字的来源于Hadoop database,即hadoop数据库,不同于一般的关系数据库,它是...原创 2019-10-12 15:11:15 · 312 阅读 · 0 评论 -
JVM的垃圾回收机制
一、 技术背景 说起垃圾回收(GC),大部分人都把这项技术当做Java语言的伴生产物。事实上,GC的历史比Java久远,早在1960年Lisp这门语言中就使用了内存动态分配和垃圾回收技术。二、 哪些内存需要回收? 我们都知道JVM的内存结构包括五大区域:程序计数器、虚拟机栈、本地方法栈、堆区、方法区。其中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生、随线程而...原创 2019-07-04 12:01:55 · 150 阅读 · 0 评论 -
Kafka参数调优
自己公司用到了kafka作为MQ,在使用的时候需要设置很多参数,这里便来总结一下Kafka参数的一些配置1、一段Kafka生产端的示例代码Properties props = new Properties();props.put("bootstrap.servers", "localhost:9092"); props.put("key.serializer", "org.apach...原创 2019-07-04 10:46:58 · 3901 阅读 · 0 评论 -
Hive运行SQL报错
在安装完hive之后,为了测试hive,在执行select count(*) from score时,出现以下错误:解决方案如下:失败原因经查发现发现/tmp/hadoop/.log提示java.lang.OutOfMemoryError: Java heap space,原因是namenode内存空间不够,jvm不够新job启动导致。解决方法将你的hive可以设置成本地模式来...原创 2019-07-13 20:09:47 · 661 阅读 · 0 评论 -
HBase Rowkey 设计
1、RowKey 到底是什么我们常说看一张 HBase 表设计的好不好,就看它的 RowKey 设计的好不好。可见 RowKey 在 HBase 中的地位。那么 RowKey 到底是什么?RowKey 的特点如下: 类似于 MySQL、Oracle中的主键,用于标示唯一的行; 完全是由用户指定的一串不重复的字符串; HBase 中的数据永远是根据 Rowkey 的字典...转载 2019-07-03 21:10:27 · 193 阅读 · 0 评论 -
Redis数据持久化、数据备份、数据的故障恢复
缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取持久化,数据备份,数据的故障恢复方面你究竟了解多少呢?1.redis持久化的意义----redis故障恢复在实际的生产环境中,很可能会遇到redis突然挂掉的情况,比如redis的进程死掉了、电缆被施工队挖了(支付宝例子)等等,总之一定会遇到各种奇葩的现象导致redis死掉,这时候放在redis内存中的数据就会全部丢失,这些数据...转载 2019-06-12 16:42:27 · 135 阅读 · 0 评论 -
mysql 行列相互转换
一、行转列即将原本同一列下多行的不同内容作为多个字段,输出对应内容。建表语句DROP TABLE IF EXISTS tb_score;CREATE TABLE tb_score( id INT(11) NOT NULL auto_increment, userid VARCHAR(20) NOT NULL COMMENT '用户id', subject ...转载 2019-08-15 19:56:40 · 155 阅读 · 0 评论 -
Redis持久化原理
1、RDB工作原理和优缺点工作中用到了redis的持久化,这里就开始总结了一下redis的持久化原理。RDB是redis将内存数据存储到磁盘文件的其中一种方式(另一种是AOF)。我们可以在redis.conf文件中,做一些针对RDB的设置。参考“redis 配置文件 snapshotting RDB数据库快照部分”,有中英文的对照翻译。########################...原创 2018-12-04 23:34:44 · 158 阅读 · 0 评论 -
CDH环境搭建
1.CDH安装前配置1.1 HOSTS配置1.1.1 hostname修改修改配置文件/etc/sysconfig/networkroot@hadoop01~# vim /etc/sysconfig/network NETWORKING=yesHOSTNAME=hadoop01修改完成后需要重启服务器使其生效。修改集群所有节...原创 2019-07-14 22:50:38 · 518 阅读 · 0 评论 -
Elasticsearch数据迁移工具elasticdump工具
这两天公司要把一部分es数据导入到新的es中,于是就找到了这样一个方便快捷的工具,自己总结了一下使用方法:1. 工具安装wget https://nodejs.org/dist/v8.11.2/node-v8.11.2-linux-x64.tar.xztar xf node-v8.11.2-linux-x64.tar.xzmv node-v8.11.2-linux-x64 /us...原创 2019-07-15 22:28:28 · 304 阅读 · 0 评论 -
Flink 配置文件详解
这两天正好在看现在比较火的大数据流处理框架flink,熟悉了flink的搭建过程,还是比较简单的,于是便了解了一下flink的配置文件安装目录下主要有 flink-conf.yaml 配置、日志的配置文件、zk 配置、Flink SQL Client 配置。1、flink-conf.yaml (1)、基础配置# jobManager 的IP地址jobmanager.rpc...原创 2019-07-18 13:03:36 · 6702 阅读 · 0 评论 -
消息队列的比较与分析
最近开始总结消息队列的一些特点,公司中现在用到的消息队列是kafka,于是顺带结合下其他几个消息队列来比较一下1、Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点?特性 ActiveMQ RabbitMQ RocketMQ Kafka 单机吞吐量 万级,比 RocketMQ、Kafka 低一个数量级 同 ActiveMQ...原创 2019-08-01 17:02:52 · 572 阅读 · 0 评论 -
ES提高查询效率
公司主打的数据存储就是ElasticSearch,数据存储方便快捷,最近想改造一下公司的存储,想让查询效率更加快捷。要想提升es查询效率,必须先去了解es存储以及查询的原理,这里就不一一赘述了,我们就开门见山来分析吧。1、性能优化的杀手锏——filesystem cache你往 es 里写的数据,实际上都写到磁盘文件里去了,查询的时候,操作系统会将磁盘文件里的数据自动缓存到 filesys...原创 2019-08-01 23:01:44 · 2159 阅读 · 0 评论 -
elasticsearch性能优化个人小结
公司数据存储用的最多的就是ES了,大概每天会产生1T的数据,这个数据量还是挺大的,公司用的ES集群有12个节点,后期可能还要扩展,于是便看些博客再结合自己工作,总结了一些ES的调优第一部分:调优索引速度1、使用批量请求批量请求将产生比单文档索引请求好得多的性能。为了知道批量请求的最佳大小,您应该在具有单个分片的单个节点上运行基准测试。首先尝试索引100个文件,然后是200,然后是...原创 2019-08-19 16:11:43 · 4445 阅读 · 0 评论 -
Spark on Yarn作业运行架构原理解析
1 、Client模式说明如下:Spark Yarn Client向YARN的ResourceManager申请启动Application Master。同时在SparkContent初始化中将创建DAGScheduler和TASKScheduler等,由于我们选择的是Yarn-Client模式,程序会选择YarnClientClusterScheduler和YarnClientSch...转载 2019-08-28 17:33:40 · 172 阅读 · 0 评论 -
Hive入门学习笔记
Hive初识:Hive 是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 QL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来...原创 2018-03-27 23:45:44 · 227 阅读 · 0 评论 -
flume学习笔记(一)
今天小编开始学习了flume这个组件了,之前也接触过一点,但迟迟未能将自己的笔记落地,心里还是挺懒的,今天总算可以静下心来好好写一篇博客了。一、flume简介 flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用。Flume 初始的发行版本目前被统称为 Flume OG(original generation),属于 cloudera。但随...原创 2018-09-17 23:51:14 · 456 阅读 · 0 评论 -
HBase启动出现org.apache.hadoop.hbase.TableExistsException: hbase:namespace错误
今天在启动HBase的时候莫名的HMaster启动不起来,查看日志后发现这个错误:2018-09-06 23:05:49,385 FATAL [master:linux201:60000] master.HMaster: Unhandled exception. Starting shutdown.org.apache.hadoop.hbase.TableExistsException: h...原创 2018-09-07 00:01:58 · 3638 阅读 · 0 评论 -
HIve常用的基本语句总结
1、HIve基本数据类型Hive 数据类型 长度 例子 TINYINT 1byte 有符号整数 20 SMALINT 2byte 有符号整数 20 INT 4byte 有符号整数 20 BIGINT 8byte 有符号整数 20 BOOLEAN 布尔类型, true 或者 false TRUE F...原创 2018-07-17 23:29:36 · 4271 阅读 · 0 评论 -
jieba中文分词学习笔记一
1、中文分词 在介绍结巴中文分词前,先简单介绍一下中文分词。中文分词(Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。 最常见的分词算法可以分为三大类:基于字符串匹配的分词方法、基于理解的分词方法、基于统计的分词方法基于字符串匹配的分词方法:这种方法又叫做机械分...原创 2018-07-17 19:07:40 · 13976 阅读 · 0 评论 -
IntelliJ IDEA远程调试python
最近开始学习python版本的map reduce,需要编写一些python程序在自己的虚拟机上,在虚拟机上调试比较麻烦,于是自己上网搜素了一下资料,配置好了,按照如下方式配置就可以了:1、首先使用IntelliJ IDEA创建一个空项目。空项目创建完毕后会弹出创建Module的窗口,暂时将其关闭,我们先进行系统设置后再向项目中添加模块。在菜单中点击Tools -> Development ...原创 2018-07-03 21:37:09 · 4958 阅读 · 0 评论 -
TF-IDF原理及使用
一. 什么是TF-IDFTF-IDF(Term Frequency-Inverse Document Frequency, 词频-逆文件频率). 是一种用于资讯检索与资讯探勘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。上述引用总结就是...原创 2018-07-09 00:22:57 · 4274 阅读 · 0 评论 -
安装Hive时出现无法访问数据库错误
重新安装了一下hive,在连接远程的mysql数据库时,出现无法连接远程数据库,错误如下:于是上网百度了一下出现这种错误原因一般是hive-site.xml配置文件中,数据库的配置,用户名或密码输入不正确,还有就是远程访问mysql数据库时,没有给数据库授权,经过排查,hive-site.xml配置文件没有错,于是定位到是数据库授权的问题,进入数据库执行了一下几句授权命令:1、授权设置用户root...原创 2018-07-08 01:17:54 · 3129 阅读 · 0 评论 -
Hadoop序列化
Hadoop序列化1、为什么要序列化 一般来说,“活的”对象只生存在内存里,关机断电就没有了。而且“活的”对象只能由本地的进程使用,不能被发送到网络上的另外一台计算机。 然而序列化可以存储“活的”对象,可以将“活的”对象发送到远程计算机。2、序列化概念,什么是序列化 序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储(持久化)和网络传输。 反序列化就是将...原创 2018-04-10 20:35:11 · 351 阅读 · 0 评论 -
HBase基本存储原理
HBase基本存储原理:HMasterHMaster没有单点问题,HBase中可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master运行,HMaster在功能上主要负责Table和Region的管理工作:1.管理用户对Table的增、删、改、查操作2.管理HRegionServer的负载均衡,调整Region分布3.在Region Split...原创 2018-03-27 23:37:54 · 3427 阅读 · 0 评论 -
Hadoop退役旧的数据节点(仅供参考)
当然有新增数据节点就有退役数据节点,在公司业务不是很繁忙,或是过了节假期间不需要那么多服务器,同时也是为了开源节流,需要将原有新增的一些数据节点去掉,就需要将老节点退役退役旧节点步骤如下:1)在namenode的/opt/module/hadoop-2.7.2/etc/hadoop目录下创建dfs.hosts.exclude文件[zhang@hadoop102 hadoop]$ pwd/opt/m...原创 2018-04-02 22:14:03 · 1424 阅读 · 1 评论 -
Hadoop服役新的数据节点(仅供参考)
最近自己在学习大数据领域,了解了不少知识,在自己现有的集群环境中模拟了如何在现有的集群上增加新的节点。这种场景在我们现实生活中也很常见,随着公司业务的增长,数据量越来越大,原有的数据节点的容量已经不能满足存储数据的需求,需要在原有集群基础上动态添加新的数据节点。1)环境准备 (1)克隆一台虚拟机 (2)修改ip地址和主机名称 (3)修改xcall和xsync文件,增加新`增节点的同步s...原创 2018-04-02 22:02:56 · 918 阅读 · 0 评论 -
Hadoop namenode和datanode工作机制
namenode工作机制流程图 1)第一阶段:namenode启动(1)第一次启动namenode格式化后,创建fsimage和edits文件。如果不是第一次启动,直接加载编辑日志和镜像文件到内存。(2)客户端对元数据进行增删改的请求。(3)nameno...原创 2018-04-02 21:09:04 · 736 阅读 · 0 评论 -
hadoop的HDFS读写数据流程
HDFS写数据流程图1)客户端通过Distributed FileSystem模块向namenode请求上传文件,namenode检查目标文件是否已存在,父目录是否存在。2)namenode返回是否可以上传。3)客户端请求第一个 block上传到哪几个dat...原创 2018-04-01 17:21:14 · 5451 阅读 · 0 评论