自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

行路中

专注于大数据领域的菜鸟

  • 博客(100)
  • 资源 (2)
  • 收藏
  • 关注

原创 HDFS安全认证参数详解

请先阅读HDFSRPC协议详解HDFSRPC安全认证Kerberos篇HDFSRPC安全认证Token篇HDFSRPC安全认证Token篇2,对整体的框架有一定的了解。

2024-04-18 07:30:00 520

原创 HDFS Lease详解

读写锁简介,现实中有许多写少读多的场景,在程序实现时就期望同一时间只能有一个写线程可以获取写锁,但是同时可以多个读线程可以获取读锁,于是java便有了ReentrantReadWriteLock。ReentrantReadWriteLock采用读写分离策略,允许多个线程可以同时获取读锁。后面文章中提及的读写锁就使用此种实现。HDFS被设计成Write-Once-Read-Many,即不支持并发写,这里的写不单单指数据写入,也包括创建,修改等。

2024-04-16 07:30:00 479

原创 实现网站图片水印

要实现网站图片水印,有几种方式:1、对于自己想要上传图片先通过某些软件增加水印,然后再上传到图片服务器。2、通过上传客户端(eg:picgo)功能或插件直接自动水印以及上传服务器。本文主要聚焦于第二种方式,使用的上传工具也是picgo。

2024-04-13 07:30:00 326

原创 HDFSRPC安全认证Token篇2

本文为HDFSRPC安全认证Token的补充。主要阐述Token的结构,Token相关RPC接口以及Token如何使用。

2024-04-11 07:30:00 636

原创 个人blog网站搭建2

主题本质上是你网站的整体框架,建议初学者不要选择特别复杂的主题,因为学习成本会飙升。而且网站是需要持续投入时间的,随着你对独立站越来越了解,你在去选择自己网站合适的主题也不迟。使用主题以后,wordpress后台会有主题的相关设置,需要对主题的主页、菜单、侧边栏等设置。完成以后你就可以直接使用wordpress后台的文章,页面功能来实现网站的建设。如果你用的是代理商上的应用镜像,大概率使用的nginx web服务器,如果你自己搭建,也建议使用nginx服务器。这样你就可以通过https访问你的网站了。

2024-04-09 07:30:00 187

原创 dfs.ls.limit详解

dfs.ls.limit主要用于查询目录下的子文件,子文件单次返回最大个数。默认值为1000。

2024-04-06 07:30:00 204

原创 HDFSRPC通信框架参数详解

请先阅读HDFSRPC通信框架详解,对整体框架有一定的了解。

2024-04-04 07:30:00 673

原创 HDFSRPC通信框架详解

rpc肯定依赖于socket通信,并且使用的是java NIO。读者最好对nio有一定的了解,文章中不会对相关知识作过多的介绍。还有本文中涉及到的代码大部分都是作者都整理过的,会和server源码有些许区别。

2024-03-26 19:32:25 1085

原创 个人blog网站搭建1

建立网站最好有一定计算机基础,需要了解以下几个概念:域名:网站必须需要地址,这样别人才能在浏览器中输入你的域名来访问你的网站,本质上是通过ip来访问你的网站,可以了解以下域名解析。服务器:一个有公网ip的计算机,用来存放你的网站。计算机倒是简单,pc机也可以,但是公网ip一般都是网络运营商才有,而且价格不菲。随着近几年互联网的发展,虚拟化已经普及。我们完全可以买个虚拟机就能存放我们的网站,并且还有一点,机器的系统可以任选,服务也是7x24。

2024-03-26 07:30:00 318

原创 HDFSRPC安全认证Token篇

本文主要阐述HDFSRPC安全认证相关的实现。主要介绍Token相关的实现。

2024-03-22 07:30:00 1650

原创 HDFSRPC安全认证Kerberos篇

本文主要阐述HDFSRPC安全认证相关的实现。主要介绍Kerberos相关的实现。

2024-03-19 07:30:00 824

原创 HDFSDATANODE数据传输详解

本文主要阐述datanode中一个socket连接接收字节流的构成,帮助datanode的接收与处理数据。注意hadoop版本为3.1.1。

2024-03-17 07:30:00 1822

原创 HDFSRPC协议详解

本文主要阐述HDFSRPCserver端一个socket连接接收字节流的构成,帮助读者理解HDFSRPC协议。注意hadoop版本为3.1.1。

2024-03-14 07:30:00 994

原创 dfs.permissions.superusergroup详解

此参数主要是配置hdfs的超级部门,默认值是supergroup。

2024-03-12 14:32:39 366

原创 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 529

原创 HDFS源码分析2:Datanode通信分析

目录Op线程写在前面第一个包:后续的包ReadBlock:WriteBlock:Datanode本质上也是TCPServer,一般的TCPServer接到客户端请求以后会分配一个线程处理,对于Datanode而言,这个线程可以叫做Op处理线程。每个OP线程会多次和客户端交互,中间涉及多种packet。Op线程写在前面写在前面,关于proto writeDelimitedTo方法在整个处理流程中,会非常频繁的使用的到proto.writeDelimitedTo来传递

2022-05-12 16:16:09 277

原创 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 427

原创 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 1798 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 702

原创 【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 220

原创 【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 4946

原创 【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 483

原创 【hadoop】基础篇一:hadoop第一例搭建--单节点Wordcount

本文的目的主要是让初学者快速的跑通第一个hadoop实例。    在开始之前读者需要做以下准备:    1、linux环境    2、下载jdk linux版本和hadoop安装包()

2016-03-17 17:54:03 595

原创 【hadoop】hadoop栏目序

