实验一、Hadoop 安装与配置管理

目标:掌握Hadoop安装过程原理

Linux环境准备:

  1. 安装VMware16 虚拟机
  2. 部署Centos8 64bit 操作系统
  3. hadoop-3.3.1.tar.gz
  4. jdk-8u321-linux-x64.tar.gz

伪分布式模式的安装和配置步骤:

一、准备与配置安装环境:安装虚拟机和linux

  • 虚拟机推荐使用vmware,PC可以使用workstation,服务器可 以使用ESXi,在管理上比较方便。ESXi还可以通过拷贝镜像文件复制虚拟机,复制后 自动修改网卡号和ip,非常快捷。如果只是实验用途,硬盘大约预留20-30G空间。
  • linux以Centos为例,分区可以选择默认,安装选项选择Desktop Gnome,以及Server、 Server GUI即可。其它Linux,注意选项里应包括ssh,vi(用于编辑配置文件),perl 等(有些脚本里包含perl代码需要解析)

二、安装jdk

  1. 下载JDK
    去Oracle官网下载JDK:Oracle
    在这里插入图片描述
    先下载到本地,然后通过WinSCP与虚拟机链接将安装包上传到linux虚拟机根目录下的/opt目录中
    在这里插入图片描述
    这里不能将安装包传输过去,因为权限的限制,所以我们先将/opt目录的权限改为可写,先切换到超级用户然后修改权限
    在这里插入图片描述
    然后就可以传输了
    在这里插入图片描述
    切换至/opt目录下查看压缩包
    在这里插入图片描述

  2. 解压
    新建一个/app文件夹,我们之后的软件都将安装在该目录下

    mkdir /app
    

    然后解压,并将其移动到/app目录下

    tar -zxvf jdk-8u321-linux-x64.tar.gz
    mv jdk1.8.0_321 /app  
    

    可以切换到/app目录下查看解压好的文件夹
    在这里插入图片描述

  3. 配置环境变量
    解压好JDK之后还需要在环境变量中配置JDK,才可以使用,接下来就来配置JDK
    输入命令:

    vim /etc/profile
    

    编辑配置文件

    在文件末尾输入如下代码:
    在这里插入图片描述
    然后保存并退出
    最后:

    source /etc/profile
    

    使刚刚的配置生效

  4. 测试
    最后测试一下环境变量是否配置成功
    输入:

    java -version
    

    出现如下界面代表配置成功
    在这里插入图片描述

