Fork me on GitHub

CentOS 7.9 单机安装 Hadoop 3.3.6

CentOS 7.9 单机安装 Hadoop 3.3.6


 

一、Hadoop 简介

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统( Distributed File System),其中一个组件是HDFSHadoop Distributed File System)。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFSMapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。

 

二、Hadoop 单机安装

1、下载 Hadoop 安装文件

Hadoop 目前最新的版本为 3.3.6,下载地址如下:

https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/

 

2、安装 Hadoop

1)修改主机名

将主机名称改为 hadoop1,命令如下:

hostnamectl set-hostname hadoop1

 

修改后,使用如下命令查看主机名:

hostname

 

2)修改主机列表

修改 /etc/hosts 中的内容,增加如下配置:

 

3)上传安装包到指定目录

将 hadoop-3.3.6.tar.gz 上传到指定目录,如:/home/tools/ (根据实际情况,选择一个目录存放安装包)

 

4)解压到指定目录

将 hadoop-3.3.6.tar.gz 解压到 /home/hadoop/ 目录下(根据实际情况,选择安装目录),命令如下:

tar -zxvf hadoop-3.3.6.tar.gz -C /home/hadoop/

 

5)创建数据存储目录

命令如下:

mkdir -p /home/hadoop/hdfs/tmp /home/hadoop/hdfs/data /home/hadoop/hdfs/name

 

3、修改配置

1)修改环境变量

在 /etc/profile 文件内容最后,追加环境变量,命令如下:

vim /etc/profile

 

增加内容如下:

export HADOOP_HOME=/home/hadoop/hadoop-3.3.6
export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin

 

使用如下命令,使环境变量生效:

source /etc/profile

 

使用如下命令,验证环境变量是否生效:

echo $HADOOP_HOME

 

2)修改 hadoop-env.sh

修改/home/hadoop/hadoop-3.3.6/etc/hadoop/hadoop-env.sh,设置 JAVA_HOME HADOOP_HOME 变量。

通过如下命令,查询 JAVA_HOME 配置:

echo $JAVA_HOME

 

修改内容如下:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64
export HADOOP_HOME=/home/hadoop/hadoop-3.3.6

 

设置 root 账户,修改内容如下:

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

 

3)修改 core-site.xml

修改/home/hadoop/hadoop-3.3.6/etc/hadoop/core-site.xml,在 configuration 标签中,添加如下内容:

复制代码
    <!-- 指定 NameNode 的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop1:9090</value>
    </property>

    <!-- 指定 hadoop 数据的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/hdfs/tmp</value>
    </property>

    <property>
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
    </property>

    <property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
    </property>
复制代码

 

4)修改 hdfs-site.xml

修改/home/hadoop/hadoop-3.3.6/etc/hadoop/hdfs-site.xml,在 configuration 标签中,添加如下内容:

复制代码
    <property>
        <name>dfs.replication</name>      
        <value>1</value>
        <description>副本个数,配置默认是3,应小于datanode机器数量</description>
    </property>  

    <property>
        <name>dfs.namenode.name.dir</name>  
        <value>/home/hadoop/hdfs/name</value>  
        <final>true</final>
    </property>  

    <property>
        <name>dfs.datanode.data.dir</name>  
        <value>/home/hadoop/hdfs/data</value>  
        <final>true</final>
    </property>  

    <property>
        <name>dfs.http.address</name>
        <value>0.0.0.0:50070</value>
        <description>将绑定IP改为0.0.0.0,而不是本地回环IP,这样,就能够实现外网访问本机的50070端口了</description>
    </property>

    <property>
        <name>dfs.permissions</name>  
        <value>false</value>
    </property>
复制代码

 

5)修改 mapre-site.xml

修改/home/hadoop/hadoop-3.3.6/etc/hadoop/mapre-site.xml,在 configuration 标签中,添加如下内容:

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

 

6)修改 yarn-site.xml

修改/home/hadoop/hadoop-3.3.6/etc/hadoop/yarn-site.xml,在 configuration 标签中,添加如下内容:

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

 

7)格式化 HDFS

格式化 HDFS,命令如下:

hdfs namenode -format

 

8)关闭防火墙

关闭防火墙,命令如下:

systemctl stop firewalld

 

查看防火墙状态,命令如下:

systemctl status firewalld

 

4、启动 Hadoop 

启动 Hadoop 服务,命令如下:

cd /home/hadoop/hadoop-3.3.6/sbin
./start-all.sh

注意:此时有报错信息:“localhost: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

此时,需要配置免密登录。

生产私钥,命令如下(输入两次回车):

ssh-keygen -t rsa -P ""

  

复制授权秘钥,命令如下:

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

 

再次执行 ./start-all.sh,即可正常执行。

 

使用 jps 命令查看进程,效果如下(出现6个进程为正常):

 

5、访问 Hadoop 管理页面

1)http://Hadoop机器IP:50070/

http://Hadoop机器IP:50070/

 

 

 

 

2)http://Hadoop机器IP:8088/

http://Hadoop机器IP:8088/

 

 

posted @   龙凌云端  阅读(1419)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示