IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 大数据Hadoop安装超级详细介绍 -> 正文阅读

[大数据]大数据Hadoop安装超级详细介绍

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、Hadoop入门

1.1Hadoop简介

Hadoop是Apache是旗下的一个开源软件平台,广泛的来说Hadoop是一个生态圈,用来对海量数据进行分布式处理。Hadoop生态圈如下图所示:
在这里插入图片描述

1.2Hadoop组成

在这里插入图片描述
Hadoop Common:基础功能类库支持其他 Hadoop 模块
Hadoop Distributed File System(HDFS):一个分布式文件系统,它提供了高通量访问应用程序
数据
Hadoop YARN:一个集群作业调度和资源管理的框架
Hadoop MapReduce:YARN-based 系统并行处理大型数据集。(版本升级以 YARN 做资
源管理器的 Hadoop)

1.3Haoop其他组件介绍

1、 Ambari:一个基于 web 的工具配置,管理和监视 Apache Hadoop 集群,包括支持
Hadoop 的 Hadoop HDFS,Hadoop MapReduce,Hive,HCatalog,HBase,ZooKeeper,
Oozie, Pig and Sqoop。Ambari 还提供了一个仪表板查看集群健康,如热图和能够有
效看到 MapReduce,Pig 和 Hive 应用的特性来诊断性能特征以用户友好的方式。
在这里插入图片描述
2、Avro是apache Avro的简称,其实是一个独立于编程语言的数据序列化系统,设计用于支持大批量数据交换的应用。hadoop自身提供了一个轻量级的序列化的系统Writable.虽然这个Writable相比Java提供的系列化Serializable更加轻便简洁好用,但是Writable类型也有很多不足,比如缺乏语言的可移植性,不能让Writable类型处理的数据在java,C, C++,python等多种语言之前相互转换。
3、 Cassandra:一个没有单点故障可伸缩的多主机数据库。Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与AmazonDynamo的完全分布式的架构于一身。
4、 Chukwa:chukwa 是一个开源的用于监控大型分布式系统的数据收集系统。这是构建在 hadoop 的 hdfs 和 map/reduce 框架之上的,继承了 hadoop 的可伸缩性和鲁棒性。Chukwa 还包含了一个强大和灵活的工具集,可用于展示、监控和分析已收集的数据。
5、HBase:一个可扩展的分布式数据库,支持大型表的结构化数据存储。
在这里插入图片描述
6、Hive:一个数据仓库基础设施,提供了数据总结和特别查询。能将SQL语句转变成MapReduce任务来执行。CLI是shell命令行,将元数据metastore(database、表明、表列等等)存储在MySQL中,Driver驱动模块负责HQL查询的实现(生成内置的MapReduce任务执行),数据最终存储在hdfs中;

在这里插入图片描述
7、 Mahout:一个可扩展的机器学习和数据挖掘库。提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用 Apache Hadoop 库,Mahout 可以有效地扩展到云中。
在这里插入图片描述
8、Pig:一个高级数据流语言和并行计算的执行框架。 pig为大型数据集的处理提供了更高层次的抽象。MapReduce使程序员能够自定定义连续执行的map和reduce函数。但是,数据处理通常需要多个mapreduce过程才能实现,所以将数据处理要求改写成mapreduce模式很复杂的。
9、Spark:Hadoop 数据的快速、通用的计算引擎。Spark 提供了一个简单的和丰富的编
程模型,支持广泛的应用程序,包括 ETL、机器学习、流处理和图计算。
在这里插入图片描述

10·tez:一个广义数据流编程框架,基于 Hadoop 的 YARN,它提供了一个功能强大且灵
活的引擎来执行任意 DAG(有向无环图)的任务来处理批处理和交互用例的数据。Tez
正在被 Hive, Pig 和其他框架 Hadoop 生态系统,以及其他商业软件(例如 ETL 工
具),以取代 Hadoop MapReduce作为底层执行引擎。
11、 ZooKeeper:一个高性能的分布式应用程序的协调服务。
12、presto:Presto是一个开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节。Presto的设计和编写完全是为了解决像Facebook这样规模的商业数据仓库的交互式分析和处理速度的问题。注意:虽然Presto可以解析SQL,但它不是一个标准的数据库。不是MySQL、Oracle的代替品,也不能用来处理在线事务(OLTP)。响应时间小于1秒到几分钟的场景。Presto是一个运行在多台服务器上的分布式系统。完整安装包括一个Coordinator和多个Worker。由客户端提交查询,从Presto命令行CLI提交到Coordinator。Coordinator进行解析,分析并执行查询计划,然后分发处理队列到Worker。
在这里插入图片描述

