Hadoop入门

Hadoop是一个用Java编写的Apache开源框架,允许使用简单的编程模型跨计算机集群分布式处理大型数据集。Hadoop框架工作的应用程序在跨计算机集群提供分布式存储和计算的环境中工作。Hadoop旨在从单个服务器扩展到数千个机器,每个都提供本地计算和存储。

Hadoop伪分布式搭建

首先创建一台master虚拟机,并克隆node1、node2两台节点机,我的虚拟机集群ip地址分别设置为:

· 192.168.218.141 master

· 192.168.218.142 node1

· 192.168.218.143 node2

到master中设置好ssh,做好主机名与ip地址的映射,修改/etc/hosts下的配置文件,并将完成的hosts文件复制进节点机中

此时可以打开xshell,也可以继续在虚拟机中进行操作

将hadoop的jar包上传到虚拟机中,配置环境变量,并对hadoop下的core-site.xmlhdfs-site.xmlyarn-site.xmlmapred-site.xml文件进行相关配置

完成以后再将hadoop的安装目录分别拷贝到子节点中,检查是否完成集群文件的配置和部署

启动

回到主机中打开hadoop安装目录,执行

1
2
start-dfs.sh
start-yarn.sh

(老版本的”start-all.sh”会提示已过期)

完成hadoop的启动后,在主机和节点机输入jps查看当前运行的java进程




成功后打开浏览器,输入localhost:50700可以进入hadoop初始界面。



因为我之前已经完成了平台的搭建,dfs中已经存放有一些测试文件,可以进行查看(豆瓣电影数据)


Mapreduce

MapReduce是Hadoop中一套分布式的计算框架,分为Map和Reduce两个部分,Map用于数据的整理,Reduce负责数据的汇总,当hadoop平台搭建完成后,就可以使用内置的mapreduce程序”wordcount”进行测试,其作用是对输入文件的词频进行统计

进入hadoop目录新建一个测试文件夹testfiles,并创建几个txt文本文件

1
2
3
4
5
cd $HADOOP_HOME
mkdir testfiles
echo Hello World >> testfiles/test1.txt
echo Hello Hadoop >> testfiles/test2.txt
echo Hello spark >> testfiles/test3.txt


执行后再到dfs中创建一个inputtestfiles文件夹,并将用于测试的文本文件发送进去

1
2
hadoop fs -mkdir /inputfiletests
hadoop fs -put testfiles/* /inputfiletests

找到mapreduce所在的位置,执行

1
2
cd $HADOOP_HOME/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-2.6.0.jar wordcount /inputfiletests /outputfiletests



执行完成后查看输出路径/outputfiletests,包含了运行成功文件和最终输出文件,打开输出的文件进行查看

1
2
hadoop fs -ls /output
hadoop fs -cat /outputfiletests/part-r-00000


同时在hadoop后台里也会有wordcount的运行结果


最后,关闭hadoop集群

1
2
stop-dfs.sh
stop-yarn.sh

Powered by Hexo and Hexo-theme-hiker

Copyright © 2017 - 2024 青域 All Rights Reserved.

UV : | PV :