三、安装hadoop

  1. 下载并解压Hadoop安装包
    去官网下载:https://hadoop.apache.org/releases.html
    在这里插入图片描述
    下载到本地目录之后用同样的方法上传到linux虚拟机的/opt目录下
    来到/opt目录下解压Hadoop的压缩包,然后将解压好的文件移动到/app目录下
    在这里插入图片描述
    切换到/app目录下修改一下hadoop文件夹的名字(这里我不小心写错了,修改后的名字是hadoop3.3,后面改正过来了)
    在这里插入图片描述
    配置Hadoop环境

  2. 设置DNS解析

    vim /etc/hosts
    

    在文本最后一行追加"(本机ip) hadoop0",注意IP与主机名之间用空格隔开
    在这里插入图片描述

  3. 设置ssh免密登录

    (1)输入如下代码:

    ssh-keygen -t rsa -P '' 
    

    生成无密码密钥对,询问保存路径直接输入回车,生成密钥对:id_rsaid_rsa.pub,默认存储在/home/hadoop/.ssh目录下。

    接下来:把id_rsa.pub追加到授权的key里面去。

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    

    (2)然后修改权限:

    chmod 600 ~/.ssh/authorized_keys 
    

    (3)测试:

    ssh localhost
    

    在这里插入图片描述

  4. 修改Hadoop配置文件
    (1) hadoop-env.sh配置
    首先切换到hadoop的目录下

    cd /app/hadoop3.3/etc/hadoop/
    

    编辑 hadoop-env.sh在文件中插入如下代码:

    # The java implementation to use.
    #export JAVA_HOME=${JAVA_HOME}
    export JAVA_HOME=/app/jdk1.8.0_321
    

    (2)yarn-env.sh 配置(非必须)
    在yarn-env.sh中插入如下代码:

    export JAVA_HOME=/app/jdk1.8.0_321
    

    (3) core-site.xml配置
    在文件末尾的configuration标签中添加代码如下:

    <configuration> 
     <property>
        <name>fs.default.name</name>
        <value>hdfs://hadoop0:8088</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/hadoop/tmp</value>
    </property>
    </configuration>
    

    (4)hdfs-site.xml文件配置

    replication指的是副本数量,现在是单节点,所以是1.

    <configuration>
    <property>
        <name>dfs.name.dir</name>
        <value>/usr/hadoop/hdfs/name</value>
    </property>
    <property>
        <name>dfs.data.dir</name>
        <value>/usr/hadoop/hdfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    </configuration>
    

    (5)mapred-site.xml文件配置(非必须)

    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
    

    (6)yarn-site.xml配置

    <configuration>
    <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
    </property>
    <property>
            <name>yarn.resourcemanager.webapp.address</name>
            <value>hadoop0:8099</value>
    </property>
    </configuration>
    
  5. 创建文件夹

    我们在配置文件中配置了一些文件夹路径,现在我们来创建他们,在/usr/hadoop/目录下使用hadoop用户操作,建立tmphdfs/namehdfs/data目录,执行如下命令 :

    mkdir /usr/hadoop
    mkdir /usr/hadoop/tmp
    mkdir /usr/hadoop/hdfs
    mkdir /usr/hadoop/hdfs/data
    mkdir /usr/hadoop/hdfs/name
    
  6. 将Hadoop添加到环境变量中

    vim /etc/profile
    

    在文件末尾插入如下代码:
    在这里插入图片描述
    最后使修改生效:

    source /etc/profile
    
  7. 验证
    格式化HDFS文件
    使用如下命令:

    hadoop namenode -format
    

    出现如下界面表示成功
    在这里插入图片描述
    启动Hadoop

    输入:

    start-dfs.sh
    

    在这里插入图片描述
    表示没有成功,因为root用户现在还不能启动hadoop,需要设置一下:
    /hadoop3.3/sbin路径下:

    cd /app/hadoop3.3/sbin
    

    start-dfs.shstop-dfs.sh两个文件顶部添加以下参数

    #!/usr/bin/env bash
    HDFS_DATANODE_USER=root
    HADOOP_SECURE_DN_USER=hdfs
    HDFS_NAMENODE_USER=root
    HDFS_SECONDARYNAMENODE_USER=root
    

    还有,start-yarn.shstop-yarn.sh顶部也需添加以下代码:

    #!/usr/bin/env bash
    YARN_RESOURCEMANAGER_USER=root
    HADOOP_SECURE_DN_USER=yarn
    YARN_NODEMANAGER_USER=root
    

    再次启动start-dfs.sh,最后输入命令jps验证,出现如下界面代表启动成功:
    在这里插入图片描述
    在你虚拟机的图形化界面中打开火狐浏览器输入:http://localhost:9870/ 或者在windows机器上输入http://虚拟机ip地址:9870/ 也可以访问 hadoop的管理页面
    在这里插入图片描述

四、HDFS系统初体验

使用Hadoop的HDFS系统来上传文件

  1. 创建文件夹
    和Linux中一样创建文件夹的主要命令是mkdir,只不过在前面要加上hadoop fs
    在这里插入图片描述
    也可以在浏览器中查看到
    在这里插入图片描述

  2. 上传文件至hdfs
    (1) 创建文件,并添加数据
    在这里插入图片描述
    (2)将文件上传至HDFS
    使用put命令即可将指定文件上传至HDFS的指定文件夹中,在本文中就是将hello.txt上传至HDFS的/test文件夹。
    在这里插入图片描述
    (3)查看文件
    在这里插入图片描述
    在浏览器中显示:
    在这里插入图片描述

五、实验小结

在Hadoop启动时,datanode结点没有启动,因为多次格式化namenode导致,在配置文件中保存的是第一次格式化时保存的namenode的ID,因此就会造成datanode与namenode之间的id不一致。解决方式是把/usr/hadoop/hdfs/name/current/VERSION文件中的clusterID的值复制到/usr/hadoop/hdfs/data/current/VERSION文件中的clusterID中,将其原来的clusterID注释掉,然后保存之后重新启动即可出现datanode。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lilianac

你的鼓励是我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值