美文网首页Big Data
Windows 下Hadoop环境搭建

Windows 下Hadoop环境搭建

作者: 云龙_LL | 来源:发表于2020-05-15 11:22 被阅读0次

    环境,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 中的文件。

    到此,结束安装

    相关文章

      网友评论

        本文标题:Windows 下Hadoop环境搭建

        本文链接:https://www.haomeiwen.com/subject/aeuqohtx.html