Hadoop伪分布式环境部署(非脚本)

简介: 本实验基于ECS云服务器(centOS7.7)搭建Hadoop伪分布式环境,并通过运行一个MapReduce示例程序熟悉Hadoop平台的使用。

安装JDK

Hadoop是一个基于Java编程语言开发的分布式计算框架,而JDK(Java Development Kit)是Java开发的核心工具包,包含了Java编译器、运行时环境和各种Java开发工具。

Hadoop需要依赖JDK环境的主要原因如下:

(1)Java编写:Hadoop是用Java编写的,因此在运行Hadoop的各个组件时,需要Java编译器将Java源代码编译成可执行的字节码文件。而JDK提供了Java编译器(javac)以及其他构建工具,用于将Java代码编译成可执行的字节码。

(2)平台独立性:一个重要的优势是Java的平台独立性,即可以在不同操作系统上运行相同的Java程序。JDK提供了Java虚拟机(JVM),它可以在不同操作系统上解释和执行Java字节码,从而实现了Hadoop在多个平台上的运行。

(3)Hadoop API与Java API交互:Hadoop提供了Java API用于开发基于Hadoop的应用程序。这些API是用Java编写的,因此在应用程序开发中使用Hadoop API时,需要依赖JDK环境。

(4)生态系统工具支持:除了Hadoop本身,Hadoop生态系统中的其他工具和库也通常使用Java编写。这些工具和库可能与Hadoop进行交互或依赖于Hadoop的核心功能,因此需要JDK环境的支持。

执行以下命令,下载JDK1.8安装包。

wget https://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz

image.png

执行以下命令,解压下载的JDK1.8安装包。

tar -zxvf openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz

image.png

执行以下命令,移动并重命名JDK包。

mv java-se-8u41-ri/ /usr/java8

image.png

执行以下命令,配置Java环境变量。

echo 'export JAVA_HOME=/usr/java8' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
source /etc/profile

image.png

执行以下命令,查看Java是否成功安装。

java -version

image.png


安装Hadoop

执行以下命令,下载Hadoop安装包。本示例安装hadoop-3.3.0版本。

wget --no-check-certificate https://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz

image.png

执行以下命令,解压Hadoop安装包至/opt/hadoop。

tar -zxvf hadoop-3.3.0.tar.gz -C /opt/
mv /opt/hadoop-3.3.0 /opt/hadoop

image.png

执行以下命令,配置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

执行以下命令,修改配置文件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

执行以下命令,测试Hadoop是否安装成功。

hadoop version

image.png


配置Hadoop

修改Hadoop配置文件 core-site.xml。执行以下命令开始进入编辑页面。

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

image.png

image.png节点内插入如下内容。

<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>

image.png

修改Hadoop配置文件 hdfs-site.xml。执行以下命令开始进入编辑页面。

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

image.png

image.png节点内插入如下内容。

<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>

image.png

修改start-dfs.sh和stop-dfs.sh文件。

在/opt/hadoop/sbin目录下找到start-dfs.sh和stop-dfs.sh两个文件。

image.png

在文件顶部添加以下内容:

HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

image.png

修改start-yarn.sh和stop-yarn.sh文件。

在/opt/hadoop/sbin目录下找到start-yarn.sh和stop-yarn.sh两个文件

image.png

在文件顶部添加以下内容:

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

image.png


配置SSH免密登录

执行以下命令,创建公钥和私钥。点击回车键

ssh-keygen -t rsa

image.png

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

cd .ssh
cat id_rsa.pub >> authorized_keys

image.png


启动Hadoop

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

hdfs namenode -format

image.png

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

start-dfs.sh
start-yarn.sh

image.png

image.png

image.png

执行jps命令查看已启动的进程,若显示以下进程,表明Hadoop启动成功。

image.png

打开浏览器访问IP:8088 和 IP:9870查看Hadoop的Web页面

image.png

image.png


测试mapreduce

在hdfs根目录下建一个目录test

hadoop fs -mkdir /test
hadoop fs -ls /

image.png

把测试文件README.txt从本地上传到hdfs的test目录下。

cd /opt/hadoop
hadoop fs -put README.txt /test
hadoop fs -ls /test

image.png

运行示例程序wordcount,计算结果存入/out目录。

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.0.jar wordcount /test /out

image.png

在/out目录下查看结果。

hadoop fs -ls /out

image.png

相关文章
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
65 2
|
10天前
|
分布式计算 资源调度 Hadoop
【赵渝强老师】部署Hadoop的本地模式
本文介绍了Hadoop的目录结构及本地模式部署方法,包括解压安装、设置环境变量、配置Hadoop参数等步骤,并通过一个简单的WordCount程序示例,演示了如何在本地模式下运行MapReduce任务。
|
1月前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
55 1
|
1月前
|
大数据 网络安全 数据安全/隐私保护
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(二)
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(二)
117 5
|
1月前
|
XML 大数据 网络安全
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(一)
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(一)
68 4
|
1月前
|
存储 SQL 消息中间件
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
47 0
|
3月前
|
存储 分布式计算 算法
探索Hadoop的三种运行模式:单机模式、伪分布式模式和完全分布式模式
在配置Hadoop集群之前,了解这三种模式的特点、适用场景和配置差异是非常重要的。这有助于用户根据个人需求和资源情况,选择最适合自己的Hadoop运行模式。在最初的学习和开发阶段,单机模式和伪分布式模式能为用户提供便利和成本效益。进而,当用户要处理大规模数据集时,完全分布式模式将是理想的选择。
185 2
|
3月前
|
分布式计算 资源调度 Hadoop
Hadoop入门基础(二):Hadoop集群安装与部署详解(超详细教程)(二)
Hadoop入门基础(二):Hadoop集群安装与部署详解(超详细教程)(二)
|
3月前
|
SQL 分布式计算 Hadoop
centos7通过CDH部署Hadoop
centos7通过CDH部署Hadoop
|
3月前
|
分布式计算 Java Linux
centos7通过Ambari2.74部署Hadoop
centos7通过Ambari2.74部署Hadoop