大数据行业部署实战1:Hadoop伪分布式部署

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 大数据行业部署实战1:Hadoop伪分布式部署

一、Hadoop 介绍

Apache Hadoop 软件库是一个框架,允许在集群服务器上使用简单的编程模型对大数据集进行分布式处理。Hadoop 被设计成能够从单台服务器扩展到数以千计的服务器,每台服务器都有本地的计算和存储资源。Hadoop 的高可用性并不依赖硬件,其代码库自身就能在应用层侦测并处理硬件故障,因此能基于服务器集群提供高可用性的服务。

1. Hadoop 生态系统

主要包含以下几部分:

  • HDFS——Hadoop 生态圈的基本组成部分是 Hadoop 分布式文件系统(HDFS)。
    HDFS是一种分布式文件系统,数据被保存在计算机集群上,HDFS 为 HBase 等工具提供了基础。
  • MapReduce——Hadoop的主要执行框架是 MapReduce,它是一个分布式、并行处理的编程模型,MapReduce 把任务分为map(映射)阶段和 reduce(化简)。由于 MapReduce 工作原理的特性,Hadoop能以并行的方式访问数据,从而实现快速访问数据。
  • Hbase——HBase是一个建立在 HDFS 之上,面向列的 NoSQL 数据库,用于快速读/写大量数据,HBase 使用Zookeeper 进行管理。
  • Zookeeper——用于 Hadoop 的分布式协调服务。Hadoop 的许多组件依赖于 Zookeeper,它运行在计算机集群中,用于管理Hadoop集群。
  • Pig——它是MapReduce编程的复杂性的抽象。Pig平台包括运行环境和用于分析Hadoop数据集的脚本语言(Pig Latin),其编译器将Pig Latin翻译成MapReduce程序序列。
  • Hive——Hive类似于SQL高级语言,用于运行存储在Hadoop上的查询语句,Hive让不熟悉MapReduce开发人员也能编写数据查询语句,然后这些语句被翻译为Hadoop上面的MapReduce任务。像Pig一样,Hive作为一个抽象层工具,吸引了很多熟悉SQL而不是Java编程的数据分析师。
  • Sqoop是一个连接工具,用于在关系数据库、数据仓库和Hadoop之间转移数据。Sqoop利用数据库技术描述架构,进行数据的导入/导出;利用MapReduce实现并行化运行和容错技术。
  • Flume提供了分布式、可靠、高效的服务,用于收集、汇总大数据,并将单台计算机的大量数据转移到HDFS。它基于一个简单而灵活的架构,并提供了数据流的流。它利用简单的可扩展的数据模型,将企业中多台计算机上的数据转移到Hadoop中。

2. Apache 版本衍化

Apache Hadoop版本分为两代,我们将第一代Hadoop称为Hadoop 1.0,第二代Hadoop称为Hadoop2.0。第一代Hadoop包含三个大版本,分别是0.20.x,0.21.x和0.22.x,其中,0.20.x最后演化成1.0.x,变成了稳定版,而0.21.x和0.22.x则NameNode HA等新的重大特性。第二代Hadoop包含两个版本,分别是0.23.x和2.x,它们完全不同于Hadoop 1.0,是一套全新的架构,均包含HDFS Federation和YARN两个系统,相比于0.23.x,2.x增加了NameNode HA和Wire-compatibility两个重大特性。

二、Hadoop-2.7.3 伪分布安装

Hadoop安装有如下三种方式:

  • 单机模式:安装简单,几乎不用作任何配置,但仅限于调试用途;
  • 伪分布模式:在单节点上同时启动NameNode、DataNode、JobTracker、TaskTracker、Secondary Namenode等5个进程,模拟分布式运行的各个节点;
  • 完全分布式模式:正常的Hadoop集群,由多个各司其职的节点构成

由于实验环境的限制,本节课程将讲解伪分布模式安装,并在随后的课程中以该环境为基础进行实验。以下为伪分布式环境下在Ubuntu16中配置Hadoop-2.7.3,该配置可以作为其他Linux系统和其他版本的Hadoop部署参考。

