华为云服务器手工搭建Hadoop环境(Linux)_云淘科技

简介

本文介绍了如何在华为云上使用弹性云服务器的Linux实例手工搭建Hadoop环境。Hadoop是一款由Apache基金会用Java语言开发的分布式开源软件框架,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的能力进行高速运算和存储。Hadoop的核心部件是HDFS(Hadoop Distributed File System)和MapReduce:

HDFS:是一个分布式文件系统,可对应用程序数据进行分布式储存和读取。
MapReduce:是一个分布式计算框架,MapReduce的核心思想是把计算任务分配给集群内的服务器执行。通过对计算任务的拆分(Map计算和Reduce计算),再根据任务调度器(JobTracker)对任务进行分布式计算。

更多信息,请参见Hadoop官网。

前提条件

已购买一台弹性云服务器,且已为其绑定弹性公网IP。
弹性云服务器所在安全组添加了如下表所示的安全组规则,具体步骤参见为安全组添加安全组规则。

表1 安全组规则

方向

类型

协议

端口/范围

源地址

入方向

IPv4

TCP

8088

0.0.0.0/0

入方向

IPv4

TCP

50070

0.0.0.0/0

为了更好的获取和更新系统和软件,建议您更新镜像源为华为云镜像源,详细操作,请参见如何使用自动化工具配置华为云镜像源(x86_64和ARM)?。

操作流程

Linux实例手工搭建Hadoop环境的具体操作步骤如下:

安装JDK
安装Hadoop
配置Hadoop
配置SSH免密登录
启动Hadoop

实施步骤

安装JDK

登录弹性云服务器。
执行以下命令,下载jdk软件包。

以jdk17为例,在列表中查看可用的JDK软件包版本,以jdk-17_linux-x64_bin.tar.gz安装包为例,执行以下命令。

wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

解压jdk安装包到opt目录下。

tar -xvf jdk-17_linux-x64_bin.tar.gz -C /opt/

配置环境变量。

vim /etc/profile

在底部添加以下内容。

#set java environment
export JAVA_HOME=/opt/jdk-17.0.x
export PATH=$PATH:$JAVA_HOME/bin

jdk-17.0.x”表示jdk安装包的具体版本,实际值需要从步骤3的返回值中获取。

例如:jdk-17.0.8

按“Esc”退出编辑模式。
执行以下命令保存并退出。

:wq

执行以下命令使/etc/profile里的配置生效。

source /etc/profile

验证安装。

java -version

回显信息如下表示jdk安装成功。

java version "17.0.8" 2023-07-18 LTS
Java(TM) SE Runtime Environment (build 17.0.8+9-LTS-211)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.8+9-LTS-211, mixed mode, sharing)

安装Hadoop

执行以下命令,下载Hadoop软件包。此处以2.10.x版本为例。

以下命令中,需要将“2.10.x”中的“x”替换为具体的软件版本号。

wget https://mirrors.bfsu.edu.cn/apache/hadoop/common/hadoop-2.10.x/hadoop-2.10.x.tar.gz

解压Hadoop安装包到opt目录下。

tar -xvf hadoop-2.10.x.tar.gz -C /opt/

配置环境变量。

vim /etc/profile

在底部添加以下内容。

#set hadoop environment
export HADOOP_HOME=/opt/hadoop-2.10.x
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root

按“Esc”退出编辑模式。
执行以下命令保存并退出。

:wq

执行以下命令使/etc/profile里的配置生效。

source /etc/profile

执行以下命令,修改配置文件yarn-env.sh和hadoop-env.sh中JAVA_HOME的路径。

echo “export JAVA_HOME=/opt/jdk-17.0.8” >> /opt/hadoop-2.10.x/etc/hadoop/yarn-env.sh

echo “export JAVA_HOME=/opt/jdk-17.0.8” >> /opt/hadoop-2.10.x/etc/hadoop/hadoop-env.sh

验证安装。

hadoop version

回显信息如下所示表示Hadoop安装成功。

Hadoop 2.10.x
Subversion https://github.com/apache/hadoop -r 1827467c9a56f133025f28557bfc2c562d78e816
Compiled by centos on 2020-09-14T13:17Z
Compiled with protoc 2.5.0
From source with checksum 3114edef868f1f3824e7d0f68be03650
This command was run using /opt/hadoop-2.10.x/share/hadoop/common/hadoop-common-2.10.x.jar

配置Hadoop

修改Hadoop配置文件core-site.xml。

执行以下命令,进入编辑页面。

vim /opt/hadoop-2.10.x/etc/hadoop/core-site.xml

输入i,进入编辑模式。
在节点内,插入如下内容。

        hadoop.tmp.dir
        file:/opt/hadoop-2.10.x/tmp
        location to store temporary files
    
    
        fs.defaultFS
        hdfs://localhost:9000
    

按“Esc”退出编辑模式。
执行以下命令保存并退出。

:wq

修改Hadoop配置文件hdfs-site.xml。

执行以下命令,进入编辑页面。

vim /opt/hadoop-2.10.x/etc/hadoop/hdfs-site.xml

输入i,进入编辑模式。
在节点内,插入如下内容。

        dfs.replication
        1
    
    
        dfs.namenode.name.dir
        file:/opt/hadoop-2.10.x/tmp/dfs/name
    
    
        dfs.datanode.data.dir
        file:/opt/hadoop-2.10.x/tmp/dfs/data
    

按“Esc”退出编辑模式。
执行以下命令保存并退出。

:wq

配置SSH免密登录

执行以下命令,创建公钥和私钥。

ssh-keygen -t rsa

按三次回车后回显信息如下图所示,表示创建公钥和私钥成功。

执行以下命令,将公钥添加到authorized_keys文件中。

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

chmod 0600 ~/.ssh/authorized_keys

启动Hadoop

执行以下命令,初始化namenode。

hadoop namenode -format

依次执行以下命令,启动Hadoop。

start-dfs.sh

在回显信息中,依次输入yes。

start-yarn.sh

回显信息如下图所示。

执行以下命令,可查看成功启动的进程。

jps

成功启动的进程如下所示。

9138 NameNode
9876 Jps
9275 DataNode
9455 SecondaryNameNode

打开浏览器访问http://服务器IP地址:8088和http://服务器IP地址:50070。

若显示如下界面,表示Hadoop环境搭建完成。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家