Hadoop安装教程——单机 / 伪分布式配置

简介: Hadoop安装教程——单机 / 伪分布式配置

Hadoop3.3.0安装教程

本教程最终解释权归作者所有,转载请注明。本教程适合于原生 Hadoop3.3.0,主要参考了《大数据技术原理与应用》第三版,操作步骤详细,相信按照该教程操作,大家都能顺利安装并运行Hadoop。为了方便学习和使用该教程,请读者们利用Linux系统中自带的firefox浏览器打开此教程进行学习。文章目录

Hadoop3.3.0安装教程

前言

一、环境的选择

二、创建Hadoop账户

三、更新apt

四、安装SSH、配置SSH免密码登录

五、安装Java环境

六、Hadoop3.3.0的安装

七、Hadoop单机配置(非分布式)

八、Hadoop伪分布式安装

1.修改配置文件 core-site.xml

2.修改配置文件 hdfs-site.xml

3.Hadoop的启动

vim使用教程

前言

随着第三次信息化浪潮的涌动,大数据时代全面到来,人类社会信息科技的发展为大数据的到来提供了技术支持,数据产生方式的变革是促进大数据时代到来的至关重要的因素。大数据已经融入到了我们的生活,为了使我们对大数据有更加深刻的了解,我们大数据的研究刻不容缓。要学习大数据,最基础的就是了解大数据的处理框架Hadoop。Hadoop是一个开源的、可运行于大规模集群上的分布式计算平台,是被公认为行业大数据标准开源软件。几乎所有主流厂商都是以Hadoop为主。


一、环境的选择

本教程使用Ubtuntu-20.04做为系统环境,当然此教程也适用于Ubtuntu-20.04以下的版本,读者可以根据自己的需要选择相应的版本。若读者如果是选择其他版本(CentOS等)作为系统环境,命令则会有稍微的区别。在安装好Ubtuntu系统后,方可继续进行以下操作。


二、创建Hadoop账户

如果你安装 Ubuntu 的时候不是用的 “hadoop” 用户,那么需要增加一个名为 hadoop 的用户。

首先按 ctrl+alt+t 打开终端窗口,输入如下命令创建新用户 :

sudo useradd -m hadoop -s /bin/bash

这条命令创建了可以登陆的 hadoop 用户,并使用 /bin/bash 作为 shell。

接着使用如下命令设置密码,可简单设置为 hadoop,按提示输入两次密码:

sudo passwd hadoop

可为 hadoop 用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题:

sudo adduser hadoop sudo

最后注销当前用户(点击屏幕右上角的齿轮,选择注销),返回登陆界面。在登陆界面中选择刚创建的 hadoop 用户进行登陆。

三、更新apt

用 hadoop 用户登录后,我们先更新一下 apt,后续我们使用 apt 安装软件,如果没更新可能有一些软件安装不了。按 ctrl+alt+t 打开终端窗口,执行如下命令:

sudo apt-get update

由于后续需要更改一些配置文件,我们再此安装vim(当然使用gedit也可):

注:vim的使用请参看教程目录

sudo apt-get install vim

安装软件时若需要确认,在提示处输入 y 即可。


四、安装SSH、配置SSH免密码登录

集群、单节点模式都需要用到 SSH 登陆(类似于远程登陆,你可以登录某台 Linux 主机,并且在上面运行命令),Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server:

sudo apt-get install openssh-server

安装后,可以使用如下命令登陆本机:

ssh localhost
253703b419ae47f98770f34b7e29bf73.png

此时会有如下提示(SSH首次登陆提示),输入 yes 。然后按提示输入密码 hadoop,这样就登陆到本机了。


但这样登陆是需要每次输入密码的,我们需要配置成SSH无密码登陆比较方便。

首先退出刚才的 ssh,就回到了我们原先的终端窗口,然后利用 ssh-keygen 生成密钥,并将密钥加入到授权中:

exit                           # 退出刚才的 ssh localhost
cd ~/.ssh/                     # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa              # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys  # 加入授权
————————————————
版权声明:本文为CSDN博主「京茶吉鹿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_52372879/article/details/120383395

此时再用 ssh localhost 命令,无需输入密码就可以直接登陆了,如下图所示。
51407082dc7f4981ad005bad4f2aa6ba.png
五、安装Java环境

Hadoop3.3.0需要使用JDK版本在1.8以上,读者需要按下面的步骤安装JDK1.8。

读者需使用Ubtuntu自带的火狐浏览器打开Java官网,切记不要使用本地浏览器下载(如果使用本地浏览器下载需要使用WinSCP使用传送至虚拟机中)。打开网址我们选择下载 jdk-8u-301-linux-x64.tar.gz(即最后一项下载)。
542b0702442644f59b444e84104f200b.jpg在Linux命令行界面中,执行如下Shell命令(注意:当前登录用户名是hadoop):

cd /usr/lib
sudo mkdir jvm    #创建/usr/lib/jvm目录用来存放JDK文件
cd ~    #进入hadoop用户的主目录
cd 下载   #jdk压缩包默认下载在该位置
sudo tar -zxvf ./jdk-8u301-linux-x64.tar.gz -C /usr/lib/jvm  #把JDK文件解压到/usr/lib/jvm目录下

JDK文件解压缩以后,可以执行如下命令到/usr/lib/jvm目录查看一下:

cd /usr/lib/jvm
ls

可以看到,在/usr/lib/jvm目录下有个jdk1.8.0_301目录。

