- 博客(107)
- 资源 (2)
- 收藏
- 关注

原创 Hadoop单机搭建手册
hadoop搭建安装指导手册,包含hadoop-3.1.1、hive-3.1.0、zookeeper-3.4.6、hbase-2.3.0、spark-3.3.0等组件版本。笔者发现很多人对于如何快速高效的单机搭建不太清楚,所以笔者整理了这个文档,希望可以帮助大家。链接:https://pan.baidu.com/s/1dKhluh1DSPQNTEicZVnikA。我把文档和数据都分享到百度网盘了。分享不易,希望大家能把链接复制到手机里面,用手机转存一下。下面是资料图,资料包再最后。
2024-12-05 11:11:47
325
原创 The Yarn application application_xxx_xxx doesn‘t exist in RM
本文主要解决flink在standalone模式下,flink run却一直使用yarn-session模式的问题。
2024-11-22 19:00:00
515
原创 MyHdfs代码分享
关于hdfs协议层相关的的解析已经比较全面,但是大多的分析停留在理论层面。为此笔者通过对hadoop源码的整理,完成了myhdfs项目。此项目有个特点是不依赖于任何hadoop的maven包,但却可以作为原生的hadoop客户端的server。项目暂时已经完成了rpc层相关框架。
2024-10-22 17:58:30
321
原创 Container exited with a non-zero exit code 1
很明显是container出错了,但是错误没有提示的很清楚。去对应的nodemanager的userlogs下发现没有任何日志,查看nodemanager日志发现如果任务失败了,默认会删除container日志。调整完了,重新打包一下当前项目,替换一下share/hadoop/yarn/hadoop-yarn-server-nodemanager-3.1.1.jar,重新执行就可以看到container执行日志了。后续经过分析解决了问题。当然container也可能报了其他问题,根据日志可以自行分析解决。
2024-05-12 07:15:00
1037
原创 dfs.content-summary.limit详解
本文主要介绍hdfs dfs du命令相关的介绍,包括dfs.content-summary.limit和dfs.content-summary.sleep-microsec参数详解。
2024-04-28 07:30:00
660
原创 fs.trash.interval详解
回收站功能主要涉及文件或数据的删除和恢复操作。在大多数操作系统和文件管理系统中,回收站都扮演着重要的角色。临时存储删除的文件:当用户使用命令hdfs dfs -rm删除文件或文件夹时,这些文件并不是立即永久删除,而是被移动到Trash文件夹中。这使得用户有机会在需要时恢复这些文件。恢复误删文件:如果用户不小心删除了重要文件,可以通过Trash文件夹里面的数据恢复。设置删除文件保留时间:可以通过fs.trash.interval的值来这是删除保留时间,超过时间的会被回收线程删除。自定义回收线程频率。
2024-04-27 07:30:00
1031
原创 HDFS安全认证参数详解
请先阅读HDFSRPC协议详解HDFSRPC安全认证Kerberos篇HDFSRPC安全认证Token篇HDFSRPC安全认证Token篇2,对整体的框架有一定的了解。
2024-04-18 07:30:00
1362
原创 HDFS Lease详解
读写锁简介,现实中有许多写少读多的场景,在程序实现时就期望同一时间只能有一个写线程可以获取写锁,但是同时可以多个读线程可以获取读锁,于是java便有了ReentrantReadWriteLock。ReentrantReadWriteLock采用读写分离策略,允许多个线程可以同时获取读锁。后面文章中提及的读写锁就使用此种实现。HDFS被设计成Write-Once-Read-Many,即不支持并发写,这里的写不单单指数据写入,也包括创建,修改等。
2024-04-16 07:30:00
854
原创 实现网站图片水印
要实现网站图片水印,有几种方式:1、对于自己想要上传图片先通过某些软件增加水印,然后再上传到图片服务器。2、通过上传客户端(eg:picgo)功能或插件直接自动水印以及上传服务器。本文主要聚焦于第二种方式,使用的上传工具也是picgo。
2024-04-13 07:30:00
567
原创 HDFSRPC安全认证Token篇2
本文为HDFSRPC安全认证Token的补充。主要阐述Token的结构,Token相关RPC接口以及Token如何使用。
2024-04-11 07:30:00
766
原创 个人blog网站搭建2
主题本质上是你网站的整体框架,建议初学者不要选择特别复杂的主题,因为学习成本会飙升。而且网站是需要持续投入时间的,随着你对独立站越来越了解,你在去选择自己网站合适的主题也不迟。使用主题以后,wordpress后台会有主题的相关设置,需要对主题的主页、菜单、侧边栏等设置。完成以后你就可以直接使用wordpress后台的文章,页面功能来实现网站的建设。如果你用的是代理商上的应用镜像,大概率使用的nginx web服务器,如果你自己搭建,也建议使用nginx服务器。这样你就可以通过https访问你的网站了。
2024-04-09 07:30:00
251
原创 HDFSRPC通信框架详解
rpc肯定依赖于socket通信,并且使用的是java NIO。读者最好对nio有一定的了解,文章中不会对相关知识作过多的介绍。还有本文中涉及到的代码大部分都是作者都整理过的,会和server源码有些许区别。
2024-03-26 19:32:25
1252
原创 个人blog网站搭建1
建立网站最好有一定计算机基础,需要了解以下几个概念:域名:网站必须需要地址,这样别人才能在浏览器中输入你的域名来访问你的网站,本质上是通过ip来访问你的网站,可以了解以下域名解析。服务器:一个有公网ip的计算机,用来存放你的网站。计算机倒是简单,pc机也可以,但是公网ip一般都是网络运营商才有,而且价格不菲。随着近几年互联网的发展,虚拟化已经普及。我们完全可以买个虚拟机就能存放我们的网站,并且还有一点,机器的系统可以任选,服务也是7x24。
2024-03-26 07:30:00
389
原创 HDFSDATANODE数据传输详解
本文主要阐述datanode中一个socket连接接收字节流的构成,帮助datanode的接收与处理数据。注意hadoop版本为3.1.1。
2024-03-17 07:30:00
2083
原创 HDFSRPC协议详解
本文主要阐述HDFSRPCserver端一个socket连接接收字节流的构成,帮助读者理解HDFSRPC协议。注意hadoop版本为3.1.1。
2024-03-14 07:30:00
1121
原创 HDFS源码分析3:Namenode通信原理
Hadoop RPC框架原理RPC是远程过程调用(Remote Procedure Call)的缩写形式。RPC主要目的是能让应用层可以像调用本地方法一样调用远程方法。既然是远程调用,肯定是采用了c/s架构。我们可以先分析一下client和server分别要完成什么事情。Client:当应用层调用方法时,肯定要先建立连接,然后把方法和参数都通过socket传输给server,server返回数据以后,把数据format成方法的返回值,返回给应用层。以调用方法为中心,本质上是对该方法加强(方法前后都做
2022-05-12 16:23:32
620
原创 HDFS源码分析2:Datanode通信分析
目录Op线程写在前面第一个包:后续的包ReadBlock:WriteBlock:Datanode本质上也是TCPServer,一般的TCPServer接到客户端请求以后会分配一个线程处理,对于Datanode而言,这个线程可以叫做Op处理线程。每个OP线程会多次和客户端交互,中间涉及多种packet。Op线程写在前面写在前面,关于proto writeDelimitedTo方法在整个处理流程中,会非常频繁的使用的到proto.writeDelimitedTo来传递
2022-05-12 16:16:09
353
原创 HDFS源码分析1:客户端读写
目录客户端读getLocatedBlocks(String src, long start, long length)DFSInputStream.read(byte[] buffer, int offset, int length)客户端写写流程Packet(DFSPacket)的构成DataStream与Datanode交互客户端读hdfs客户端读会先调用open方法,open会调用先getBlockLocations来获取块信息,然后通过openinterna
2022-05-12 16:02:56
596
原创 Ambari 2.7.3新增组件1--Flink 1.10.0
对接原理 ambari有一套完整添加组件的流程,原生的组件一般通过界面配置设置后,后台会使用hdp的rpm安装,安装完成后会使用自定义的python脚本准备配置文件和启动等一系列操作。而对于自增组件,一般通过tar安装,然后通过自定义脚本启动。自定义脚本大致流程如下: 1)创建用户组和用户名 2)获取(下载)tar包,解压到安装目录 3)根据配置参数生成配置文件 4)启动(停止)组件 5)通过ambari UI连接到组件UI操作 ...
2021-11-23 15:12:21
1884
5
原创 HBASE测试YCSB关于READ-FAILED问题
最近对HBASE做了YCSB的测试,数据load后,然后run以后会得到如下结果:发现会有很多READ_FAILED,看图可以发现READ_FAILED本质上就是Return=NOT_FOUND。研究了一下READ的源码(https://github.com/brianfrankcooper/YCSB/blob/0.17.0/hbase10/src/main/java/site/ycsb/db/HBaseClient10.java)可以发现当r.isEmpty()时返回为NOT_FOUN
2021-04-01 11:26:55
878
原创 【Java】HashMap源码剖析:真假HashMap
刚入门ACM的时候,经常会处理字符串相关问题。下面有一道很常规的题:计算一个小写英文字符串中每个字符出现的频率。如果不了解ASCII,用Java直接实现:public class TestMap { public static void main(String[] args) { String input = "abcdefade"; Map<Character, Integer> charMap = new HashMap<Character, I.
2020-06-01 23:31:43
265
原创 【Java】浅析Collections.unmodifiableList
类中成员和方法的可见性一直是JAVA程序员必须时刻关注的问题。常量我们通常都会使用final去修饰,在给final常量赋值的时候,IDE会有很明显的报错。但是我们对于常量数组(集合)一般也会这样,例如public static final String[] STR_LIST = {"a", "b"},我们一般都会认为这种写法没有太大的问题,但是如果运行如下代码:public class TestList { public static final String[] STR_LIST = {"a",
2020-05-29 18:07:12
5061
原创 【hadoop】进阶篇一:MapReduce之Job的提交
Wordcount的例子基本接触过hadoop都会跑过,本篇的主要分析都以Wordcount为例。我们先把etc/hadoop/下配置文件作为Wordcount的输入hadoop fs -put etc/hadoop/* /input然后打开调试运行以下命令hadoophadoop-mapreduce-examples-xxx.jar wordcount /input /output我们...
2019-12-19 16:34:29
533
原创 【hadoop】基础篇一:hadoop第一例搭建--单节点Wordcount
本文的目的主要是让初学者快速的跑通第一个hadoop实例。 在开始之前读者需要做以下准备: 1、linux环境 2、下载jdk linux版本和hadoop安装包()
2016-03-17 17:54:03
632
原创 【hadoop】hadoop栏目序
实践是检验真理的唯一标准。--胡福明 目的 本栏目的主要目的是让读者更深入了解hadoop,其中包含原理探究和源码解析。 文章质量 本人是在2016年1月开始正式接触hadoop项目,所以本栏目的文章可能在初期会有一些bug。 但是本人会有以下两个原则: 一 文章肯定是过脑以后写的。 二 部分文章会循序渐进,已达到文章精
2016-03-09 11:23:30
455
原创 【算法】帽子问题
今天看到在微信上有人发了这一道数学题,题目如下:我当时看到这题一眼就认为答案是c(用的是排除法),然后我就分析了一下,发现这个题最重要的条件并不在题设中。这个条件就是:当不确定的时候不会有人举手。那我们来分析一下当时情况(每个人的想法):第一轮举手前:A:傻x老师,整个墙干嘛,我啥也看不见,还有D能看到2个人是怎么回事,偏心吗?B:傻x老师,整个墙干嘛,我啥
2015-12-21 10:46:54
6499
原创 【Java】 英雄会第四届在线编程大赛·线上初赛:带通配符的数 Java实现
题目http://hero.youkuaiyun.com/Question/Details?ID=351&ExamID=346不支持Java...public class Tst { public static void main(String[] args) { //思路:36?1?8:236428 = 36?:236 + 1?8:428 //典型的f(n) = c + f(n-1)
2014-03-14 17:25:05
969
原创 【Java】java连接ldap
首先必须了解ldap,ldap相关可以问度娘。这边我重点要提的是dn(distinguished name),通俗的来说就是唯一标示。 然后现在可以先下一个ldapadmin,通过ldapadmin先连接已经配置好的ldap,下面是微软ad的图。比如administrator这个用户的dn就是cn=administrator,cn=users,dc=ds-66,dc=com(
2014-03-13 16:51:10
13955
5
原创 二维码生成(GoogleAPI)
url: https://chart.googleapis.com/chart?cht=qr&chld=L&chs=200x200&chl=Hello worldcht: qr chs: x chl: chld: LMQH 1. cht=qr必需,二维码标识。2. chs=x必需的,二维码的尺寸。3. chl=必需,二维码的信息。可以是数字、字符数字、字符
2013-11-28 14:05:26
1907
原创 【php】php文件下载(解决文件下载后多几个字节的问题)
php文件下载比较常见,网上的资料比较多,在此不再强调怎么去实现(因为也是网上看的)。下面主要说明的是下载代码的注意点。 php下载文件主要是把文件以字节流直接输出,也就是echo fread($file, filesize($file_name));,这里要注意的是如果你在代码之前(或之后)有输出,也可能被写入下载的文件中,解决的方法是使用ob_start();和ob_end_cle
2013-11-26 12:28:27
3199
原创 【Java】Java的AES的算法实现(增加解密算法,优化域算法)
前面已经介绍了phpAES优化和解密,现在介绍一下java的AES优化和解密算法。AES.javapublic class Aes { public static final byte[] sBox = { (byte)0x63,(byte)0x7c,(byte)0x77,(byte)0x7b,(byte)0xf2,(byte)0x6b,(byte)0x6f,(byte)0xc5,
2013-11-22 16:06:22
1911
原创 【linux】自定义rpm打包路径
以前如果要打多个不同的rpm包,总是要在不同的server上打包,觉得很麻烦。上次正好有时间研究了一下,发现只要重定义打包路径,就能在一台server上打出多个rpm包,于是就写了一个打包的shell脚本,当然也是在原来的基础做的,比较简单。 结构如下: buildrpm.sh#!/bin/shversion=2.2.4 path=`pwd`#获取当前路径r
2013-11-12 11:25:19
2585
原创 【Java】java生成xls(poi)(2)
对于网上的一些做了封装和注释XLSUtil public class XLSUtil { /** * data的种类:Long Int String * @param title * @param heads * @param data * @return */ public static HSSFWorkbook getWorkBook(List shee
2013-10-31 19:55:35
698
1
原创 【php】header()和ob_start()
header方法可以用来重定向,也可以用来定义一些http错误码。但在使用时如果是在代码中间使用,必须保证前面没有任何输出。通过ob_start()可以解决此问题,也就是开启缓冲,输出和你要header的数据一起作为一个response返回。 使用时一定要注意,如果不需要header前面的输出(如调试信息),一定要使用ob_end_clean()来清除缓冲。如下 ob_start(
2013-10-31 18:03:08
1993
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人