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

简介: 大数据行业部署实战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删除这一行

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
15天前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
37 2
|
2月前
|
分布式计算 Hadoop Java
Hadoop快速入门——第一章、认识Hadoop与创建伪分布式模式(Hadoop3.1.3版本配置)
Hadoop快速入门——第一章、认识Hadoop与创建伪分布式模式(Hadoop3.1.3版本配置)
65 0
|
15天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
3天前
|
存储 分布式计算 Hadoop
基于Hadoop分布式数据库HBase1.0部署及使用
基于Hadoop分布式数据库HBase1.0部署及使用
|
11天前
|
分布式计算 资源调度 Hadoop
hadoop的伪分布式搭建-带网盘
hadoop的伪分布式搭建-带网盘
18 3
|
16天前
|
机器学习/深度学习 人工智能 安全
Azure Databricks实战:在云上轻松进行大数据分析与AI开发
【4月更文挑战第8天】Databricks在大数据分析和AI开发中表现出色,简化流程并提高效率。文中列举了三个应用场景:数据湖分析、实时流处理和AI机器学习,并阐述了Databricks的一体化平台、云原生弹性及企业级安全优势。博主认为,Databricks提升了研发效能,无缝集成Azure生态,并具有持续创新潜力,是应对大数据挑战和加速AI创新的理想工具。
41 0
|
17天前
|
SQL 分布式计算 Hadoop
利用Hive与Hadoop构建大数据仓库:从零到一
【4月更文挑战第7天】本文介绍了如何使用Apache Hive与Hadoop构建大数据仓库。Hadoop的HDFS和YARN提供分布式存储和资源管理,而Hive作为基于Hadoop的数据仓库系统,通过HiveQL简化大数据查询。构建过程包括设置Hadoop集群、安装配置Hive、数据导入与管理、查询分析以及ETL与调度。大数据仓库的应用场景包括海量数据存储、离线分析、数据服务化和数据湖构建,为企业决策和创新提供支持。
59 1
|
18天前
|
分布式计算 Hadoop Java
centos 部署Hadoop-3.0-高性能集群(一)安装
centos 部署Hadoop-3.0-高性能集群(一)安装
17 0
|
1月前
|
消息中间件 SQL 分布式计算
大数据Hadoop生态圈体系视频课程
熟悉大数据概念,明确大数据职位都有哪些;熟悉Hadoop生态系统都有哪些组件;学习Hadoop生态环境架构,了解分布式集群优势;动手操作Hbase的例子,成功部署伪分布式集群;动手Hadoop安装和配置部署;动手实操Hive例子实现;动手实现GPS项目的操作;动手实现Kafka消息队列例子等
20 1
大数据Hadoop生态圈体系视频课程
|
4月前
|
分布式计算 资源调度 搜索推荐
《PySpark大数据分析实战》-02.了解Hadoop
大家好!今天为大家分享的是《PySpark大数据分析实战》第1章第2节的内容:了解Hadoop。
48 0
《PySpark大数据分析实战》-02.了解Hadoop

热门文章

最新文章