本篇博客是我的大数据学习指南
2018年12月开始
持续更新所学所想
持续更新中
安装和配置
Hadoop是大数据的核心武器,下面来介绍在Windows环境下Hadoop的安装和配置
1.下载Hadoop
http://www.apache.org/dyn/closer.cgi/hadoop/common
2.解压
hadoop-2.7.3.tar.gz 点右键“解压到hadoop-2.7.3”
文件夹路径 xxx/xxxx/hadoop-2.7.3
复制hadoop-2.7.3文件夹到 d盘 或者 e盘 的根目录 (在这里我安装到了E盘)
3.原版的Hadoop不支持Windows系统,我们需要修改一些配置方便在Windows上运行
所需文件hadooponwindows-master.zip 解压
复制解压开的bin文件和etc文件到hadoop-2.7.3文件中,并替换原有的bin和etc文件
4.配置Hadoop的环境变量
配置Java环境变量
新建变量名:JAVA_HOME
输入路径:D:\Softwares\jdk1.8 (这里是以我的jdk地址为例,请根据自己的jdk地址来设置)
在path中最前面加上:%JAVA_HOME%\bin;
配置Hadoop环境变量
新建变量名:HADOOP_HOME
输入路径:E:\hadoop-2.7.3
在path中最前面加上:%HADOOP_HOME%\bin;
5.确认hadoop配置的jdk的路径
在hadoop-2.7.3\etc\hadoop找到hadoop-env.cmd
右键用一个文本编辑器打开
找到 set JAVA_HOME=C:\PROGRA~1\Java\jdk1.7.0_67
将C:\PROGRA~1\Java\jdk1.7.0_67 改为 D:\Softwares\jdk1.8(在环境变量设置中JAVA_HOME的值)
(如果路径中有“Program Files”,则将Program Files改为 PROGRA~1
6.配置好上面所有操作后,win+R 输入cmd打开命令提示符,然后输入hadoop version,按回车,如果出现如图所示结果,则说明安装成功
7.hadoop核心配置文件
在hadoop-2.7.3\etc\hadoop中找到以下几个文件
打开 hadoop-2.7.3/etc/hadoop/core-site.xml, 复制下面内容粘贴到最后并保存
fs.defaultFS
hdfs://localhost:9000
打开 hadoop-2.7.3/etc/hadoop/mapred-site.xml, 复制下面内容粘贴到最后并保存
mapreduce.framework.name
yarn
打开 hadoop-2.7.3/etc/hadoop/hdfs-site.xml, 复制下面内容粘贴到最后并保存, 请注意需要建立data 文件夹和两个子文件夹,本例子是建立在 HADOOP_HOME的目录里(注意每个人的hadoop的路径不一样,这里要做修改)
dfs.replication
1
dfs.namenode.name.dir
/E:/hadoop-2.7.3/namenode
dfs.datanode.data.dir
/E:/hadoop-2.7.3/datanode
打开 hadoop-2.7.3/etc/hadoop/yarn-site.xml,复制下面内容粘贴到最后并保存
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
8.启动Hadoop服务
创建三个文件夹
E:/hadoop-2.7.3/tmp
E:/hadoop-2.7.3/namenode
E:/hadoop-2.7.3/datanode
格式化 HDFS
以管理员身份打开命令提示符
输入hdfs namenode -format执行到如下图所示
格式化之后,namenode文件里会自动生成一个current文件,则格式化成功。
然后转到Hadoop-2.7.3\sbin文件下
输入start-all.cmd,启动hadoop服务
输入JPS – 可以查看运行的所有服务 (前提是java路径设置正确)
按照以上操作,在Windows环境下的Hadoop就安全安装好了。
利用Hadoop运行一个程序,计算文章不同单词的个数
1.创建一个 t1.txt 文件夹,并将你要统计的文章粘贴进去。(这里是将txt文件创建在E盘中,跟Hadoop文件同处于一个盘)
2.在命令提示符下 Hadoop-2.7.3\sbin 中输入 start-all.cmd 开启Hadoop服务
3.准备输入、输出文件夹,在HDFS文件系统中创建。
Hadoop中所有的数据都必须放在HDFS文件系统中进行处理。
命令提示符中 Hadoop-2.7.3\sbin 下输入 hadoop fs -mkdir hdfs://localhost:9000/test/input(创建文件夹,localhost:9000为hdfs的系统目录,test和input是现在要创建的文件名)
输入 hadoop fs -ls hdfs://localhost:9000/test/ 查看文件是否创建成功
4.上传需要统计的 t1 文件到 hdfs://localhost:9000/test/input 上
hadoop fs -put E:\t1.txt hdfs://localhost:9000/test/input
5.下载https://pan.baidu.com/s/1cmBJ7S中的 wordcount.jar 到E盘中。
wordcount.jar是Java编写的一个MapReduce计算单词数量的程序
- 在jar包所在的路径,执行以下命令 hadoop jar wordcount.jar hdfs://localhost:9000/test/input hdfs://localhost:9000/test/output,运行命令之后,显示如下
7.hadoop fs -ls hdfs://localhost:9000/test/output查看结果文件
8.hadoop fs -cat hdfs://localhost:9000/test/output/patr-r-00000查看输出结果
9.hadoop fs -get hdfs://localhost:9000/test/output/patr-r-00000下载计算结果到本地
2008年美国每个月最低气温分析
1.点击https://pan.baidu.com/s/1c1MPnSs下载2008.txt文件(这里是将2008.txt文件放在E盘中,跟Hadoop文件同处于一个盘)
2.在命令提示符下 Hadoop-2.7.3\sbin 中输入 start-all.cmd 开启Hadoop服务
3.准备输入、输出文件夹,在HDFS文件系统中创建。
Hadoop中所有的数据都必须放在HDFS文件系统中进行处理。
命令提示符中 Hadoop-2.7.3\sbin 下输入 hadoop fs -mkdir hdfs://localhost:9000/test/2008input(创建文件夹,localhost:9000为hdfs的系统目录,test和2008input是现在要创建的文件名,具体命名根据自己的需要)
输入 hadoop fs -ls hdfs://localhost:9000/test/ 查看文件是否创建成功
4.上传需要统计的 t1 文件到 hdfs://localhost:9000/test/input1 上
hadoop fs -put E:\2008.txt hdfs://localhost:9000/test/2008input
5.下载https://pan.baidu.com/s/1o87RVXS中的mintemp.jar到E盘中。
mintemp.jar是Java编写的一个MapReduce计算最低气温的程序
- 在jar包所在的路径,执行以下命令 hadoop jar mintemp.jar hdfs://localhost:9000/test/2008input hdfs://localhost:9000/test/2008output,运行命令之后,显示如下
7.hadoop fs -ls hdfs://localhost:9000/test/2008output 查看结果文件
8.hadoop fs -cat hdfs://localhost:9000/test/2008output/patr-r-00000 查看输出结果
9.hadoop fs -get hdfs://localhost:9000/test/2008output/patr-r-00000 下载计算结果到本地