一、实验目的
1. 了解熟悉linux命令。
2. 学习hadoop的安装和配置。
3. 学习编写基础的MR代码。
二、实验内容
1. 建立hadoop 完全分布式模式。
2. 上传数据并且对数据进行查询。
3. 通过安装Hadoop了解Hadoop的原理
三、实验原理
MapReduce是Hadoop的核心技术之一,“Map(展开)”就是将一个任务分解成为多个子任务并行的执行,“Reduce”就是将分解后多任务处理的结果汇总起来,得出最后的分析结果并输出。
适合用 MapReduce来处理的数据集(或任务)有一个基本要求:待处理的数据集可以分解成许多小的数据集,而且每一个小数据集都可以完全并行地进行处理。
四、实验设备
1.VM Centos5.5 3台
2.PC机一台。
五、实验步骤
(1).准备工作
配置CentOS IP及三台免登陆和安装JDKhadoop2.6
master :192.168.78.130 node1
slave1 :192.168.78.131 node2
slave2 :192.168.78.132 node3
(2).配置hadoop
1.配置core-site.xml
<name>fs.default.name</name>
<value>hdfs://192.168.78.130:9000</value>
2. 配置:mapred-site.xml
<name>mapred.job.tracker</name>
<value>192.168.78.130:9001</value>
3. 配置:hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/usr/dingsai/hadoop-2.6.0/data_name1,
/usr/dingsai/hadoop-2.6.0/data_name2</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/dingsai/hadoop-2.6.0/data_1,/usr/dingsai/hadoop-2.6.0/data_2</value>
</property>
</configuration>
4.配置master 修改 /usr/dingsai/hadoop-2.6.0/etc/hadoop/masters
192.168.78.130
5.配置slave修改 /usr/dingsai/hadoop-2.6.0/etc/hadoop/slaves
192.168.78.131
192.168.78.132
(3).分发格式化
分发到两个slave
scp -r * root@node2:/usr/dingsai/hadoop-2.6.0
scp -r * root@node3:/usr/dingsai/hadoop-2.6.0
(4).启动hadoop
/usr/dingsai/hadoop-2.6.0/sbin/start-all.sh
检查是否正常运行:jps
(5).编写Map-Reduce程序打成jar包
核心代码:计算"美食"出现的次数
main函数:
(6).上传数据文件到hadoop 指定文件夹
创建文件夹
hadoop fs -mkdir /input
上传文件到hadoop
hadoop fs -put ./part-00000 /input
(7).运行数据
hadoop jar/root/Desktop/Untitled.jar org.myorg.WordCount /input /output
运行结束:
六、实验结果
查看导出文件名
hadoop fs -ls/output/
查看导出文件内容
hadoop fs -cat/output/part-r-00000
hadoop fs-cat /part-00000 |grep '美食'|wc -l
七、结果分析
微博用户发布微博带有“美食” 字样的记录数有11199条
八、收获、体会及建议
通过本次实验了解了熟悉了linux系统和hadoop的安装,简单mapreduce程序的编写。熟悉了基本的mapreduce的使用。
图片不好贴,下载地址:
http://download.csdn.net/detail/dingsai88/9386340