美文网首页
Hadoop的安装(Ubuntu)

Hadoop的安装(Ubuntu)

作者: 娜弯舟 | 来源:发表于2019-11-07 16:43 被阅读0次

    如果你安装 Ubuntu 的时候不是用的 “hadoop” 用户,那么需要增加一个名为 hadoop 的用户。

    一、创建Hadoop用户

    1.创建Hadoop用户,并使用并使用 /bin/bash 作为 shell
    $ sudo useradd -m hadoop -s /bin/bash
    2.为Hadoop用户设置密码
    $ sudo passwd hadoop
    3.增加Hadoop用户管理权限,方便部署
    $ sudo adduser hadoop sudo
    4.切换当前用户为Hadoop
    $ su - hadoop

    二、更新apt

    更新apt,后续我们需要使用apt安装软件
    $ sudo apt-get update
    安装vim
    $ sudo apt-get install vim

    三、安装SSH、配置SSH无密码登陆

    集群、单节点模式都需要用到 SSH 登陆(类似于远程登陆,登录某台 Linux 主机,并且在上面运行命令),Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server
    $ sudo apt-get install openssh-server
    登陆SSH,第一次登陆输入yes,然后按提示输入密码,这样就登陆到本机了
    $ ssh localhost
    为了方便,配置SSH无密码登录,首先退出SSH

       $  exit                           # 退出刚才的 ssh localhost
       $  cd ~/.ssh/                     # 若没有该目录,请先执行一次ssh localhost
       $  ssh-keygen -t rsa              # 会有提示,都按回车就可以
       $  cat ./id_rsa.pub >> ./authorized_keys  # 加入授权
    

    此时用ssh localhost不用密码就能登录

    四、安装Java环境

    有多种方式安装JDK,我采取手动安装
    1.在Oracle官方网站的dowmloads下载JDK(https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html),下载在电脑中Downloads下
    2.在Linux命令行界面中,执行如下Shell命令(注意:当前登录用户名是hadoop)

        cd /usr/lib
        sudo mkdir jvm #创建/usr/lib/jvm目录用来存放JDK文件
        cd ~ #进入hadoop用户的主目录
        cd Downloads  #注意区分大小写字母,刚才已经通过FTP软件把JDK安装包jdk-8u231-linux-x64.tar.gz上传到该目录下
        sudo tar -zxvf ./jdk-8u231-linux-x64.tar.gz -C /usr/lib/jvm  #把JDK文件解压到/usr/lib/jvm目录下
    

    JDK文件解压缩以后,可以执行如下命令到/usr/lib/jvm目录查看一下

        cd /usr/lib/jvm
        ls
    

    可以看到,在/usr/lib/jvm目录下有个jdk1.8.0_231目录
    3.设置环境变量

        cd ~
        vim ~/.bashrc
    

    使用vim打开了hadoop这个用户的环境变量配置文件,在文件中添加:

    export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_231
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH
    

    保存.bashrc文件并退出vim编辑器.
    4.使.bashrc文件的配置立即生效,然后查看是否安装成功

    source ~/.bashrc
    java -version
    

    安装成功反馈

    hadoop@duduna-XPS-15-9570:~$ java -version
    java version "1.8.0_231"
    Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
    

    五、Hadoop安装

    在Hadoop官网下载Hadoop安装包hadoop-2.10.0.tar.gz,下载完之后,将 Hadoop 安装至 /usr/local/ 中

    sudo tar -zxf ~/Downloads/hadoop-2.10.0.tar.gz -C /usr/local   #解压到/usr/local中
    cd /usr/local/
    sudo mv ./hadoop-2.10.0/ ./hadoop   # 将文件夹名改为hadoop
    sudo chown -R hadoop ./hadoop       # 修改文件权限
    

    Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息

    cd /usr/local/hadoop
    ./bin/hadoop version
    

    成功显示界面

    hadoop@duduna-XPS-15-9570:/usr/local/hadoop$ ./bin/hadoop version
    Hadoop 2.10.0
    Subversion ssh://git.corp.linkedin.com:29418/hadoop/hadoop.git -r e2f1f118e465e787d8567dfa6e2f3b72a0eb9194
    Compiled by jhung on 2019-10-22T19:10Z
    Compiled with protoc 2.5.0
    From source with checksum 7b2d8877c5ce8c9a2cca5c7e81aa4026
    This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-2.10.0.jar
    

    六、Hadoop单机配置(非分布式)

    Hadoop 默认模式为非分布式模式(本地模式),无需进行其他配置即可运行。非分布式即单 Java 进程,方便进行调试。
    现在可以执行Hadoop的例子来感受一下Hadoop运行,Hadoop附带了丰富的例子(包括 wordcount、terasort、join、grep 等。),以grep为例,来运行一下。

        $ cd /usr/local/hadoop
        $ mkdir ./input
        $ cp ./etc/hadoop/*.xml ./input   # 将配置文件作为输入文件
        $ ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'
        $ cat ./output/*          # 查看运行结果
    

    执行成功后的运行结果:

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

    七、Hadoop为分布式配置

    伪分布式需要修改两个配置文件: core-site.xml 和 hdfs-site.xml

    1、修改配置文件core-site.xml :

    $ gedit ./etc/hadoop/core-site.xml
    修改前:

        <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>
    

    2、修改配置文件 hdfs-site.xml:

    $ gedit ./etc/hadoop/hdfs-site.xml
    改为:

    <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>
    </configuration>
    

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

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

    3、配置完成后进行NameNode格式化

    $ ./bin/hdfs namenode -format

    成功显示
    (注意:如果在这一步时提示 Error: JAVA_HOME is not set and could not be found. 的错误,则说明之前设置 JAVA_HOME 环境变量那边就没设置好,请按教程先设置好 JAVA_HOME 变量,否则后面的过程都是进行不下去的。如果已经按照前面教程在.bashrc文件中设置了JAVA_HOME,还是出现 Error: JAVA_HOME is not set and could not be found. 的错误,那么,请到hadoop的安装目录修改配置文件“/usr/local/hadoop/etc/hadoop/hadoop-env.sh”,在里面找到“export JAVA_HOME=${JAVA_HOME}”这行,然后,把它修改成JAVA安装路径的具体地址,比如,“export JAVA_HOME=/usr/lib/jvm/default-java”,然后,再次启动Hadoop。)

    4、开启 NameNode 和 DataNode 守护进程。

    ./sbin/start-dfs.sh #start-dfs.sh是个完整的可执行文件,中间没有空格
    遇到SSH提示,输入yes即可
    确认是否成功启动:
    $ jps

    上传成功显示
    这四项缺一不可,检查没有启动的原因,如果是NameNode和DataNode,一般是配置不成功,检查配置;如果是SecondaryNameNode则是启动不成功,重新启动。

    5、启动成功

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

    访问web

    6、如果要关闭Hadoop,则

    $ ./sbin/stop-dfs.sh
    再次打开Hadoop
    $ ./sbin/start-dfs.sh

    相关文章

      网友评论

          本文标题:Hadoop的安装(Ubuntu)

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