- 浏览: 252606 次
- 性别:
-
最新评论
文章列表
HBase-压缩和分割原理
- 博客分类:
- hadoop
HRegionServer调用合并请求
主要逻辑如下:
//遍历每个Store然后计算需要合并的文件,生成
//CompactionRequest对象并提交到线程池中执行
//根据throttleCompaction()函数规则来判断是提交到
//largeCompactions线程池还是smallCompactions线程池
CompactSplitThread#requestCompaction() {
for (Store s : r.getStores().values()) {
CompactionRequest cr = Store.request ...
Hbase-HMaster架构
- 博客分类:
- hadoop
HMaster的整体结构
一个master包含如下部分:
1.对外的接口
RPC服务
jetty web服务
Master MBean
其中RPC服务包括了若干listener,reader,以及handler线程(IPC Handler和 用于replication的IPC Handler)
2.执行服务
都是一些线程池,当有任务出现时就就会交给这些类来处理
这些线程有
MASTER_SERVER_OPERATIONS
MASTER_META_SERVER_OPERATIONS
MASTER_CLOSE_REGION
MASTER_OP ...
Hadoop-balancer执行原理
- 博客分类:
- hadoop
核心类在
org.apache.hadoop.hdfs.server.balancer.Balancer
均衡算法 伪代码
while(true) {
1.获取需要迁移的字节数
if(需要迁移字节数 == 0) {
return "成功,无需迁移";
}
2.选择需要迁移的节点
if(需要移动的数据 == 0) {
...
awk介绍
AWK是一种优良的文本处理工具。它不仅是 Linux 中也是任何环境中现有的功能最强大的数据处理引擎之一。这种编程及数据操作语言(其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母)的最大功能取决于一个人所拥有的知识。
AWK 提供了极其强大的功能:可以进行样式装入、流控制、数学运算符、进程控制语句甚至于内置的变量和函数。它具备了一个完整的语言所应具有的几乎所有精美特性。实际上 AWK 的确拥有自己的语言:AWK 程序设计语言, 三位创建者已将它正式定义为“样式扫描和处理语言”。它允许您创 ...
命令汇总
指令
含义
a
在当前行后面加入一行文本
b lable
跳转分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末
c
用新的文本改变本行的文本
d
从模式空间(Pattern space)位置删除行
D
删除 ...
触发器
CREATE TRIGGER <触发器名称> --触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象.{ BEFORE | AFTER } --触发器有执行的时间设置:可以设置为事件发生前或后。{
linux shell脚本攻略
- 博客分类:
- 学习笔记
第一章 小试牛刀
echo 后面可以直接跟内容,或者用单引号和双引号
1.单引号中的变量不会被解析,比如echo '$aa' 结构就是 $aa
2.不带引号时,echo hello;hello 的第二个hello会被当做命令执行
echo -n 忽略换行
echo -e 输出的内容会被转移
printf
%-5s 打印字符串,- 表示左对齐,不到5位的用空格替代
$s格式化字符串,%c是替换字符,%d是数字,%f是浮点数
输出带色彩的文件和背景
echo -e "\e[1;45m \e[1;31m sssssssssssssss \e[0m& ...
rpm
rpmbuild
yum
diff
patch
参考:
diff和patch使用指南
一些实用的shell脚本
- 博客分类:
- linux
删除jps执行后显示不存在的pid,比如执行jps后显示
9527 -- process information unavailable
找到这些不存在的pid,然后将其删除(这些文件在/tmp/hsperfdata_root/ 目录下)
#! /bin/bash
source /etc/profile
pids=`jps | grep process | awk '{print $1}'`
for line in $pids
do
path=`find /tmp -name "$line"`
rm -f $path
do ...
Hadoop-commons分析
- 博客分类:
- hadoop
hadoop的配置文件相关类 Configuration
所有大型的系统都有一套自己的配置系统或模块,用于方便系统扩展用,hadoop有自己独立的一套配置方式
采用XML文件,使用SAX解析
配置文件my-config.xml格式
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
...
strace
-c 统计每一系统调用的所执行的时间,次数和出错的次数等.
-d 输出strace关于标准错误的调试信息.
-f 跟踪由fork调用所产生的子进程.
-ff 如果提供-o filename,则所有进程的跟踪结果输出到相应的filename.pid中,pid是各进 ...
linux中的权限管理
- 博客分类:
- linux
chattr
chattr [-RV][-v<版本编号>][+/-/=<属性>][文件或目录...]
只有超级权限的用户才具有使用该命令的权限,这项指令可改变存放在ext2、ext3、ext4、xfs、ubifs、reiserfs、jfs等文件系统上的文件或目录属性。
这些属性共 ...
etc文件夹下的配置文件
- 博客分类:
- linux
/etc/fstab
/etc/mtab
参考
/etc/fstab详解
/etc/fstab详解-博客园
相关函数列表
//下面函数用来创建一对无命名的,相互连接的UNIX域套接字
#include <sys/socket.h>
int socketpair(int domain, int type, int protocol, int sockfd[2]);
//sockaddr_un结构体如下
struct sockaddr_un {
sa_family_t sun_family;
char sun_path[108];
};
//定义三个宏用于访问控制数据,计算cmsg_len所使用的值
#i ...
相关函数列表
//创建一个套接字
#include <sys/socket.h>
int socket(int domain, int type, int protocol);
//套接字是双向的,采用下面函数来禁止一个套接字的I/O
#include <sys/socket.h>
int shutdown(int sockfd, int how);
//大端和小端 ...