windows下搭建hadoop
- 下载
- 环境变量
- windows 脚本替换
- 配置
- windows权限
- 启动
- 单词统计实例
下载
首先去Apache Hadoop下载hadoop的安装包
选择二进制文件即可
选择国内镜像增加下载速度
下载后解压到文件夹
环境变量
设置环境变量HADOOP_HOME
然后把HADOOP_HOME
加入Path
中
打开cmd,输入hadoop version
验证
windows 脚本替换
到cdarlint/winutils: winutils.exe hadoop.dll and hdfs.dll binaries for hadoop windows (github)下载全部版本的脚本,并解压
需要注意的是,尽可能选择这里面有的hadoop版本。比如2.9.2版本。
将里面的文件全部拷贝到hadoop下的bin目录中,并选择替换
配置
首先在hadoop目录下创建一个临时文件夹,用于hadoop存储临时文件。
否则hadoop默认会在c盘创建临时文件夹,这时会因为权限的问题,导致无法创建,所以最好是在hadoop目录下创建临时文件夹,而且尽可能不要把hadoop放在C盘。
配置core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9820</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/E:/hadoop/hadoop-2.9.2/tmp</value>
</property>
</configuration>
接着在hadoop目录下创建data文件夹,用于hadoop存储持久化数据,在data目录下创建namenode和datanode文件夹
配置hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///E:/hadoop/hadoop-2.9.2/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///E:/hadoop/hadoop-2.9.2/data/datanode</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>http://localhost:9870</value>
</property>
</configuration>
配置mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
配置yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
<description>Yarn Node Manager Aux Service</description>
</property>
</configuration>
注意上述文件如果在hadoop/etc/hadoop下无法找到的,请找到相同文件名的.template
文件拷贝,并删除.tamplate
后缀
windows权限
此时直接启动,会出现创建符号的异常,这是因为在window系统中,只有管理员才能创建符号链接。
此时有两种解决方式,第一种使用管理员的cmd启动hadoop/sbar/start-all.cmd
;第二种是给自己登录的用户赋予创建符号链接的权限。
第一种,使用管理员的cmd
第二种,使用win+r打开运行,输入gpedit.msc
,在【计算机配置】-【Windows设置】-【安全设置】-【本地策略】-【用户权限分配】-【创建符号链接】中加入自己登录的用户或用户组,然后重启系统生效。
启动
第一次启动需要初始化名字节点,初始化名字节点之前请确保hadoop/data/namenode
文件夹为空,然后在cmd(管理员)中输入hadoop namenode -format
请注意空格。
这样就初始化成功了。
然后切换到hadoop所在的驱动器,并切换到hadoop目录下
接着进入sbin目录,并启动start-all.cmd
接着会启动4个cmd窗口
这样就启动成功了
接着在浏览器中访问http://localhost:9870
验证
单词统计实例
我们首先创建三个txt文件
然后给文件里面随便写点东西,接着在hadoop的hdfs中创建/input
目录(这里可以使用普通的cmd)
hadoop fs -mkdir /input
接着把三个txt文件上传到hdfs中
hadoop fs -put yourpath\1.txt /input
hadoop fs -put yourpath\2.txt /input
hadoop fs -put yourpath\2.txt /input
然后查看
hadoop fs -ls /input
你也可以在浏览器中查看
接着调用单词统计的例子
执行命令hadoop jar yourPath\share\hadoop\mapreduce\hadoop-mapreduce-examples-2.9.2.jar wordcount /input /output
就会开始执行
等待一会执行完毕即可
执行的结果会保存在hdfs的/output
目录下
hadoop fs -ls /output
查看结果
hadoop fs -cat /output/part-r-ooooo
windows下搭建hadoop
- 下载
- 环境变量
- windows 脚本替换
- 配置
- windows权限
- 启动
- 单词统计实例
下载
首先去Apache Hadoop下载hadoop的安装包
选择二进制文件即可
选择国内镜像增加下载速度
下载后解压到文件夹
环境变量
设置环境变量HADOOP_HOME
然后把HADOOP_HOME
加入Path
中
打开cmd,输入hadoop version
验证
windows 脚本替换
到cdarlint/winutils: winutils.exe hadoop.dll and hdfs.dll binaries for hadoop windows (github)下载全部版本的脚本,并解压
需要注意的是,尽可能选择这里面有的hadoop版本。比如2.9.2版本。
将里面的文件全部拷贝到hadoop下的bin目录中,并选择替换
配置
首先在hadoop目录下创建一个临时文件夹,用于hadoop存储临时文件。
否则hadoop默认会在c盘创建临时文件夹,这时会因为权限的问题,导致无法创建,所以最好是在hadoop目录下创建临时文件夹,而且尽可能不要把hadoop放在C盘。
配置core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9820</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/E:/hadoop/hadoop-2.9.2/tmp</value>
</property>
</configuration>
接着在hadoop目录下创建data文件夹,用于hadoop存储持久化数据,在data目录下创建namenode和datanode文件夹
配置hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///E:/hadoop/hadoop-2.9.2/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///E:/hadoop/hadoop-2.9.2/data/datanode</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>http://localhost:9870</value>
</property>
</configuration>
配置mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
配置yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
<description>Yarn Node Manager Aux Service</description>
</property>
</configuration>
注意上述文件如果在hadoop/etc/hadoop下无法找到的,请找到相同文件名的.template
文件拷贝,并删除.tamplate
后缀
windows权限
此时直接启动,会出现创建符号的异常,这是因为在window系统中,只有管理员才能创建符号链接。
此时有两种解决方式,第一种使用管理员的cmd启动hadoop/sbar/start-all.cmd
;第二种是给自己登录的用户赋予创建符号链接的权限。
第一种,使用管理员的cmd
第二种,使用win+r打开运行,输入gpedit.msc
,在【计算机配置】-【Windows设置】-【安全设置】-【本地策略】-【用户权限分配】-【创建符号链接】中加入自己登录的用户或用户组,然后重启系统生效。
启动
第一次启动需要初始化名字节点,初始化名字节点之前请确保hadoop/data/namenode
文件夹为空,然后在cmd(管理员)中输入hadoop namenode -format
请注意空格。
这样就初始化成功了。
然后切换到hadoop所在的驱动器,并切换到hadoop目录下
接着进入sbin目录,并启动start-all.cmd
接着会启动4个cmd窗口
这样就启动成功了
接着在浏览器中访问http://localhost:9870
验证
单词统计实例
我们首先创建三个txt文件
然后给文件里面随便写点东西,接着在hadoop的hdfs中创建/input
目录(这里可以使用普通的cmd)
hadoop fs -mkdir /input
接着把三个txt文件上传到hdfs中
hadoop fs -put yourpath\1.txt /input
hadoop fs -put yourpath\2.txt /input
hadoop fs -put yourpath\2.txt /input
然后查看
hadoop fs -ls /input
你也可以在浏览器中查看
接着调用单词统计的例子
执行命令hadoop jar yourPath\share\hadoop\mapreduce\hadoop-mapreduce-examples-2.9.2.jar wordcount /input /output
就会开始执行
等待一会执行完毕即可
执行的结果会保存在hdfs的/output
目录下
hadoop fs -ls /output
查看结果
hadoop fs -cat /output/part-r-ooooo