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

MapReduce:是一个分布式计算框架,MapReduce的核心思想是把计算任务分配给集群内的服务器执行。通过对计算任务的拆分(Map计算和Reduce计算),再根据任务调度器(JobTracker)对任务进行分布式计算。
更多信息,请参见Hadoop官网。
前提条件
已购买一台弹性云服务器,且已为其绑定弹性公网IP。
弹性云服务器所在安全组添加了如下表所示的安全组规则,具体步骤参见为安全组添加安全组规则。
表1 安全组规则
为了更好的获取和更新系统和软件,建议您更新镜像源为华为云镜像源,详细操作,请参见如何使用自动化工具配置华为云镜像源(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,进入编辑模式。
在<configuration></configuration>节点内,插入如下内容。
<property>
<name>hadoop.tmp.dir</name>
<value>file:/opt/hadoop-2.10.x/tmp</value>
<description>location to store temporary files</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
按“Esc”退出编辑模式。
执行以下命令保存并退出。
:wq
修改Hadoop配置文件hdfs-site.xml。
执行以下命令,进入编辑页面。
vim /opt/hadoop-2.10.x/etc/hadoop/hdfs-site.xml
输入i,进入编辑模式。
在<configuration></configuration>节点内,插入如下内容。
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/hadoop-2.10.x/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/hadoop-2.10.x/tmp/dfs/data</value>
</property>
按“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环境搭建完成。
华为云共建智能世界云底座[52] 华为公有云专属云主机DeH服务[51] 华为云场景化解决方案[49] 华为公有云产品[44] 华为云云主机[43] 华为云产品服务[43] 华为云服务器应用[43] 华为弹性云服务器[39] 华为公有云架构解决方案[38] 华为云提供的服务[37] 华为虚拟私有云vpc[37] 华为公有云介绍[32] 华为公有云提供哪些计算服务[30] 华为云漏洞扫描[27] 华为云软件开发服务[27] 华为公有云和私有云区别[27] 华为云域名注册[26] 华为云官网登陆[26] 华为公有云解决方案[26] 华为私有云产品有哪些[26] 华为私有云服务[25] 华为云数据库[23] 华为云安全[22] 华为公有云官网[22] 华为私有云的搭建方案[22] 华为云弹性云服务器应用[21] 华为公有云平台[20] 华为公有云行业解决方案[20] 华为私有云解决方案服务定制领导者[20] [19] 华为私有云服务器[19] 华为私有云网格结构[19] 华为公有云视讯解决方案[18] 华为云官网[17] 华为云速建站[17] 华为私有云架构[17] 华为云优势[16] 华为云服务器[16] 华为私有云部署架构[16] 华为云企业邮箱服务 (SAAS[15] 华为云邮箱[15] 华为公有云是什么[15] 华为公有云架构[15] 华为云迁移解决方案[14] 华为公有云解决方案服务定制领导者[14] 华为私有云解决方案[14] 云邮箱)[13] 华为云园区解决方案[13] 华为云服务总代理[13] 华为云速智能客服[13] 华为公有云服务[13] 华为私有云搭建方案[13] 云与计算咨询服务[12] 云与计算培训服务[11] 华为云备份[11] 华为云服务器配置[11] 华为云服务服务中心[11] 华为云服务核心分销商[11] 华为公有云[11] 华为私有云搭建[11] 云迁移与运营支撑服务[10] 公有云私有云混合云[10] 华为云服务器ECS[10] 华为云服务器成功案例[10] 华为云解决方案[10] 华为公有云通用解决方案[9] 华为智慧云课堂解决方案[9] 华为云数据解决方案[8] 华为云是什么[8] 华为私有云平台[8] 云与计算客户支持与运维使能服务[7] 华为云官网网站[7] 华为云智慧教育解决方案[7] 华为云智慧校园解决方案[7] 华为云桌面系统集成商[7] 华为云经销商[7] 华为代理公司有哪些[7] 华为私有云方案[7] 智慧教育云平台解决方案[7] 华为云服务器试用[6] 华为云网站建设服务器[6] 华为手机代理加盟[6] 华为私有云[6] 大数据使能服务[6] 智慧教育云计算解决方案[6] 华为云云主机 [5] 华为云智慧***解决方案[5] 华为云桌面总代理商[5] 云与计算客户支持服务[4] 华为云产品介绍[4] 华为云智慧制造解决方案[4] 华为云场景化解决方案[3] 华为公有云官网[3] 华为公有云通用解决方案[3] 华为弹性云服务器[3] 华为公有云产品 [3] 华为云产品服务[2] 华为云域名注册[2] 华为云数据库[2] 华为云智慧校园解决方案[2] 华为云服务器应用[2] 华为云服务器成功案例[2] 华为云软件开发服务[2] 华为公有云产品[2] 华为公有云介绍[2] 华为公有云和私有云区别[2] 华为公有云服务[2] 华为公有云架构[2] 华为公有云架构解决方案[2] 华为公有云视讯解决方案[2] 华为公有云解决方案[2] 华为私有云产品有哪些[2] 华为私有云服务[2] 华为私有云架构[2] 智慧教育云计算解决方案[2] 云规划设计与实施服务[2] 云邮箱[2] 华为云产品报价[2] 华为公有云通用解决方案 [2] 华为云服务器成功案例[1] 华为云桌面系统集成商[1] 云与计算客户支持与运维使能服务[1] 云迁移与运营支撑服务[1] 云迁移与运营支撑服务 [1] 华为云共建智能世界云底座[1] 华为云备份[1] 华为云安全[1] 华为云官网登陆[1] 华为云弹性云服务器应用[1] 华为云提供的服务[1] 华为云数据解决方案[1] 华为云智慧制造解决方案[1] 华为云服务器[1] 华为云服务核心分销商 [1] 华为云漏洞扫描[1] 华为云迁移解决方案 [1] 华为云速智能客服[1] 华为云邮箱[1] 华为公有云专属云主机DeH服务[1] 华为公有云是什么[1] 华为公有云行业解决方案[1] 华为私有云搭建[1] 华为私有云方案[1] 华为私有云服务.华为公有云专属云主机DeH服务.华为云产品报价[1] 华为私有云的搭建方案[1] 华为私有云网格结构[1] 华为私有云解决方案[1] 华为私有云部署架构[1] 为云产品服务[1] 云与计算咨询服务 [1] 云与计算客户支持与运维使能服务 [1] 云与计算客户支持与运维使能服务 云与计算客户支持服务[1] 华为云是什么 [1] 华为云软件开发服[1] 华为云速智能客服 [1] 华为代理加盟[1] 华为公有云架构解决方案 [1] 华为公有云解决方案服务定制领导者 [1] 华为弹性云[1] 华为弹性云服务器 华为云域名注册 华为云服务器应用[1] 华为私有云搭建 [1] 华为私有云搭建方案 [1] 华为私有云部署架构 [1] 大数据使能服务 [1] 撒[1]