13、Apache Kylin是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。Kylin的主要特点包括支持SQL接口、支持超大规模数据集、亚秒级响应、可伸缩性、高吞吐率、BI工具集成等。
在这里插入图片描述
14、Azkaban是由Linkedin公司推出的一个批量工作流任务调度器,主要用于在一个工作流内以一个特定的顺序运行一组工作和流程,它的配置是通过简单的key:value对的方式,通过配置中的dependencies 来设置依赖关系。Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。
15、Druid 是一个分布式的支持实时分析的数据存储系统(Data Store)。美国广告技术公司MetaMarkets 于2011 年创建了Druid 项目,并且于2012 年晚期开源了Druid 项目。Druid 设计之初的想法就是为分析而生,它在处理数据的规模、数据处理的实时性方面,比传统的OLAP 系统有了显著的性能改进。
16、Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。
17、Oozie:Oozie是一个管理Hdoop作业(job)的工作流程调度管理系统。

二、Hadoop集群安装前准备

1.克隆虚拟机

参考之前的文章:https://blog.csdn.net/qq_36390552/article/details/118328459?spm=1001.2014.3001.5501

2.安装java

下面展示一些 内联代码片

卸载现有JDK
1.查询是否安装Java软件
[hadoop@hadoop02 opt]$ rpm -qa | grep java
2.如果安装的版本低于1.7,卸载该JDK:
[hadoop@hadoop02 opt]$ sudo rpm -e 软件包
3.查看JDK安装路径:
[hadoop@hadoop02 ~]$ which java 或者是pwd命令进行查看
4.导入jdk安装包linux版本
5.解压JDK到/usr/local/java/jdk1.8.0_73/bin/java目录下
[hadoop@hadoop02 software]$ tar -zxvf jdk-8u144-linux-x64.tar.gz -C /usr/local/java/jdk1.8.0_73/bin/java
6.配置JDK环境变量,打开etc/profile 在文件中添加 #JAVA_HOME
export JAVA_HOME= /usr/local/java/jdk1.8.0_73/bin/java
export PATH=$PATH:$JAVA_HOME/bin
7.保存后退出
:wq
8.让修改后的文件生效
[hadoop@hadoop02 jdk1.8.0_144]$ source /etc/profile
9.测试JDK是否安装成功
[hadoop@hadoop02 jdk1.8.0_144]# java -version
java version "1.8.0_144"

在这里插入图片描述

3.修改主机名

在 root 账号下用命令:vi /etc/sysconfig/network
在这里插入图片描述

4.设置系统默认启动级别

vi /etc/inittab ,改默认启动级别,3 是多用户模式,并且不启动图形界面
在这里插入图片描述

5.配置Hadoop用户权限

下面展示一些 内联代码片

配置 hadoop 用户 sudoer 权限
 在 root 账号下, 找到root ALL=(ALL) ALL 这一行,然后在他下面添加一行:hadoop ALL=(ALL)ALL
保存,退出

6.关闭防火墙

关闭防火墙:service iptables stop,同时关闭selinux,改/etc/selinux/config 配置文件中的 SELINUX=disabled改为disabled

7.添加内网域名映射

vi/etc/hosts

在这里插入图片描述

8.同步服务器时间

1、使用 date 命令手动简单同步一下
命令:date -s "2021-08-04 11:11:11"
修改时间后,需要写入硬件 bios 才能在重启之后依然生效
命令:hwclock -w
2、配置 crontab 服务,用 ntpdate 定时同步时间(推荐方式)
ntpdate 202.120.2.101

9.配置免密登录

1) 在 hadoop 登录状态下,输入命令 ssh-keygen 或者 ssh-keygen -t rsa
2) 之后你会发现,在/home/hadoop/.ssh 目录下生成了公钥文件
3)复制公钥文件到授权列表,cat ./id_rsa.pub >> authorized_keys
4)修改文件权限,chmod 600 ./authorized_keys
5)将该授权文件 authorized_keys 文件复制到 slave 节点,scp ./authorized_keys hadoop@hadoop02:~/.ssh/
6)检测登录 ssh hadoop03

10.同步分发工具