实践是检验真理的唯一标准。--胡福明    目的    本栏目的主要目的是让读者更深入了解hadoop,其中包含原理探究和源码解析。    文章质量    本人是在2016年1月开始正式接触hadoop项目,所以本栏目的文章可能在初期会有一些bug。    但是本人会有以下两个原则:    一 文章肯定是过脑以后写的。    二 部分文章会循序渐进,已达到文章精

2016-03-09 11:23:30 426

原创 【算法】帽子问题

今天看到在微信上有人发了这一道数学题,题目如下:我当时看到这题一眼就认为答案是c(用的是排除法),然后我就分析了一下,发现这个题最重要的条件并不在题设中。这个条件就是:当不确定的时候不会有人举手。那我们来分析一下当时情况(每个人的想法):第一轮举手前:A:傻x老师,整个墙干嘛,我啥也看不见,还有D能看到2个人是怎么回事,偏心吗?B:傻x老师,整个墙干嘛,我啥

2015-12-21 10:46:54 6220

原创 【Java】 英雄会第四届在线编程大赛·线上初赛:带通配符的数 Java实现

题目http://hero.csdn.net/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 926

原创 【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 13765 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 1762

原创 【php】php文件下载(解决文件下载后多几个字节的问题)

php文件下载比较常见,网上的资料比较多,在此不再强调怎么去实现(因为也是网上看的)。下面主要说明的是下载代码的注意点。     php下载文件主要是把文件以字节流直接输出,也就是echo fread($file, filesize($file_name));,这里要注意的是如果你在代码之前(或之后)有输出,也可能被写入下载的文件中,解决的方法是使用ob_start();和ob_end_cle

2013-11-26 12:28:27 3094

原创 【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 1857

原创 【linux】自定义rpm打包路径

以前如果要打多个不同的rpm包,总是要在不同的server上打包,觉得很麻烦。上次正好有时间研究了一下,发现只要重定义打包路径,就能在一台server上打出多个rpm包,于是就写了一个打包的shell脚本,当然也是在原来的基础做的,比较简单。    结构如下:    buildrpm.sh#!/bin/shversion=2.2.4 path=`pwd`#获取当前路径r

2013-11-12 11:25:19 2405

原创 【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 660 1

原创 【php】header()和ob_start()

header方法可以用来重定向,也可以用来定义一些http错误码。但在使用时如果是在代码中间使用,必须保证前面没有任何输出。通过ob_start()可以解决此问题,也就是开启缓冲,输出和你要header的数据一起作为一个response返回。   使用时一定要注意,如果不需要header前面的输出(如调试信息),一定要使用ob_end_clean()来清除缓冲。如下   ob_start(

2013-10-31 18:03:08 1915

原创 【php】php的AES的算法实现(增加解密算法,优化域算法)

一直没时间写解密算法,最近要用到,就写了个。还有调用的类也整理了以下。    class.Aes.php<?phpclass Aes { /** * AES Cipher function: encrypt 'input' with Rijndael algorithm * * @param input message as byte-array (16

2013-10-31 17:49:46 1245 1

原创 【php】获取http请求body数据

在php中,我们习惯使用get/post方式获取参数值,但对于有些自定义http协议,会有特定的格式,php通过常规解析并不能获取这些数据。这时候我们可以通过获取body,用特定的格式去解析body来得到想要的数据。关键是怎么获取body。    通过查阅发现php有以下方法http_get_request_body,在实际使用时php并没有识别此方法(即此方法不可用)。但是在下面的注释中发现

2013-10-31 17:43:05 23180

转载 Vmware What is the location of the directory of C header files that match your running问题的解决

原文地址:http://blog.sina.com.cn/s/blog_412ef34201016nip.html在执行的过程中,我遇到了What is the location of the directory of Cheader files that match yourrunning的问题。问题描述:运行./vmware-install.pl后,一直按enter键就ok了,

2013-10-19 17:12:18 1480

原创 【Mysql】shell运行mysql的sql语句

shell本身是一种脚本语言,所以不能像java一样通过api去连接数据库。shell还是要借助mysql本身的一些运行脚本才能去执行sql语句。说到这很明白了,首先必须在机器上安装mysql。   可以通过mysql/bin/mysql这个脚本来运行sql语句,格式是mysql -hhost -Pport -uusername -ppassword database -e"sql",下面是s

2013-09-23 13:47:36 2022

原创 【Java】java生成xls(poi)

通过apache poi来生成xls,poi下载地址http://poi.apache.org/    下面直接是代码,已经在代码中添加的详细的注释。还有要声明的是这个只是一个demo,再次加工即可使用。public class DemoFour { public static void main(String[] args) { //表名 String studentSh

2013-09-23 10:19:05 691

原创 解决SVN: Folder already under version control

刚遇到此问题的时候感觉很奇怪,明明自己并没有svn add这个目录,却说此目录已经有version。用svn status时此目录也是?状态。后来想到此目录是从另一个机器上copy的,而这个目录以前是svn目录,所有包含.svn文件。要解决此问题,删除要提交目录下的所有.svn文件即可。

2013-09-12 10:46:26 23506

原创 【Linux】Linux设置程序开机自启动

Linux中可以通过chkconfig来设置开机自启动。某个程序的开机自启动要完成以下两步:    1必须有一个程序的运行脚本,其实就是一个shell脚本,放置在/etc/init.d/目录下。当然脚本必须在包含以下两行    #chkconfig: 2345 80 30    #description: this is a test    主要要说明一下第一行,2345代表启动停

2013-09-11 14:53:54 955

Java json 所需jar合集

可以在java中使用解析json数据。使用JSON-lib这个Java类包实现Java的数据转换。

2013-06-03

phpLdap.rar

php ldap使用代码,详细的介绍了php中ldap的使用,并且已经封装。

2012-09-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除