大数据行业部署实战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;
目录
相关文章
|
2月前
|
分布式计算 DataWorks MaxCompute
DataWorks中odps到容器部署starrocks的单表同步遇到写入问题
【1月更文挑战第6天】【1月更文挑战第29篇】DataWorks中odps到容器部署starrocks的单表同步遇到写入问题
27 3
|
3月前
|
SQL 分布式计算 数据可视化
滴滴出行大数据数仓实战
滴滴出行大数据数仓实战
66 0
滴滴出行大数据数仓实战
|
25天前
|
分布式计算 Hadoop Java
Hadoop快速入门——第一章、认识Hadoop与创建伪分布式模式(Hadoop3.1.3版本配置)
Hadoop快速入门——第一章、认识Hadoop与创建伪分布式模式(Hadoop3.1.3版本配置)
25 0
|
3月前
|
分布式计算 Hadoop Java
我用免费白拿的服务器搭建了一台基于CentOS7的Hadoop3.x伪分布式环境
我用免费白拿的服务器搭建了一台基于CentOS7的Hadoop3.x伪分布式环境
42 0
|
1月前
|
分布式计算 大数据 Java
Spark 大数据实战:基于 RDD 的大数据处理分析
Spark 大数据实战:基于 RDD 的大数据处理分析
57 0
|
3月前
|
存储 分布式计算 Hadoop
hadoop 安装系列教程二——伪分布式
hadoop 安装系列教程二——伪分布式
25 0
|
3月前
|
分布式计算 资源调度 搜索推荐
《PySpark大数据分析实战》-02.了解Hadoop
大家好!今天为大家分享的是《PySpark大数据分析实战》第1章第2节的内容:了解Hadoop。
32 0
《PySpark大数据分析实战》-02.了解Hadoop
|
3月前
|
存储 搜索推荐 算法
【大数据毕设】基于Hadoop的音乐推荐系统的设计和实现(六)
【大数据毕设】基于Hadoop的音乐推荐系统的设计和实现(六)
103 0
|
3月前
|
分布式计算 Hadoop Java
【大数据实训】基于Hadoop的2019年11月至2020年2月宁波天气数据分析(五)
【大数据实训】基于Hadoop的2019年11月至2020年2月宁波天气数据分析(五)
40 1
|
3月前
|
存储 分布式计算 搜索推荐
【大数据毕设】基于Hadoop的音乐管理系统论文(三)
【大数据毕设】基于Hadoop的音乐管理系统论文(三)
56 0

热门文章

最新文章