Big Data

Windows 下Hadoop环境搭建

2020-05-15  本文已影响0人  云龙_LL

环境,WINDOWS 10专业版(企业版也一样)

以下是主要的步骤:

1. 安装Hyper-V

2. 在Hyper-V下安装UBUNTU

3. 在UBUNTU下安装配置Hadoop

本文主要讲第3点,第一点在程序与功能中启用或关闭WINDOWS 功能界面,点上HYPER的两个功能,安装重启即可,可以参考官方教程,比较简单: https://docs.microsoft.com/zh-cn/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v

需要注意的是,要在BIOS中打开CPU的Virtualization功能

安装UBUNTU也很简单,安装好HYPER后,在HYPER-V管理器中,创建虚拟机,选择UBUNTU,系统 会自动下载,安装,跟提示操作即可,如有不明白的,可以留言给我。


下面讲HADOOP的教程,网上很多的教程,但可能会有些不完整的地方,我的教程也是基于各位前辈的整理,如《给力星》前辈的(http://dblab.xmu.edu.cn/blog/install-hadoop/),如有不妥,请随时联系我。

3.1 创建hadoop用户

     打开终端,输入以下指令,创建可以登陆的 hadoop 用户,并使用 /bin/bash 作为 shell:

    sudo useradd -m hadoop -s /bin/bash

    创建了用户之后,修改这个用户的密码:

    sudo passwd hadoop

    在弹出的界面中,输入两次相同的密码,请留意这个界面的密码是不能删除,退格的,如果输入错误,就重来。

    执行以下命令,将HADOOP加入到管理员组:

    sudo adduser hadoop sudo

    基本知识

    sudo命令

    sudo是ubuntu中一种权限管理机制,管理员可以授权给一些普通用户去执行一些需要root权限执行的操作。当使用sudo命令时,就需要输入您当前用户的密码。

3.2 基本配置

    注销当前用户,使用hadoop登陆        

    打开终端

    执行以下命令,更新APT:

    sudo apt-get update

    安装VIM,用于修改各个配置文档:

    sudo apt-get install vim

提示要占用空间的,输入Y什么的回车。

    VIM的基本操作

    编辑模式,按i进行编辑模式,按esc键退出

    保存并退出:按esc后,输入冒号:wq

    退出: 按esc后,输入:q

3.3 安装配置SSH

     集群、单节点模式都需要用到 SSH 登陆(类似于远程登陆,你可以登录某台 Linux 主机,并且在上面运行命令),Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server, 输入以下指令安装:

    sudo apt-get install openssh-server

安装后,登陆测试:

    ssh localhost

    输入yes连接。

    但这样登陆是需要每次输入密码的,我们需要配置成SSH无密码登陆比较方便。

    在终端中输入exit退出ssh,并在终端执行以下命令,利用 ssh-keygen 生成密钥,并将密钥加入到授权中。

    cd ~/.ssh/

    ssh-keygen -t rsa

    cat ./id_rsa.pub >> ./authorized_keys

    再次登陆SSH,应该是不需要密码的了

    ssh localhost

    我没有换源,有些提示不用理会,能LOGIN就没有问题

3.4 安装Java环境

         在终端中录入以下指令:

        sudo apt-get install default-jre default-jdk

        这里安装需要点时间,取决于源以及网速,WINDOWS自带的这个,速度还可以。

        安装完成后,配置JAVA的PATH

        vim ~/.bashrc

        输入i进入编辑模式,在文件首行输入():

        export JAVA_HOME=/usr/lib/jvm/default-java

        输入完成后,按esc键,输入:wq保存退出

        执行以下代码,让环境变量立即生效

        source ~/.bashrc

       检测JAVA环境是否正常

        echo $JAVA_HOME

        

    检查路径是否正确,不正确就修正。可以运行JAVE命令,看版本号:

    java -version

    输入以下命令,检查 PATH是否正确,正确的与上一个命令是一样的效果:

    $JAVA_HOME/bin/java -version

    

3.5 安装Hadoop

        下载hadoop, 直接在https://mirrors.cnnic.cn/apache/hadoop/common/ 中下载一个稳定版,下载完成后,执行以及指令,安装到安装至 /usr/local/ 中,并授权给hadoop这个用户。请留意我下载的是3.2.1,如果你的是其他版本,把3.2.1改为你的版本号:

        sudo tar -zxf ~/下载/hadoop-3.2.1.tar.gz -C /usr/local

        cd /usr/local/

        sudo mv ./hadoop-3.2.1/ ./hadoop

        sudo chown -R hadoop ./hadoop

    安装完成后,测试是否正常:

    cd /usr/local/hadoop

    ./bin/hadoop version

    正常会显示以下信息:

3.6 Hadoop单机配置(非分布式)

        Hadoop 默认模式为非分布式模式(本地模式),无需进行其他配置即可运行。非分布式即单 Java 进程,方便进行调试。

        在此我们选择运行 grep 例子,我们将 input 文件夹中的所有文件作为输入,筛选当中符合正则表达式 dfs[a-z.]+ 的单词并统计出现的次数,最后输出结果到 output 文件夹中。

进入hadoop目录

cd /usr/local/hadoop

创建一个输入的目录:

mkdir ./input

COPY 配置文件作为输入文件来测试:

cp ./etc/hadoop/*.xml ./input  

执行以下命令,统计文件中dfs开关的单词出现的次数:

./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'

查看计算的结果:

cat ./output/*   

注意,Hadoop 默认不会覆盖结果文件,因此再次运行上面实例会提示出错,需要先将 ./output 删除。

3.7 Hadoop伪分布式配置

        Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。

        Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。

        进入配置文件目录:

        cd /usr/local/hadoop/etc/hadoop

        编辑core-site.xml文件:

        vim ./core-site.xml

        按i进入编辑模式,

        把文件中以下部分:

<configuration>

</configuration>

替换为:

    <configuration>

    <property>

        <name>hadoop.tmp.dir</name>

        <value>file:/usr/local/hadoop/tmp</value>

        <description>Abase for other temporary directories.</description>

    </property>

    <property>

        <name>fs.defaultFS</name>

        <value>hdfs://localhost:9000</value>

    </property>

</configuration>

    按ESC, 输入:wq 保存退出,文件内容应该如下:

修改配置文件 hdfs-site.xml

vim ./hdfs-site.xml

<configuration>

</configuration>

替换为:

<configuration>

    <property>

        <name>dfs.replication</name>

        <value>1</value>

    </property>

    <property>

        <name>dfs.namenode.name.dir</name>

        <value>file:/usr/local/hadoop/tmp/dfs/name</value>

    </property>

    <property>

        <name>dfs.datanode.data.dir</name>

        <value>file:/usr/local/hadoop/tmp/dfs/data</value>

    </property>

    <preperty>

        <name>dfs.namenode.http-address</name>

        <value>bdtest1:50070</value>

    </property>

</configuration>

    请留意上面的bdtest1是我UBUNTU电脑的电脑名,请更换为你的,如果这一段不加,不能通过WEB访问。

    保存退出

Hadoop配置文件说明

Hadoop 的运行方式是由配置文件决定的(运行 Hadoop 时会读取配置文件),因此如果需要从伪分布式模式切换回非分布式模式,需要删除 core-site.xml 中的配置项。

此外,伪分布式虽然只需要配置 fs.defaultFS 和 dfs.replication 就可以运行,不过若没有配置 hadoop.tmp.dir 参数,则默认使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format 才行。所以我们进行了设置,同时也指定 dfs.namenode.name.dir 和 dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。

执行 NameNode 的格式化:

cd /usr/local/hadoop

./bin/hdfs namenode -format

成功会有以下提示:

接着开启 NameNode 和 DataNode 守护进程。

输入以下指令:

cd /usr/local/hadoop

./sbin/start-dfs.sh

启动完成后,可以通过命令 jps 来判断是否成功启动,若成功启动则会列出如下进程: “NameNode”、”DataNode” 和 “SecondaryNameNode”(如果 SecondaryNameNode 没有启动,请运行 sbin/stop-dfs.sh 关闭进程,然后再次尝试启动尝试)。如果没有 NameNode 或 DataNode ,那就是配置不成功,请仔细检查之前步骤,或通过查看启动日志排查原因。

正常启动有4个进程:

成功启动后,可以访问 Web 界面 http://localhost:50070 查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。

到此,结束安装

上一篇下一篇

猜你喜欢

热点阅读