Sean's Blog

  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

简单集群时间同步

发表于 2018-11-22 | 更新于 2019-02-27 | 分类于 Linux | 评论数: | 阅读次数:

最近集群的Hbase的其中几个节点总是连接不上,最后发现是集群之间的系统时间不同步导致的(hbase的时间戳决定节点之间的时间必须同步)。决定使用的ntp来解决集群之间的系统时间同步问题。

安装ntp

1
yum install -y ntp

ntp服务器配置

集群之间的时间同步同样采用sever/client的方式,将其中一个节点做为ntp的服务器,其余作为客户端通过ntp服务来向ntp服务器同步时间。需要选定一台作为ntp server,修该ntp的配置文件。

阅读全文 »

MapReduce 多路径输出

发表于 2018-11-20 | 分类于 Hadoop | 评论数: | 阅读次数:

mapreduce中实现多路径输出主要使用MulitipleOutputs类

通过两个例子可以掌握

输入样例 mulitipleInput.txt

1
2
3
4
5
6
7
file1 001
file2 002
file3 003
file2 004
file1 005
file1 006
file3 007
阅读全文 »

Hadoop 小文件的处理

发表于 2018-11-20 | 更新于 2019-05-26 | 分类于 Hadoop | 评论数: | 阅读次数:

hadoop的HDFS和MapReduce本身都是用户处理大量数据的大文件,对于小文件来说,由于namenode会在记录每个block对象,如果存在大量的小文件,会占用namenode的大量内存空间,而且HDFS存储文件是按block来存储,即使一个文件的大小不足一个block的大小,文件还是会占用一个block的存储空间,所以大量的小文件会对HDFS的存储和访问都带来不利的影响。
hadoop对于小文件的处理主要有Hadoop Archive,Sequence file和CombineFileInputFormat三种方式。

阅读全文 »

mapreduce 排序

发表于 2018-11-20 | 更新于 2019-08-13 | 分类于 Hadoop | 评论数: | 阅读次数:

mapreduce的排序主要分部分排序、全排序和辅助排序(二次排序) 可以直接在reduce中在对数据进行排序,但是这对于reduce的负担太重,数据处理的时间消耗也会大大增加

mapreduce机制中排序只会针对键进行排序,所以如果想对某个数据进行排序,一定要将其设置为map输出的键,排序主要发生在map的spill和合并spill file阶段和reduce拉取复制map端的数据后合并成reduce文件时。

阅读全文 »

HDFS扩容

发表于 2018-11-20 | 更新于 2019-08-07 | 分类于 Hadoop | 评论数: | 阅读次数:

hdfs的存储容量不足,需要放入新磁盘扩容
扩容有两种方式,一种是linux层面的,一种是hdfs层面的
hdfs的datanode存储的目录可以查看hdfs-site.xml的dfs.datanode.data.dir的值

阅读全文 »

非整数0-1背包问题

发表于 2018-11-20 | 更新于 2018-11-28 | 分类于 算法 | 评论数: | 阅读次数:

0-1背包问题通常情况下物品的重量是整数的,采用动态规划可以解决,在解决物品重量非整数情况下的背包问题之前,我们先来回顾整数背包问题,并从中寻找解决非整数背包问题的方法。

问题定义:有n种物品和一个容量为$c$的背包,第$i$件物品的重量为$wi$,价格为$vi$,求出哪种物品组合放入背包使物品价值总和最大。

整数0-1背包问题

设$p(i,j)$表示在容量为j情况下,将物品$i,i+1…n$组合的放入背包的最优解的值

则其转移方程为

如果 $j>=w_i$ ,$p(i,j) = max(p(i+1,j), p(i+1,j-w_i )+v_i )$

如果 $j<w_i$ , $p(i,j) = p(i+1,j)$

阅读全文 »

Hadoop的RPC分析

发表于 2018-11-20 | 更新于 2019-02-25 | 分类于 Hadoop | 评论数: | 阅读次数:

RPC

RPC就是远程过程调用,具体什么是RPC,看一个例子就会明白。
比如客户端有一个RPC协议类Protocol。

1
2
3
interfce Protocol{
int add(int a, int b);
}

但是客户端没有其实现的具体类,该类在服务端

1
2
3
4
5
Class ProtocolImpl implenets Protocol{
int add(int a, int b){
return a + b;
}
}

则客户端需要调用ProtocolImpl的add方法,需要将调用的方法及其参数等信息发送给服务端,服务端解析信息,调用ProtocolImpl的add方法,将结果在传输给客户端,而RPC的目的就是使客户端仿佛在调用自身的方法来得到该方法的结果。
在这其中,Protocol就是一个RPC的协议,这个协议其实就是一个接口类,接口中的方法就是对外提供的远程调用方法。

阅读全文 »

字符串编辑距离

发表于 2018-11-20 | 分类于 算法 | 评论数: | 阅读次数:

编辑距离(Edit Distance),这里指的是Levenshtein距离,也就是字符串S1通过插入、修改、删除三种操作最少能变换成字符串S2的次数。接下来介绍利用动态规划来求解字符串的编辑距离。

定义:$s_1$和$s_2$表示两字符串,$dist(i, j)$表示字符串$s_1$的前$i$个字符串和$s_2$的前$j$个字符串的编辑距离,$s_1(i)$和$s_2(j)$分别表示$s1$的第$i$个字符和$s2$的第$j$字符。

阅读全文 »
123

sean

24 日志
6 分类
20 标签
RSS
© 2021 sean
由 Hexo 强力驱动 v3.8.0
|
主题 – NexT.Gemini v6.5.0
0%