本教程介绍基于ECS搭建Hadoop伪分布式环境。
场景体验目标
本场景将提供一台配置了CentOS 7.7的ECS实例(云服务器)。通过本教程的操作,您可以基于ECS实例快速搭建一个Hadoop伪分布式环境。
背景知识
本场景主要涉及以下云产品和服务:
云服务器ECS
云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。阿里云ECS持续提供创新型服务器,解决多种业务需求,助力您的业务发展。
Apache Hadoop
Apache Hadoop软件库是一个框架,该框架允许使用简单的编程模型跨计算机集群对大型数据集进行分布式处理。它旨在从单个服务器扩展到数千台机器,每台机器都提供本地计算和存储。Hadoop软件库并不是依靠硬件来提供高可用性,而是通过检测和处理应用程序层的故障,从而在容易出现故障的计算机集群的顶部提供高可用性的服务。
实验详情
连接ECS服务器
1.打开系统自带的终端工具。
- Windows:CMD或Powershell。
- MAC:Terminal。
2.在终端中输入连接命令ssh [username]@[ipaddress]。您需要将其中的username和ipaddress替换为第1小节中创建的ECS服务器的登录名和公网地址。例如:
ssh root@123.123.123.123
命令显示结果如下:
3.输入yes。
4.同意继续后将会提示输入登录密码。 密码为已创建的云服务的ECS的登录密码。
登录成功后会显示如下信息。
安装JDK
1.执行以下命令,下载JDK1.8安装包。
wget https://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz
2.执行以下命令,解压下载的JDK1.8安装包。
tar -zxvf openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz
3.执行以下命令,移动并重命名JDK包。
mv java-se-8u41-ri/ /usr/java8
4.执行以下命令,配置Java环境变量。
echo 'export JAVA_HOME=/usr/java8' >> /etc/profile echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile source /etc/profile
5.执行以下命令,查看Java是否成功安装。
java -version
如果返回以下信息,则表示安装成功。
安装Hadoop
1.执行以下命令,下载Hadoop安装包。
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.9.2/hadoop-2.9.2.tar.gz
2.执行以下命令,解压Hadoop安装包至/opt/hadoop。
tar -zxvf hadoop-2.9.2.tar.gz -C /opt/ mv /opt/hadoop-2.9.2 /opt/hadoop
3.执行以下命令,配置Hadoop环境变量。
echo 'export HADOOP_HOME=/opt/hadoop/' >> /etc/profile echo 'export PATH=$PATH:$HADOOP_HOME/bin' >> /etc/profile echo 'export PATH=$PATH:$HADOOP_HOME/sbin' >> /etc/profile source /etc/profile
4.执行以下命令,修改配置文件yarn-env.sh和hadoop-env.sh。
echo "export JAVA_HOME=/usr/java8" >> /opt/hadoop/etc/hadoop/yarn-env.sh echo "export JAVA_HOME=/usr/java8" >> /opt/hadoop/etc/hadoop/hadoop-env.sh
5.执行以下命令,测试Hadoop是否安装成功。
hadoop version
如果返回以下信息,则表示安装成功。
配置Hadoop
1.修改Hadoop配置文件 core-site.xml。
a. 执行以下命令开始进入编辑页面。
vim /opt/hadoop/etc/hadoop/core-site.xml
b. 输入i
进入编辑模式。
c. 在<configuration></configuration>
节点内插入如下内容。
<property> <name>hadoop.tmp.dir</name> <value>file:/opt/hadoop/tmp</value> <description>location to store temporary files</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property>
d. 按Esc
键退出编辑模式,输入:wq
保存退出。
2. 修改Hadoop配置文件 hdfs-site.xml。
a. 执行以下命令开始进入编辑页面。
vim /opt/hadoop/etc/hadoop/hdfs-site.xml
b. 输入i
进入编辑模式。
c. 在<configuration></configuration>
节点内插入如下内容。
<property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/opt/hadoop/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/opt/hadoop/tmp/dfs/data</value> </property>
d. 按Esc
键退出编辑模式,输入:wq
保存退出。
配置SSH免密登录
1.执行以下命令,创建公钥和私钥。
ssh-keygen -t rsa
2.执行以下命令,将公钥添加到authorized_keys文件中。
cd .ssh cat id_rsa.pub >> authorized_keys
启动Hadoop
1.执行以下命令,初始化namenode
。
hadoop namenode -format
2.依次执行以下命令,启动Hadoop。
start-dfs.sh
start-yarn.sh
3.启动成功后,执行以下命令,查看已成功启动的进程。
jps
4.打开浏览器访问http://<ECS公网地址>:8088
和http://<ECS公网地址>:50070
,显示如下界面则表示Hadoop伪分布式环境搭建完成。