之前配置Hadoop的很多步骤不太详细,配置文件的许多优化点也没太搞清楚,重新写一下。
1、ssh免密码登录
ssh-keygen -t rsa -P ""
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
echo "StrictHostKeyChecking no" >> ~/.ssh/config
2、安装JDK7
#下载 && 解压[......]
之前配置Hadoop的很多步骤不太详细,配置文件的许多优化点也没太搞清楚,重新写一下。
1、ssh免密码登录
ssh-keygen -t rsa -P ""
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
echo "StrictHostKeyChecking no" >> ~/.ssh/config
2、安装JDK7
#下载 && 解压[......]
本来是要用Hadoop给柯西搜索写一下锚文本聚集。但是发现上个版本的爬虫居然没有存锚文本,实在无聊,写了个统计域名(实际是host)的计数器。
输入:一行一个url
流程:提取url的domain,对domain计数+1
输出:域名,域名计数
这次完全用新的API写的。
代码如下:
Mapper
package com.keseek.hadoop;
import java.io.IOException;
import java.net.URI;
imp[......]
1、Hadoop集群的机器最好是多核、多通道硬盘,但不要使用RAID。选用中档机器。例如8核、16GB内存、4×1TB硬盘。
2、集群可随着规模而不断扩充,当小集群时(10的数量级),namenode和jobtracker可以放在同一台机器上(同时保证有一份NFS远端的namenode备份)即可。再大就最好分别放在两台机器上。
3、Windows这么不靠谱的东西就不要用于生产环境了,生产环境最好用Linux,或者Unix。
4、Hadoop的网络拓扑结构分为:机架内Rack(在[......]
GenericOptionsParser可以让你的Map/Reduce程序具有Hadoop常用的属性。
一般无需直接用GenericOptionsParser,继承Configured即可。
public class ConfigurationPrinter extends Configured implements Tool {
//添加你需要的配置文件
static {
Configuration.addDefaultResource(“hdfs-default.xml[......]
1、计数器,用于Debug或者统计,毕竟分布式系统中,想要调个Bug是非常困难的,因为机器太多。。
2、Hadoop中有10多个内置的计数器,是默认就有的,例如HDFS读/写数据量,等等……
3、用户可以自定义Counter,步骤如下:
(1)Enum
(2)reporter.incrCounter()
(3)从Web管理界面或者getCounter中获得。
class MaxTemperatureWithCounters extends Configured impleme[......]
最近评论