1.(配置从这开始)软硬件环境说明

节点使用Ubuntu16系统,创建了一个ubuntu用户,并在系统根目录下创建/app目录,用于存放Hadoop等组件运行包。由于该目录用于安装hadoop等组件程序,用户对ubuntu必须赋予rwx权限(一般做法是root用户在根目录下创建/app目录,并修改该目录拥有者为

ubuntu(chown –R ubuntu:ubuntu /app)。
cd /
sudo mkdir /app
sudo chown -R ubuntu:ubuntu /app

2. 环境搭建

虚拟机操作系统:Ubuntu 16

JDK:1.8.0_231 64位

Hadoop:2.7.3

2.1 设置hosts文件映射

1.设置IP地址与机器名的映射,设置信息如下:

配置主机名对应的IP地址(如在ubuntu用户下,需要使用sudo命令)

sudo vim /etc/hosts

设置:<IP地址> <主机名> 例如:10.2.68.12 3c79302cbf8e hadoop

2.使用ping命令验证设置是否成功

ping hadoop

(CTRL C)终止

2.2 设置操作系统环境

2.2.1 本实验环境已经安装java

java -version

2.2.2 SSH无密码验证配置

1.开启ssh服务

sudo /etc/init.d/ssh restart

2.生成密钥对

使用ssh-keygen –t rsa命令生成密钥对(命令行提示可以一直enter下一步)

ssh-keygen -t rsa

切换到~/.ssh目录下

复制到实验机cd ~/.ssh

加入授权

cat ./id_rsa.pub >> ./authorized_keys

3.验证ssh连接

此时ssh localhost(hadoop)时,无需输入密码就可以直接登陆

ssh hadoop

3. Hadoop环境搭建

3.1 在/app下创建hadoop目录

mkdir /app/hadoop

3.2 下载并解压hadoop安装包

cd /app/hadoop

可以从以下地址下载hadoop安装包到/app/hadoop路径下:

wget http://i9000.net:8888/sgn/LMS/hadoop/hadoop/hadoop-2.7.3.tar.gz

使用以下命令解压

tar –xzvf hadoop-2.7.3.tar.gz

将安装路径hadoop-2.7.3改名为hadoop

mv hadoop-2.7.3 hadoop

3.3 在hadoop安装目录下创建子目录

cd /app/hadoop/hadoop
mkdir tmp
mkdir hdfs
mkdir hdfs/name
mkdir hdfs/data

3.4设置环境变量

1.修改hadoop环境变量

sudo vim /etc/bash.bashrc

按照下图修改环境变量

2.使用source命令重新编译

source /etc/bash.bashrc

3.使用hadoop命令测试

hadoop version

3.5 配置hadoop-env.sh

cd /app/hadoop/hadoop/etc/hadoop
vim  hadoop-env.sh

修改JAVA_HOME变量的值

3.6 配置core-site.xml(伪分布式安装)

1.使用如下命令打开core-site.xml配置文件

vim core-site.xml

2.在配置文件中,按照如下内容进行配置

<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:8020</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/app/hadoop/hadoop/tmp</value>
  </property>
</configuration>

3.7 配置hdfs-site.xml

1.使用如下命令打开hdfs-site.xml配置文件

vim hdfs-site.xml

2.在配置文件中,按照如下内容进行配置

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
    <name>dfs.name.dir</name>
    <value>/app/hadoop/hadoop/hdfs/name</value>
  </property>
  <property>
    <name>dfs.data.dir</name>
    <value>/app/hadoop/hadoop/hdfs/data</value>
  </property>
</configuration>

3.8 配置mapred-site.xml

1.使用如下命令打开mapred-site.xml配置文件

mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml

2.在配置文件中,按照如下内容进行配置

<configuration>
  <property>
    <name>mapred.job.tracker</name>
    <value>hadoop:9001</value>
  </property>
</configuration>

3.9 格式化namenode

使用如下命令进行格式化namenode:

hadoop namenode -format

3.10 启动hadoop

cd /app/hadoop/hadoop/sbin

执行启动脚本

./start-all.sh

3.11 用jps检验各后台进程是否成功启动

使用jps命令查看,显示6个进程正确

jps

至此实验结束。

三、其他

编辑模式,dd删除这一行

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
5天前
|
存储 分布式计算 资源调度
两万字长文向你解密大数据组件 Hadoop
两万字长文向你解密大数据组件 Hadoop
26 11
|
2月前
|
图形学 数据可视化 开发者
超实用Unity Shader Graph教程:从零开始打造令人惊叹的游戏视觉特效,让你的作品瞬间高大上,附带示例代码与详细步骤解析!
【8月更文挑战第31天】Unity Shader Graph 是 Unity 引擎中的强大工具,通过可视化编程帮助开发者轻松创建复杂且炫酷的视觉效果。本文将指导你使用 Shader Graph 实现三种效果:彩虹色渐变着色器、动态光效和水波纹效果。首先确保安装最新版 Unity 并启用 Shader Graph。创建新材质和着色器图谱后,利用节点库中的预定义节点,在编辑区连接节点定义着色器行为。
101 0
|
2月前
|
数据采集 人工智能 安全
AI大数据处理与分析实战--体育问卷分析
本文是关于使用AI进行大数据处理与分析的实战案例,详细记录了对深圳市义务教育阶段学校“每天一节体育课”网络问卷的分析过程,包括数据概览、交互Prompt、代码处理、年级和学校维度的深入分析,以及通过AI工具辅助得出的分析结果和结论。
|
2月前
|
分布式计算 资源调度 Hadoop
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
|
2月前
|
SQL 分布式计算 数据可视化
基于Hadoop的大数据可视化方法
【8月更文第28天】在大数据时代,有效地处理和分析海量数据对于企业来说至关重要。Hadoop作为一个强大的分布式数据处理框架,能够处理PB级别的数据量。然而,仅仅完成数据处理还不够,还需要将这些数据转化为易于理解的信息,这就是数据可视化的重要性所在。本文将详细介绍如何使用Hadoop处理后的数据进行有效的可视化分析,并会涉及一些流行的可视化工具如Tableau、Qlik等。
65 0
|
2月前
|
存储 分布式计算 Hadoop
|
2月前
|
存储 SQL 分布式计算
Hadoop生态系统概述:构建大数据处理与分析的基石
【8月更文挑战第25天】Hadoop生态系统为大数据处理和分析提供了强大的基础设施和工具集。通过不断扩展和优化其组件和功能,Hadoop将继续在大数据时代发挥重要作用。
|
2月前
|
资源调度 分布式计算 Hadoop
揭秘Hadoop Yarn背后的秘密!它是如何化身‘资源大师’,让大数据处理秒变高效大戏的?
【8月更文挑战第24天】在大数据领域,Hadoop Yarn(另一种资源协调者)作为Hadoop生态的核心组件,扮演着关键角色。Yarn通过其ResourceManager、NodeManager、ApplicationMaster及Container等组件,实现了集群资源的有效管理和作业调度。当MapReduce任务提交时,Yarn不仅高效分配所需资源,还能确保任务按序执行。无论是处理Map阶段还是Reduce阶段的数据,Yarn都能优化资源配置,保障任务流畅运行。此外,Yarn还在Spark等框架中展现出灵活性,支持不同模式下的作业执行。未来,Yarn将持续助力大数据技术的发展与创新。
31 2
|
2月前
|
分布式计算 Hadoop 大数据
Spark 与 Hadoop 的大数据之战:一场惊心动魄的技术较量,决定数据处理的霸权归属!
【8月更文挑战第7天】无论是 Spark 的高效内存计算,还是 Hadoop 的大规模数据存储和处理能力,它们都为大数据的发展做出了重要贡献。
70 2
|
2月前
|
存储 SQL 分布式计算
揭秘Hadoop:如何用这个超级工具征服大数据的海洋
【8月更文挑战第7天】Hadoop是一个强大的分布式系统基础架构
42 1

热门文章

最新文章

下一篇
无影云桌面