[Hadoop]基本概念及安装

1.环境

系统:Ubuntu 13.04

Hadoop版本:2.6.0

2.Hadoop基本结构

Hadoop本身是一个分布式处理框架。

它由以下几个部分组成:

Hadoop Common是Hadoop的核心及基础;

HDFS 分布式文件系统,是Google的GFS的开源实现;

MapReduce 也是对Google的MapReduce理念的实现;

配套的相关项目:

1.HBase分布式数据库,Bigtable的开源实现
2.Hive提供HQL查询的数据仓库
3.Pig在MapReduce上面的高级数据流语言
4.Zookeeper解决分布式系统得一致性问题


Hadoop的构架包括以下几个部分:

NameNode,是HDFS的守护程序;DataNode,负责将本地文件系统到数据读取到HDFS;Secondary NameNode,主要用于监控HDFS的状态,它不记录实时状态,但是定期与NameNode进行通讯,保存HDFS元数据的快照;JobTacker负责将任务分配到节点上;TaskTracker位于子节点,处理独自的Task。

Hadoop是主从结构的,一个Master,多个Slaver;NameNode和JobTracker位于Master上,而DataNode和TaskTracker则位于Slaver上;Secondary NameNode可以放在Master上,也可以放在其他机器上,但一般放在其他机器上。

3.Hadoop的配置

a.首先机器上安装JDK,并在~/.bashrc上配置好相应环境变量

b.将Hadoop解压到/usr/local/hadoop

c.Hadoop的配置文件均位于etc文件夹下,因为只有一台机器,所以我们进行到的是伪分布式配置

首先是/usr/local/hadoop/etc/hadoop/core-site.xml,它主要是配置HDFS的url,配置如下:


再是/usr/local/hadoop/etc/hadoop/hdfs-site.xml的配置,主要是配置HDFS有几个副本,这里配为1个:

再是/usr/local/hadoop/etc/hadoop/mapred-site.xml的配置,配置JobTracker:

由于Hadoop的NameNode是通过SSH来进行其他节点的守护进程的启动和停止的,我们就需要配置SSH无密码公钥认证。如果NameNode和DataNode不在一台机器上,是应该NameNode的机器上产生公钥和私钥,然后将公钥复制到DataNode的节点上。进行认证时,DataNode产生随机数,用公钥加密,然后传给NameNode;NameNode用私钥解密,再将结果传给DataNode;如果与DataNode产生到随机数一致,那么就认证成功。

由于是伪分布式配置,所以我们配置为本机SSH无密码公钥认证即可。需要机器上装了SSH,可以sudo apt-get install ssh进行安装。

然后执行以下命令:

ssh-keygen -t rsa

这样就生成了rsa加密的公钥和私钥。

然后执行:

cp id_rsa.pub authorized_keys

即可。

然后,cd 到/usr/local/hadoop/sbin

执行:

./start-all.sh

即启动了Hadoop的相关进程。可以用jsp命令来查看启动的进程:


4.运行wordcount示例进行测试

在Hadoop 2.6的tar包下我没有找到hadoop example jar,所以在官网上下载了1.2.1的tar包,将它的hadoop-examples-1.2.1.jar cp到Hadoop的根目录下。

然后开始测试:

a.mkdir input新建一个文件夹,在文件夹里新建两个文件,每个文件一句话:

test1:

Hello world

test2:

Hello hadoop

然后将文件从本地文件系统拷入HDFS:

pijing@ubuntu:/usr/local/hadoop$ bin/hadoop dfs -put /home/pijing/input /in

运行hadoop-examples-1.2.1.jar进行wordcount计算:

pijing@ubuntu:/usr/local/hadoop$ bin/hadoop jar hadoop-examples-1.2.1.jar wordcount /in /out

如果想要查看结果:

bin/hadoop dfs -get /out /home/pijing/output

可以把结果导出到本地文件系统,然后进行查看。

结果为:

hadoop    1
hello    2
world    1


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值