- 博客(134)
- 收藏
- 关注
原创 关于HDFS一些你可能不知道的功能(多集群之间数据拷贝、快照snapShot、回收站)
目录一、多个集群之间的数据拷贝二、HDFS快照snapShot管理1. 快照使用基本语法2. 快照操作实际案例三、回收站一、多个集群之间的数据拷贝在我们实际工作当中,极有可能会遇到将测试集群的数据拷贝到生产环境集群,或者将生产环境集群的数据拷贝到测试集群,那么就需要我们在多个集群之间进行数据的远程拷贝,hadoop自带也有命令可以帮我们实现这个功能: 本地文件拷贝scp cd /kkb/softscp -r jdk-8u141-linux-x64.tar.gz ha
2020-08-07 16:34:55
711
原创 MapReduce中Map Task的数量确定及切片机制
目录一、MapTask个数二、如何控制mapTask的个数三、关于分片确定的临界问题四、ReduceTask的数量如何确定?在MapReduce当中,每个mapTask处理一个切片split的数据量,注意切片与block块的概念很像,但是block块是HDFS当中存储数据的单位,切片split是MapReduce当中每个MapTask处理数据量的单位。在介绍map task的数量及切片机制之前先了解这两个概念:block块(数据块,物理划分)block是HDFS中的基本存储单位,h
2020-08-07 15:44:04
4419
2
原创 MapReduce的核心思想与编程模型原理详解(含wordcount单词统计案例实现)
目录一、MapReduce的定义二、MapReduce的核心思想.三、MapReduce编程模型1. Map阶段2. Reduce阶段3. Map&Reduce四、MapReduce编程指导思想(天龙八步)1. Map阶段2个步骤2. Shuffle阶段4个步骤3. Reduce阶段2个步骤五、Hadoop当中常用的数据类型六、MapReduce编程入门之单词统计案例实现第一步:创建maven工程并导入以下jar包第二步:定义mapper类
2020-08-07 11:39:05
2408
原创 HDFS小文件问题及解决方案(Hadoop Archive,Sequence File和CombineFileInputFormat)
目录一、前言概述二、Hadoop Archive方案(HAR)第一步:创建归档文件第二步:查看归档文件内容第三步:解压归档文件三、Sequence Files方案四、CombineFileInputFormat方案一、前言概述小文件是指文件size小于HDFS上block大小的文件。这样的文件会给Hadoop的扩展性和性能带来严重问题。首先,在HDFS中,任何block,文件或者目录在内存中均以对象的形式存储,每个对象约占150byte,如果有1000 0000个小文
2020-08-06 17:00:44
1109
原创 Datanode工作机制以及数据存储详解
目录1. Datanode工作机制2. 数据完整性3. 掉线时限参数设置4. DataNode的目录结构5. Datanode多目录配置HDFS分布式文件系统也是一个主从架构,主节点是我们的namenode,负责管理整个集群以及维护集群的元数据信息从节点datanode,主要负责文件数据存储1. Datanode工作机制1)一个数据块在datanode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。
2020-08-06 11:59:40
4023
原创 HDFS的优缺点和读、写数据流程详解
目录一、hadoop的运行模式1. 本地运行模式2. 伪分布式运行模式3. 完全分布式运行模式(开发重点)二、hdfs的优缺点1. hdfs的优点2. hdfs的缺点三、hdfs的读写流程1. hdfs的写入流程2. hdfs的读取流程一、hadoop的运行模式1. 本地运行模式 无需任何守护进程,所有的程序都运行在同一个JVM上执行。在独立模式下调试MR程序非常高效方便。所以一般该模式主要是在学习或者开发阶段调试使用 2. 伪分布式运行模式
2020-08-06 10:23:28
1881
原创 Hadoop中的NameNode和SecondaryNameNode功能剖析
目录一、namenode与secondaryName解析1、namenode工作机制2、Secondary NameNode工作二、FSImage与edits详解一、NameNode与SecondaryNameNode解析 NameNode主要负责集群当中的元数据信息管理,而且元数据信息需要经常随机访问,因为元数据信息必须高效的检索,那么如何保证namenode快速检索呢??元数据信息保存在哪里能够快速检索呢??如何保证元数据的持久安全呢?? 为了保证元数据信息的快速检索
2020-08-05 15:53:08
920
原创 HDFS的功能和架构原理详解
目录一、分布式文件系统的理解二、HDFS的架构详细剖析1. 文件分块存储&3副本2. 抽象成数据块的好处3. HDFS架构4. 扩展三、HDFS的shell命令操作四、HDFS安全模式一、分布式文件系统的理解 最直观的理解便是三个臭皮匠,顶个诸葛亮。 很多的磁盘加一起就可以装下天下所有的avi 类似于你出五毛,我出五毛,我们一起凑一块的效果 如下图:二、HDFS的架构详细剖析1. 文件分块存储&3副本
2020-08-05 15:15:06
1261
原创 HDFS的Java API开发详解(文件的创建上传下载删除、IO流操作HDFS、小文件合并)
目录一、准备工作第一步:windows中的hadoop环境配置第二步:创建maven工程并导入jar包二、Java API开发实操一、准备工作 windows操作系统需要配置一下hadoop环境 mac本质上是unix系统,不需要配置 第一步:windows中的hadoop环境配置 windows操作系统需要配置一下hadoop环境 mac本质上是unix系统,不需要配置 1. 解压Hadoop安装包压缩文件到一个没有中文没有空格的目录下,类.
2020-08-05 14:41:44
2537
原创 Spark(4)RDD编程中的transformation算子和action算子使用与区别详解
前言在上一篇文章中我们介绍了什么是RDD,以及RDD的属性、特征、依赖关系和缓存机制等等:Spark(3)架构原理、运行流程、RDD那么,本文继续重点介绍一下RDD两类算子的使用。一、编程模型在Spark中,RDD被表示为对象,通过对象上的方法调用来对RDD进行转换。经过一系列的transformations定义RDD之后,就可以调用actions触发RDD的计算,action可以是向应用程序返回结果(count, collect等),或者是向存储系统保存数据(saveAsTextFil
2020-08-04 16:07:44
2294
原创 Spark(3)架构原理、运行流程和RDD介绍
目录一、Spark简介1、内置模块介绍2、Spark特点二、Spark基本架构和运行流程1、基本架构2、运行流程三、RDD概述1、什么是RDD2、RDD的属性3、RDD的特点4、RDD依赖关系4.1 Lineage4.2 窄依赖4.3 宽依赖4.4 DAG4.5 任务划分(面试重点)5、 RDD缓存6、 RDD CheckPoint一、Spark简介1、内置模块介绍S...
2020-08-03 19:21:55
1873
原创 Spark(2)面试官要求手写的wordcount案例(Java、Scala代码实现)
目录一、编写WordCount程序二、启动Hadoop(HDFS+YARN)和Spark服务三、运行调试Spark Shell仅在测试和验证我们的程序时使用的较多,在生产环境中,通常会在IDE中编制程序,然后打成jar包,然后提交到集群,最常用的是创建一个Maven项目,利用Maven来管理jar包的依赖。这里借用最基本的wordcount案例来演示一下:一、编写WordCount程序1、在IDEA中创建一个Maven项目WordCount并导入依赖 <de
2020-07-31 17:57:47
926
原创 ERROR Shell: Failed to locate the winutils binary in the hadoop binary path java.io.IOException:
1、问题现象在IDEA中编写完相关代码后运行报错:ERROR Shell: Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.2、原因出现这个问题的原因,并不是程序的错误,而是用到了hadoop相关的服务,而windows本
2020-07-31 17:11:16
5583
5
原创 Spark(1)分布式集群安装部署与验证测试
目录一、准备工作二、安装部署三、启动服务和验证一、准备工作1、准备三台服务器(虚拟机):weekend110 192.168.2.100 weekend01 192.168.2.101 weekend02 192.168.2.102 2、Hadoop已经安装好并能正常启动二、安装部署1、先在一台机器(weekend110)上安装Scala和Spark安装Scala:官网下载安装包并上传到虚拟机,然后解压:tar -zxvf soft/s
2020-07-31 15:31:47
751
原创 Redis 企业级解决方案(缓存预热、缓存雪崩、缓存击穿、缓存穿透、性能指标监控)
目录一、缓存预热二、缓存雪崩三、缓存击穿四、缓存穿透五、性能指标监控一、缓存预热缓存预热就是系统启动前,提前将相关的缓存数据直接加载到缓存系统。避免在用户请求的时候,先查询数据库,然后再将数据缓存的问题!用户直接查询事先被预热的缓存数据!宕机:服务器启动后迅速宕机问题排查:1. 请求数量较高2. 主从之间数据吞吐量较大,数据同步操作频度较高解决方案:前置准备工作:1. 日常例行统计数据访问记录,统计访问频度较高的热点数据2. 利用LRU数据...
2020-07-30 17:48:26
1100
原创 Redis(7)主从复制工作流程、集群部署和常见问题解决方案
目录前言1、单机redis的风险与问题2、多台服务器连接方案一、主从复制简介二、主从复制工作流程1、建立连接阶段2、数据同步阶段工作流程3、命令传播阶段三、主从复制常见问题1、频繁的全量复制(1)2、频繁的全量复制(2)3、频繁的网络中断(1)4、频繁的网络中断(2)5、数据不一致前言1、单机redis的风险与问题问题1.机器故障现象:硬盘故障、系统崩溃 本质:数据丢失,很可能对业务造成灾难性打击 结论...
2020-07-30 10:17:21
705
原创 Redis(6)删除策略(定时删除、惰性删除、定期删除)和数据逐出策略
目录一、过期数据二、数据删除策略1. 定时删除2. 惰性删除3. 定期删除4. 删除策略比对三、逐出算法1. 新数据进入检测2. 影响数据逐出的相关配置3. 数据逐出策略配置依据一、过期数据Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其状态:XX :具有时效性的数据 -1 :永久有效的数据 -2 :已经过期的数据 或 被删除的数据 或 未定义的数据二、数据删除策略数据删除策略的目标:在内存...
2020-07-29 17:29:59
21650
5
原创 Redis(5)事务和锁(结合实际业务场景)
目录一、事务1、什么是事务2、事务的基本操作3、事务的工作流程4、事务的注意事项二、锁(监视锁、公共锁)1、业务场景12、业务场景2(超卖问题)3、业务场景(分布式锁改良)一、事务1、什么是事务redis事务就是一个命令执行的队列,将一系列预定义命令包装成一个整体(一个队列)。当执行时,一次性按照添加顺序依次执行,中间不会被打断或者干扰。一个队列中,一次性、顺序性、排他性的执行一系列命令 。2、事务的基本操作注意:加入事务的命令暂时进入...
2020-07-29 16:41:56
816
原创 Redis(4)持久化(RDB、AOF)
目录一、持久化(persistence)二、RDB三、AOF四、RDB与AOF的区别Redis中数据存储模式有2种:cache-only、persistencecache-only 即只做为“缓存”服务,不持久数据,数据在服务终止后将消失,此模式下也将不存在“数据恢复”的手段,是一种安全性低/效率高/容易扩展的方式; persistence 即为内存中的数据持久备份到磁盘文件,在服务重启后可以恢复,此模式下数据相对安全。一、持久化(persistence)什么是持久化 ?
2020-07-29 16:15:03
345
原创 Windows下大数据开发环境安装和配置详细步骤(Java、Maven、IDEA)
目录前言一、Java下载安装和配置1、下载Java安装包2、安装Java3、配置Java环境变量4、验证Java是否安装成功二、Maven下载安装和配置1、下载Maven安装包2、安装Maven3、配置Maven环境变量4、验证Maven是否安装成功三、IDEA下载安装和配置1、下载安装和破解:2、IntelliJ IDEA环境设置1)配置JDK2)配置Maven3)设置编译环境前言上周末在进行虚拟机升级的过程中直接导致操作系统瘫.
2020-07-29 12:11:48
1575
原创 Redis(3)数据类型(string、hash、list、set、sorted_set)详解与业务场景实战
目录前言redis 数据存储格式一、string 类型1、基本介绍2、string 类型数据的基本操作3、string 类型数据的扩展操作 业务场景1string 作为数值操作业务场景24、string 类型数据操作的注意事项业务场景3二、hash 类型1、基本介绍2、hash 类型数据的基本操作3、hash 类型数据扩展操作4、hash 类型数据操作的注意事项5、hash 类型应用场景业务场景1业务场景2业务场景...
2020-07-28 17:53:50
929
1
原创 Redis(2)入门(概念、特征、下载安装、基本操作)
目录一、Redis 简介0、前言1、概念2、特征3、Redis 的应用二、Redis 的下载与安装1、Linux 版(适用于企业级开发)2、Windows 版本(适合零基础学习)三、Redis 的基本操作一、Redis 简介0、前言1、概念Redis (REmote DIctionary Server) 是用 C 语言开发的一个开源的高性能键值对(key-value)数据库。2、特征1)数据间没有必然的关联关系2)内部采
2020-07-28 16:07:11
363
原创 Impala入门学习与使用详解
目录一、Impala的基本概念1.1 什么是Impala1.2 Impala的优缺点1.2.1 优点1.2.2 缺点1.3 Impala的架构二、Impala的安装2.1 Impala的地址2.2 Impala的安装方式2.3 Impala 的监护管理2.4 Impala的初体验三、Impala的操作命令3.1 Impala的外部shell3.2 Impala的内部shell四、Impala的数据类型五、DDL数据定义5.1 创建数据库
2020-07-28 15:22:54
1852
原创 Redis(1)Linux下安装部署redis详细教程
目录1、下载安装包2、安装和编译3、修改配置文件4、启动1、下载安装包下载地址:http://redis.io/download,下载最新稳定版本并上传到Linux某个目录下。本教程使用的最新文档版本为 5.0.8,使用的是在线下载并安装:[hadoop@weekend110 installPackage]$ wget http://download.redis.io/releases/redis-5.0.8.tar.gz[hadoop@weekend110 instal
2020-07-28 13:05:24
282
原创 [面试重点]Zookeeper (3)脑裂问题
目录1、Zookeeper集群节点个数部署成奇数的原因2、Zookeeper集群中的"脑裂"场景3、Zookeeper 集群"脑裂"问题处理3.1 什么是脑裂?3.2 什么原因导致Zookeeper脑裂?3.3 怎么解决Zookeeper的"脑裂"问题?脑裂问题通常会出现在集群环境中,比如ElasticSearch、Zookeeper集群,而这些集群环境有一个统一的特点,就是它们有一个大脑,比如ElasticSearch集群中有Master节点,Zookeeper集群中有Lead
2020-07-24 17:34:46
521
原创 Zookeeper(2)基础架构与内部原理解析(数据存储、watch机制、监听器、选举机制)
目录一、概述二、特点三、应用场景1、 统一命名服务2、统一配置管理3、统一集群管理4、服务器节点动态上下线5、软负载均衡四、工作原理五、数据与存储1、内存数据2、事务日志3、snapshot-数据快照4、初始化5、数据同步6、写数据流程六、watch机制七、监听器原理(面试重点)八、选举机制(面试重点)一、概述Zookeeper是一个分布式应用程序的协调服务。它是一个为分布式应用提供一致性服务的软件,提供的性能包括:配置维护
2020-07-24 17:23:44
1927
原创 Zookeeper(1)集群的安装部署
目录一、安装部署1.安装前准备2.配置修改3.操作Zookeeper二、常用配置参数解读三、常用命令1. Zookeeper服务端命令2. Zookeeper客户端命令一、安装部署1.安装前准备(1)安装好jdk[hadoop@weekend110 ~]$ java -versionjava version "1.8.0_231"Java(TM) SE Runtime Environment (build 1.8.0_231-b11)Java HotS
2020-07-24 16:54:31
471
原创 MapReduce实现将HDFS中的数据解析并写入到HBase表中
目录一、准备工作二、功能实现1、创建Maven工程并导入依赖2、编写自定义Mapper类3、编写自定义Reducer类4、编写自定义Runner类5、运行代码并查看结果在上一篇博客中实现了HBase表之间的数据迁移功能:HBase表之间的数据迁移(使用MapReduce实现)那么,本文继续结合小案例介绍如何使用MapReduce将HDFS中的数据写入到HBase表中。功能实现:一、准备工作1)启动好Zookeeper、Hadoop、HBase服务;[
2020-07-23 15:21:00
1635
原创 HBase表之间的数据迁移(使用MapReduce实现)
目录一、案例需求:二、代码实现0、创建Maven工程并导入依赖1、自定义Mapper类ReadStudentMapper2、自定义Reducer类WriteStudentReducer3、自定义Runner类MRRunner4、运行代码和查看结果一、案例需求:在HBase中有一张测试用表"table777",表中数据如下:现在需要从该表中抽取每一行数据的部分字段(name、phone),然后写入到HBase中的另一张测试用表"table777_mr",使用MapR
2020-07-23 12:41:48
908
原创 HBase API基本操作(含java代码实现)
目录一、环境准备1、启动服务2、创建Maven工程二、HBaseAPI1、编写一个Student类2、编写HBaseAPI类3、测试结果在前面我们已经安装和部署好了HBase服务,并对HBase的架构原理做了介绍:HBase1.3.3安装部署详细步骤HBase的架构、数据结构和进阶原理(读写流程、flush、合并、拆分)详解那么,本篇文章再结合具体的例子对HBase的java API做一个基本实现,具体如下:一、环境准备1、启动服务启动Zookeepe
2020-07-23 10:09:19
2464
原创 HBase的架构、数据存储结构和进阶原理(读写流程、Flush、StoreFile合并、预分区、Region拆分与合并)详解
目录一、HBase架构1、Client2、Zookeeper3、HMaster(类似NameNode)4、HregionServer(类似DataNode)5、HDFS6、HRegion7、Store8、HFile9、MemStore10、WAL(Write-Ahead logs)11、HBase Meta表二、HBase数据结构1、RowKey(行键)2、Column Family(列族)3、Cell(单元)4、TimeStamp(时间戳
2020-07-22 13:14:19
2379
1
原创 Linux集群时间同步配置详细步骤
目录一、时间同步的方式二、配置时间同步具体实操1. 时间服务器配置(必须root用户)(1)检查ntp是否安装(2)修改ntp配置文件(3)修改/etc/sysconfig/ntpd 文件(4)重新启动ntpd服务(5)设置ntpd服务开机启动2. 其他机器配置(必须root用户)一、时间同步的方式找一个机器(比如,weekend110),作为时间服务器,所有的机器与这台服务器的时间进行定时的同步。比如,每隔十分钟,同步一次时间。二、配置...
2020-07-21 17:18:45
1945
3
原创 HBase1.3.3安装部署详细步骤
目录一、准备工作二、HBase安装与部署三、HBase服务的启动1.启动方式12.启动方式23、查看HBase的web页面一、准备工作1、Zookeeper正常部署,首先保证Zookeeper集群的正常部署,并成功启动:[hadoop@weekend110 zookeeper-3.4.5]$ bin/zkServer.sh start[hadoop@weekend01 zookeeper-3.4.5]$ bin/zkServer.sh start[hadoop@we
2020-07-21 16:40:30
917
原创 Lucene、Solr和Elasticsearch三者的区别与联系
目录一、结构化数据与非结构化数据二、全文检索三、Lucene四、Lucene、Solr、Elasticsearch三者的关系SolrElasticsearchSolr的优缺点Elasticsearch的优缺点Elasticsearch 与 Solr 的比较一、结构化数据与非结构化数据结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。非结构化数据:指不定长或无固定格式的数据,如邮件,word文档等。结构化数据的搜索根据上面所述的内容,所以.
2020-07-21 14:53:00
3100
原创 Elasticsearch中的倒排索引和读写操作原理解析
目录前言一、倒排索引二、Elasticsearch中的基本概念三、写操作原理四、读操作原理前言在实际的生产环境中,起初启用Elasticsearch(下称ES)是为了解决模糊查询的问题。具体业务场景为大量抓取回来的短视频内容、热门微博、公众号文章、小红书笔记、信息流新闻文章等,需要支持用户模糊查找,而随着每日新增的内容越来越多,这些信息已经积累到单个媒体数千万近亿的数量,因此依靠MySQL的模糊查询是无法满足性能上的要求,考虑引入对应的搜索引擎来解决,于是就将数据的特定字段迁移至
2020-07-20 19:01:30
939
1
原创 linux开机过程发生了什么
相信去面试过大厂linux的对这个问题并不陌生,知道启动过程才能够解决启动中遇到的问题。当你按下主机电源几分钟后看到Linux的登陆界面出现,这中间你知道发生了什么事吗?通电->BIOS->MBR->GRUB->Kernel->/sbin/init->Runlevel下图显示了典型Linux系统启动的6个主要阶段:1. BIOSBIOS: Basic Input/Output System执行系统完整性检查从软盘,光盘,硬盘中查找boot
2020-07-20 14:06:21
332
原创 Centos7离线安装MySQL5.7的详细步骤
目录步骤一:将mysql安装包上传到/usr/local/下并解压步骤二:查看系统自带的Mariadb并卸载步骤三:检查mysql的组和用户是否存在,如无则创建步骤四:将解压后的mysql的安装包更改用户和组为mysql步骤五:在/etc下创建my.cnf文件步骤六:进入mysql文件夹,安装mysql步骤七:配置环境变量步骤八:启动mysql步骤九:登录mysql并设置基础环境步骤10:重启mysql提示:本次安装是基于Linux CentOS 7的环境。.
2020-07-20 11:43:21
1437
1
原创 linux实用故障排查
目录1、排查思路2、cpu3、内存4、磁盘IO5、网络6、系统负载7、GC问题8、日志的查看1、排查思路大数据集群运行在linux系统上总会遇见各种各样的问题,我们要定位问题,基本从这几个方面入手排查:cpu, 内存,磁盘IO,网络,GC等。2、cpu一些概念:多核,超线程 ,CPU频率(2.2GHZ)(节能模式,普通模式,超能模式,bios里设置,搭集群要注意下这个参数尽量关闭节能模式)bios里可以关闭。#1 查看物理CPU个数cat /pr.
2020-07-20 11:21:56
664
原创 linux三剑客grep、sed、awk
目录综述一、grep1.作用2.格式3.主要参数4.grep命令使用简单实例5.grep命令使用复杂实例二、sed三、awk综述1. grep 更适合单纯的查找或匹配文本2. sed 更适合编辑文本3. awk 更适合格式化文本,对文本进行较复杂格式处理一、grep1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expressio.
2020-07-20 11:04:15
339
原创 linux常用基本命令
目录1、基础快捷键2、文件命令3、系统信息命令4、压缩/解压命令5、网络命令6、权限命令7、用户管理命令8、用户组管理命令9、搜索查找命令10、磁盘分区挂载命令11、进程管理命令12、crond 系统定时任务13、rpm包管理与yum源14、SSH免密15、nohup16、关闭防火墙1、基础快捷键ctrl + c 停止进程ctrl+l 清屏;彻...
2020-07-20 10:53:56
506
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