Hadoop 集群配置

本文详细介绍了在Ubuntu环境下搭建Hadoop集群的过程,包括先决条件、准备工作、主机配置、SSH密钥复制、目录复制、启动节点、验证集群状态等步骤,并通过实例演示了如何测试集群功能,如浏览NameNode和JobTracker、使用netstat查看端口、使用jps查看进程、将文件拷贝到分布式文件系统、运行示例程序grep、检查输出文件等。

先决条件


1.先决条件,先安装好hadoop、sun-jdk、ssh etc

2.jdk1.5+,必须安装。

3.ssh本息安装并且保证sshd一直运行。



准备工作


操作系统:ubuntu


我有两台机器:分别是  172.21.77.119 ,和172.21.78.63 两台物理ubuntu服务器。


准备机器:一台master、若干台slave。我这里是一台 172.21.78.63


172.21.77.119 node1  #master
172.21.78.63 node2 #(slave1)


主机信息:

机器名

IP地址

作用

Node1

172.21.77.119

NameNode、JobTracker

Node2

172.21.78.63

DataNode、TaskTracker



在所有的机器上都建立相同的目录,也可以新建相同的用户。


我新建hadoop的目录放在/usr/local/hadoop


这个目录。







配置



在上面章节ssh-keygen -t -p ""

复制node1的authorized_keys 到node2.


scp authorized_keys node2:/home/hadoop/.ssh/

hadoop@feixiang:~/.ssh$ scp authorized_keys node2:/home/hadoop/.ssh/
authorized_keys                                                  100%  397     0.4KB/s   00:00


改动你的 authorized_keys 文件的许可权限:
[hadoop@hadoop .ssh]$chmod 644 authorized_keys

检查下能不能配置成功,从hadoop机器上ssh到node2和node3,如果不须要输入密码则配置成功,如果还须要请检查上面的配置能不能正确。



scp拷贝hadoop目录到所有的node机器上。


然后在master机器上,启动所有节点。


 bin/start-all.sh



hadoop@feixiang:/usr/local/hadoop$ bin/start-all.sh 
starting namenode, logging to /usr/local/hadoop/bin/../logs/hadoop-hadoop-namenode-feixiang.out
node2: starting datanode, logging to /usr/local/hadoop/bin/../logs/hadoop-hadoop-datanode-feixiang2.out
node1: starting secondarynamenode, logging to /usr/local/hadoop/bin/../logs/hadoop-hadoop-secondarynamenode-feixiang.out
starting jobtracker, logging to /usr/local/hadoop/bin/../logs/hadoop-hadoop-jobtracker-feixiang.out
node2: starting tasktracker, logging to /usr/local/hadoop/bin/../logs/hadoop-hadoop-tasktracker-feixiang2.out


启动成功。


测试

1)浏览NameNode和JobTracker的网络接口,它们的地址默认为:


NameNode - http://172.21.77.119:50070/dfshealth.jsp   node1
JobTracker -   http://172.21.78.63:50030/    node2


3)   使用netstat  –nat查看端口49000和49001是否正在使用。


4)  使用jps查看进程


要想检查守护进程是否正在运行,可以使用 jps 命令(这是用于 JVM 进程的ps 实用程序)。这个命令列出 5 个守护进程及其进程标识符。


5)将输入文件拷贝到分布式文件系统:
$ bin/hadoop fs -mkdir input
$ bin/hadoop fs -put conf/core-site.xml input


运行发行版提供的示例程序:
$ bin/hadoop jar hadoop-0.20.2-examples.jar grep input output 'dfs[a-z.]+'


6.补充
Q: bin/hadoop jar hadoop-0.20.2-examples.jar grep input output 'dfs[a-z.]+' 什么意思啊?
A: bin/hadoop jar(使用hadoop运行jar包) hadoop-0.20.2_examples.jar(jar包的名字) grep (要使用的类,后边的是参数)input output 'dfs[a-z.]+'
整个就是运行hadoop示例程序中的grep,对应的hdfs上的输入目录为input、输出目录为output。 
Q: 什么是grep?
A: A map/reduce program that counts the matches of a regex in the input.


查看输出文件:


将输出文件从分布式文件系统拷贝到本地文件系统查看:
$ bin/hadoop fs -get output output 
$ cat output/*


或者


在分布式文件系统上查看输出文件:
$ bin/hadoop fs -cat output/*


统计结果:
root@v-jiwan-ubuntu-0:~/hadoop/hadoop-0.20.2-bak/hadoop-0.20.2#bin/hadoop fs -cat output/part-00000
3       dfs.class
2       dfs.period
1       dfs.file
1      dfs.replication
1       dfs.servers
1       dfsadmin



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值