下面继续执行如下命令,设置环境变量:

cd ~
vim ~/.bashrc

上面命令使用vim编辑器(注:vim的使用请参看教程目录)打开了hadoop这个用户的环境变量配置文件,请在这个文件的开头位置,添加如下几行内容:

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_301
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

保存.bashrc文件并退出vim编辑器。然后,继续执行如下命令让.bashrc文件的配置立即生效:

source ~/.bashrc

这时,可以使用如下命令查看是否安装成功:

java -version

如果能够在屏如果能够在屏幕上返回如下信息,则说明安装成功:

11.png

至此,成功安装了Java环境,下面就可以安装Hadoop了。

六、Hadoop3.3.0的安装

同样,我们选择到Hadoop官网下载hadoop-3.3.0.tar.gz。读者还是需要在Ubtunbu中自带的浏览器中下载。直接下载第一项即可。
f087679f75474e1284eade21c09c5267.png
我们选择将 Hadoop 安装至 /usr/local/ 中:

cd ~      #进入hadoop用户的主目录
cd 下载     #jdk压缩包默认下载在该位置
sudo tar -zxf ~/下载/hadoop-3.3.0.tar.gz -C /usr/local    # 解压到/usr/local中
cd /usr/local/
sudo mv ./hadoop-3.3.0/ ./hadoop            # 将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop           # 修改文件权限

Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:

cd /usr/local/hadoop
./bin/hadoop version

七、Hadoop单机配置(非分布式)

Hadoop 默认模式为非分布式模式(本地模式),无需进行其他配置即可运行。非分布式即单 Java 进程,方便进行调试。

现在我们可以执行例子来感受下 Hadoop 的运行。Hadoop 附带了丰富的例子(运行 ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.0.jar 可以看到所有例子),包括 wordcount、terasort、join、grep 等。


在此我们选择运行 grep 例子,我们将 input 文件夹中的所有文件作为输入,筛选当中符合正则表达式 dfs[a-z.]+ 的单词并统计出现的次数,最后输出结果到 output 文件夹中。

cd /usr/local/hadoop
mkdir ./input
cp ./etc/hadoop/*.xml ./input   # 将配置文件作为输入文件
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.0.jar grep ./input ./output 'dfs[a-z.]+'
cat ./output/*          # 查看运行结果

执行成功后如下所示,输出了作业的相关信息,输出的结果是符合正则的单词 dfsadmin 出现了1次

注意:Hadoop 默认不会覆盖结果文件,因此再次运行上面实例会提示出错,需要先将 ./output 删除。

rm -r ./output

八、Hadoop伪分布式安装

Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。


Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。


1.修改配置文件 core-site.xml

使用下面的命令(注:vim的使用请参看教程目录)

cd /usr/local/hadoop/etc/hadoop/
vim core-site.xml

修改配置文件 core-site.xml ,将当中的

<configuration>
</configuration>

修改为下面配置:

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

2.修改配置文件 hdfs-site.xml

使用下面的命令:

vim hdfs-site.xml

修改配置文件 hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/data</value>
    </property>
</configuration>

3.Hadoop的启动

配置完成后,执行 NameNode 的格式化:

cd /usr/local/hadoop
./bin/hdfs namenode -format

成功的话,会返回很多行非常长的提示信息。

接着开启 NameNode 和 DataNode 守护进程。

cd /usr/local/hadoop
./sbin/start-dfs.sh      #启动Hadoop

若出现SSH提示信息,输入yes即可。


启动时可能会出现WARN 提示,可以忽略WARN 提示,并不会影响正常使用。


成功启动后,可以访问 Web 界面 http://localhost:9870 查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。如下图所示:
c8102c82760b4529a0039ee619862e2b.jpg
关闭Hadoop,则运行:

./sbin/stop-dfs.sh

注意:当下次启动 hadoop 时,无需再进行 NameNode 的初始化,只需要运行 ./sbin/start-dfs.sh 就可以!


vim使用教程

说明:以下vim使用方法只是在该教程用到的,如想了解更多,请参考菜鸟教程


i 切换到输入模式,以输入字符。

: 切换到底线命令模式,以在最底一行输入命令。

ESC,退出输入模式,切换到命令模式。

q 退出程序。

w 保存文件。

备注:在vim编辑文档时,输入 i 以输入字符;写入文档后,按 Esc 键,输入 :wq 以退出和保存文件。


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
相关文章
|
1天前
|
分布式计算 Hadoop 大数据
【大数据】Hadoop下载安装及伪分布式集群搭建教程
【大数据】Hadoop下载安装及伪分布式集群搭建教程
10 0
|
9天前
|
分布式计算 Hadoop Java
|
9天前
|
分布式计算 Hadoop 网络安全
|
9天前
|
存储 分布式计算 Hadoop
|
14天前
|
存储 分布式计算 Hadoop
Hadoop节点配置与调整
【5月更文挑战第21天】
25 5
Hadoop节点配置与调整
|
15天前
|
分布式计算 Hadoop Java
hadoop的基础设施-protobuf-2.5.0编译和安装
hadoop的基础设施-protobuf-2.5.0编译和安装
20 0
|
29天前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
112 2
|
29天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
1天前
|
存储 分布式计算 资源调度
【大数据】大数据概论与Hadoop
【大数据】大数据概论与Hadoop
13 0
|
1天前
|
存储 分布式计算 安全
大数据之hadoop3入门到精通(三)
大数据之hadoop3入门到精通(三)

相关实验场景

更多