10.1 scp(secure copy)安全拷贝,scp可以实现服务器与服务器之间的数据拷贝。(from server1 to server2)
scp    -r          $pdir/$fname              $user@hadoop$host:$pdir/$fname
命令   递归       要拷贝的文件路径/名称    目的用户@主机:目的路径/名称
在hadoop02上,将hadoop03服务器上的/opt/module目录下的软件拷贝到hadoop03上。
[hadoop02@hadoop02 opt]$sudo scp -r hadoop02@hadoop02:/opt/module root@hadoop03:/opt/module
10.2 rsync 远程同步工具,rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。
rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去。

三、Hadoop集群安装

3.1 hadoop下载地址:https://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/

3.2 hadoop分布式集群安装

3.2.1集群部署规划

在这里插入图片描述

3.2.2安装详细过程

1) 1、修改 hadoop-env.sh 
hadoop运行环境,配置环境变量的,一般有Java home,hadoopconfdir等这些软件、配置目录,有运行过程中使用的变量
--------------------------------
 export JAVA_HOME=/usr/java/jdk1.8.0_73
 22、修改 core-site.xml
 集群全局参数	用于定义系统级别的参数,如HDFS URI 、Hadoop的临时目录等。namenode地址,9000RPC通信端口。
 ----------------------------------
 <property>
 <name>fs.defaultFS</name>
 <value>hdfs://hadoop02:9000</value> 
</property>
<property>
 <name>hadoop.tmp.dir</name>
 <value>/home/hadoop/hadoopdata</value>
</property>
------------------------------------
 33、修改 hdfs-site.xml
 如名称节点和数据节点的存放位置、文件副本的个数、文件的读取权限等,下面设置的分别是主节点的存储目录,从节点的存储目录, hadoop的备份系数,dfs.replication这个参数是个client参数,即node level参数,一般不超过3个。
 --------------------------
 <property>
 <name>dfs.namenode.name.dir</name>
 <value>/home/hadoop/hadoopdata/name</value>
</property>
<property>
 <name>dfs.datanode.data.dir</name>
 <value>/home/hadoop/hadoopdata/data</value>
</property>
<property>
 <name>dfs.replication</name>
 <value>2</value>
</property>
<property>
 <name>dfs.secondary.http.address</name>
 <value>hadoop03:50090</value>
</property>
-------------------------------------------------
4、修改 mapred-site.xml(集群只有 mapred-site.xml.template,可以从这个文件进行复
制,或者直接改名也可)MapReduce使用的框架,默认改为yarn
 <property>
 <name>mapreduce.framework.name</name>
 <value>yarn</value>
</property>
-------------------------------------------
5、修改 yarn-site.xml   ------因为集群部署中resourcemanager部署在04,声明位置。
 <property>
 <name>yarn.resourcemanager.hostname</name>
 <value>hadoop04</value>
</property>
<property>
 <name>yarn.nodemanager.aux-services</name>
 <value>mapreduce_shuffle</value>
</property>
 6、修改 slaves 文件,添加以下内容,该内容是从节点列表
 hadoop02
 hadoop03
 hadoop04
 7、分发安装包到各个节点,Hadoop 集群的每个节点都需要安装 Hadoop 安装包
 scp -r hadoop-2.7.2 hadoop02:$PWD
 scp -r hadoop-2.7.2 hadoop03:$PWD
 8、在 HDFS 主节点上执行命令进行初始化 namenode
 bin/hadoop namenode -format
 查看最后是否初始化成功,如下图所示。
 9HDFS 上的主节点启动 HDFS
  sbin/start-dfs.sh
  10、检查集群是否安装成功
  hadoop fs -ls /

在这里插入图片描述


检查是否启动成功,如下图所示即可 ![在这里插入图片描述](https://img-blog.csdnimg.cn/bbaa5f6919344edea0175d0c63edb83c.png)

总结

以上就是hadoop安装的全部过程,在补充一些命令。

1、启动 namenode 或者 datenode
 sbin/hadoop-daemon.sh start datanode
 sbin/hadoop-daemon.sh start namenode
 2、启动 yarn nodemanager
 sbin/yarn-daemon.sh start nodemanager
 sbin/yarn-daemon.sh start resourcemanager
 3、hdfs 集群信息 web 管理界面地址
 http://hadoop02:50070
 4、mapreduce 运行状态信息 web 管理界面
 http://hadoop04:8088
 5、查看集群状态
 hadoop dfsadmin -report
 hdfs dfsadmin -report(推荐用这个)

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-05 17:25:10  更:2021-08-05 17:25:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 15:34:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码