windows系统下安装伪分布式Hadoop3.x

Posted pit_man

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows系统下安装伪分布式Hadoop3.x相关的知识,希望对你有一定的参考价值。

1.下载

1.1下载Hadoop3.1.3

官网地址:https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/
选择hadoop-3.1.3.tar.gz

1.2下载工具集winutils

由于Hadoop不直接支持Windows系统,因此需要使用工具集winutils进行支持。
下载网址:https://github.com/s911415/apache-hadoop-3.1.3-winutils
进入下载页面后,如下图所示,点击“Code”按钮,然后在弹出的菜单中点击“Download ZIP”即可下载得到压缩文件apache-hadoop-3.1.3-winutils-master.zip,再将该压缩文件进行解压缩。

2.安装

把Hadoop3.1.3安装文件hadoop-3.1.3.tar.gz解压缩到“C:\\”(或者其他目录),使用winutils中的bin目录整个替换Hadoop中的bin目录。
在“C:\\ hadoop-3.1.3”目录下新建tmp目录,再在tmp目录下新建两个子目录,分别是datanode和namenode。

2.1 设置环境变量

设置Path环境变量,点击“我的电脑”->“高级系统设置”->“环境变量”,然后,在系统变量中新增一个名称为“HADOOP_HOME”的变量,设置其值为“C:\\hadoop-3.1.3”(如图所示)。

然后,再在用户变量Path中加入如下信息:
%HADOOP_HOME%\\bin

2.2 修改配置文件

对“C:\\ hadoop-3.1.3\\etc\\hadoop”下面的3个配置文件进行修改。
core-site.xml、hdfs-site.xml、hadoop-env.cmd
把core-site.xml文件的配置修改为如下:

<configuration>
     <property>
        <name>fs.default.name</name>
        <value>hdfs://localhost:9000</value>
    </property>
 </configuration>

hdfs-site.xml文件的配置修改为如下:

<configuration>
     <property>
         <name>dfs.replication</name>
         <value>1</value>
     </property>
     <property> 
      <name>dfs.permissions</name> 
      <value>true</value> 
     </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/C:/hadoop-3.1.3/tmp/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/C:/hadoop-3.1.3/tmp/datanode</value>
    </property>
</configuration>

其中replication设置副本数,permissions设置访问权限;

修改hadoop-env.cmd文件,找到如下一行:
set JAVA_HOME=%JAVA_HOME%

把%JAVA_HOME%替换成JDK的绝对路径,比如:
set JAVA_HOME=C:\\Java\\jdk1.8.0_111

需要注意的是,如果JDK路径中包含了空格,如果直接使用如下设置后面步骤会报错:
set JAVA_HOME= C:\\Program Files\\Java\\jdk1.8.0_111

如果采用这种带有空格的路径,后面运行“hdfs namenode -format”命令时就会报错,因为Program Files中存在空格。为了解决这个问题,可以使用下面两种方式之一进行处理:
(1)只需要用PROGRA~1 代替Program Files,即改为C:\\PROGRA~1\\Java\\jdk1.8.0_111
(2)或是使用双引号,即改为 “C:\\Program Files”\\Java\\jdk1.8.0_111

2.3 运行

在Windows系统中打开一个cmd窗口,执行如下命令对Hadoop系统进行格式化:

cd c:\\hadoop-3.1.3\\bin
hdfs namenode -format

上述命令执行以后,如果返回类似如下的信息则表示格式化成功:
\\hadoop-3.1.3\\tmp\\namenode has been successfully formatted.

执行如下命令启动:

cd c:\\hadoop-3.1.3\\sbin
start-dfs.cmd

执行该命令以后,会同时弹出另外2个cmd窗口,这2个新弹出的cmd窗口不要关闭,然后,在刚才执行start-dfs.cmd命令的cmd窗口内,继续执行JDK自带的命令jps查看Hadoop已经启动的进程:

jps

看到如下进程说明安装成功:

需要注意的是,这里在使用jps命令的时候,没有带上绝对路径,是因为已经把JDK添加到了Path环境变量中。
执行jps命令以后,如果能够看到“DataNode”和“NameNode”这两个进程,就说明Hadoop启动成功。
需要关闭Hadoop时,可以执行如下命令:

cd c:\\hadoop-3.1.3\\sbin
stop-dfs.cmd

3. hdfs的使用

3.1 使用WEB管理页面操作HDFS

首先启动Hadoop,然后可以在浏览器中输入“http://localhost:9870”,就可以访问Hadoop的WEB管理页面(如图所示)。

在WEB管理页面中,点击顶部右侧的菜单选项Utilities,在弹出的子菜单中点击Browse the file system,会出现如图所示的HDFS文件系统操作页面,在这个页面中可以创建、查看、删除目录和文件。

3.1 使用命令操作HDFS

除了在浏览器中通过WEB方式操作HDFS以外,还可以在cmd窗口中使用命令对HDFS进行操作。
首先,创建一个名称为“user”的目录,命令如下:

cd c:\\hadoop-3.1.3\\bin
hadoop fs -mkdir hdfs://localhost:9000/user/
hadoop fs -mkdir hdfs://localhost:9000/user/xiaoming

然后,在“C:\\”下创建一个文件test.txt,里面输入一行语句“I love hadoop”,使用如下命令把该文件上传到HDFS中:

hadoop fs -put C:\\test.txt hdfs://localhost:9000/user/xiaoming

使用如下命令查看HDFS中的目录和文件:

hadoop fs -ls hdfs://localhost:9000/user/xiaoming

使用如下命令把HDFS中的文件内容显示到本地屏幕上:

hadoop fs -cat hdfs://localhost:9000/user/xiaoming/test.txt

把上面的HDFS中的文件test.txt下载到本地文件系统,并重命名为test1.txt:

hadoop fs -get hdfs://localhost:9000/user/xiaoming/test.txt C:\\test1.txt

使用如下命令删除HDFS中的一个文件: > hadoop fs -rm >hdfs://localhost:9000/user/xiaoming/test.txt

使用如下命令删除HDFS中的一个目录及其下面的文件:

hadoop fs -rm -r hdfs://localhost:9000/user/xiaoming

以上是关于windows系统下安装伪分布式Hadoop3.x的主要内容,如果未能解决你的问题,请参考以下文章

我用免费白拿的服务器搭建了一台基于CentOS7的Hadoop3.x伪分布式环境

我用免费白拿的服务器搭建了一台基于CentOS7的Hadoop3.x伪分布式环境

我用免费白拿的服务器搭建了一台基于CentOS7的Hadoop3.x伪分布式环境

Window 10 WSL 下hadoop 伪分布式安装

完全分布式Hadoop3.X的搭建

大数据技术——Hadoop3.X入门搭建+安装调优(1.入门)