栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

大数据技术——Hadoop(学习笔记1)

大数据技术——Hadoop(学习笔记1)

大数据技术——Hadoop
    Hadoop概述Hadoop 运行环境搭建

1.Hadoop概述

1.1Hodoop是什么?

1)Hadoop 是一个由Apache基金会所开发的分布式系统基础框架。

2)主要功能是处理海量数据的存储和海量数据的分析计算问题。

3)在广义上来说,Hadoop并不是单指一个技术和工具,它代表一个更广泛的概念——Hadoop生态圈。

1.2Hadoop发展历史(了解)

创始人:Doug Cutting

Hadoop的大数据思想之源是来自Google在大数据方面的的三篇论文

GFS --->HDFS

Map-Reduce --->MR

BigTable --->Hbase

1.3Hadoop三大发行版本(了解)

Hadoop三大发行版本:Apache、Cloudera、Hortonworks。

Apache 版本最原始(最基础)的版本,对于入门学习最好。2006

Cloudera 内部集成了很多大数据框架,对应产品 CDH。2008

Hortonworks 文档较好,对应产品 HDP。2011

Hortonworks 现在已经被 Cloudera 公司收购,推出新的品牌 CDP。

    4Hadoop优势

(1)高可靠性:Hadoop底层维护多个数据副本,所以即便Hadoop某个计算元素或储存故障,也不会导致数据的丢失。

(2)高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。

(3)高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。

(4)高容错性:能够自动将失败的任务重新分配。

1.5 Hadoop组成

这边给大家强化一个关于面试或者刷题中出现的一个问题:

所谓的 Hadoop1.X、2.X、3.X的区别?

1.5.1 HDFS框架概述

Hadoop Distributed File System,简称 HDFS,是一个分布式文件系统。

HDFS中包含了主要的三个组件:

1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、

文件权限),以及每个文件的块列表和块所在的DataNode等。(记录每个文件块存储的位置)

2)DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。 (具体存储数据的位置)

3)Secondary NameNode(2nn):每隔一段时间对NameNode元数据备份。

1.5.2 YARN 架构概述

Yet Another Resource Negotiator 简称 YARN ,另一种资源协调者,是 Hadoop 的资源管理器。

1.5.3 MapReduce 架构概述

MapReduce 将计算过程分为两个阶段:Map 和 Reduce

1)Map 阶段并行处理输入数据

2)Reduce 阶段对 Map 结果进行汇总

1.5.4 HDFSYARNMapReduce 三者关系

1.6 大数据技术生态体系

图中涉及的技术名词解释如下:

1)Sqoop:Sqoop 是一款开源的工具,主要用于在 Hadoop、Hive 与传统的数据库(MySQL)

间进行数据的传递,可以将一个关系型数据库(例如 :MySQL,Oracle 等)中的数据导进

到 Hadoop 的 HDFS 中,也可以将 HDFS 的数据导进到关系型数据库中。

2)Flume:Flume 是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,

Flume 支持在日志系统中定制各类数据发送方,用于收集数据;

3)Kafka:Kafka 是一种高吞吐量的分布式发布订阅消息系统;

4)Spark:Spark 是当前最流行的开源大数据内存计算框架。可以基于 Hadoop 上存储的大数

据进行计算。

  1. Flink:Flink 是当前最流行的开源大数据内存计算框架。用于实时计算的场景较多。

6)Oozie:Oozie 是一个管理 Hadoop 作业(job)的工作流程调度管理系统。

7)Hbase:Hbase 是一个分布式的、面向列的开源数据库。Hbase 不同于一般的关系数据库,

它是一个适合于非结构化数据存储的数据库。

8)Hive:Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张

数据库表,并提供简单的 SQL 查询功能,可以将 SQL 语句转换为 MapReduce 任务进行运

行。其优点是学习成本低,可以通过类 SQL 语句快速实现简单的 MapReduce 统计,不必开

发专门的 MapReduce 应用,十分适合数据仓库的统计分析。

9)ZooKeeper:它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、

名字服务、分布式同步、组服务等。

1.7 系统项目框架

2.Hadoop 运行环境搭建(开发重点)

2.1 模板虚拟机环境准备

0)安装模板虚拟机,IP 地址 192.168.10.100、主机名称 hadoop100、内存 4G、硬盘 50G

1)VMware的安装

硬件部分的安装

虚拟机向导:自定义 因为我们要根据自己的需求配置虚拟机 提示安装操作系统:选择否

手动选择操作系统: Linux——CentOS7

虚拟机名称:Hadoop100 ,位置安装

处理器核数设置:处理器的数量2、每个处理的内核数量:根据自身电脑的配置选择

虚拟机内存:4g

网络类型选择 NAT模式

磁盘大小的设置:20-50g 这里最好是50G

这里点击浏览也可以选择存放虚拟机的具体位置,当然不设置也没关系

下一步后,会展示相应的设置完成的属性,点击完成即可

如果安装失败请确认你的电脑是否开启了 虚拟化(在任务管理器中可以查看)

软件部分的安装:

CentOS 系统的安装

安装操作系统前,确认有CentOS文件!!!

确认后,点击模板虚拟机中的CD/DVD

在虚拟机设置中,选择好 启动时连接 在连接中选择使用 ISO影像文件位置:就是第一步 CentOS7 存放的位置

完成后选择 开启虚拟机

读取画面(在黑窗口时可以 ctrl+alt 鼠标切换)

等待下面读数完毕,后进入到向导界面——此处选择中文

安装完成后 :

1.时间设置

选择好与你电脑相同的时间并更改日期切记,设置好后点击完成

  1. 软件选择:选择桌面版安装   

 

此处因为我们进行的是教学 所以 选择 GNOME桌面 ,方便我们学习 ——点击完成

  1. 安装的位置:我要分配分区

选择 我要分配——点击完成

  1. 手动分区

完成后,会跳转到手动分区界面 如下图

选择 + ,这里我们要添加挂点

手动分区:/boot 1g 启动内容需求内存(添加完毕后 文件系统:ext4)

点击添加挂点

swap(如果内存不够时候,借用硬盘 冒充 内存)4g

点击添加挂载

、 根目录 / 设置剩余的内存量 继续 + 添加挂点

期望容量=设置虚拟机的总容量 - /boot(该挂点选择的空间 1g) -  swap(该挂点选择的空间 4g)

完成后添加挂点

  1.  网络主机名称:hadoop100  、以太网-打开

所有完成后

  1. 安装过程中,root密码设置 123456

  1. 重启

安装完成后 重启 虚拟机

重启后,许可证点击 同意,完成后,点击右下角 完成配置

 

  1. 普通账号名设置 dashuju(可根据自身喜好) 密码 和root一样

配置IP地址

这里我们需要设置3个IP地址  hadoop100 VMware Windows

  1. VMware — 编辑-虚拟网络编辑器-找到VMnet8—底部这是子网IP 192.168.10.0

NET设置:网关IP- 192.168.10.2  

点击更改设置后 会重新进入

修改完成后点击确定

 

 VMware设置完成

  1. Windows IP设置 右下角 网络右键

-VMnet8-属性

-找到 internet 协议版本4-打开

IP地址设置:192.16.10.1

设置默认网关: 192.168.10.2

首选DNS服务器:192.168.10.2

备用DNS服务器:8888  公网解析器  

点击确定退出

 Windows设置完成

  1. hadoop100IP设置 打开终端

进入root模式: 代码: su root 密码输入

进入后进入IP设置代码: vim /etc/sysconfig/network-scripts/ifcfg-ens33

输入完成后点击回车

找到:BOOTPROTO-设置-static  

追加内容:IPADDR=192.168.10.100

#网关

GATEWAY=192.168.10.2

#域名解析器

DNS1=192.168.10.2

ESC- :wq-回车

主机名称修改:输入代码- vim /etc/hostname

修改为 hadoop100,如果就会hadoop100 就不用任何操作了

 如果还是hadoopESC- :q!-回车 退出

 如果不是hadoop ,修改为hadoop 100 ESC- :wq 回车 退出

主机名称映射:为了在防止后续升级配置后 IP地址的更改 导致我们需要到处找 原先的IP地址修改需要我们一个一个去更改。故设置主机名称映射

192.168.10.100  Hadoop100 (相当全局变量)

终端代码:vim /etc/hosts

插入:

192.168.10.100 hadoop100

192.168.10.101 hadoop101

192.168.10.102 hadoop102

192.168.10.103 hadoop103

192.168.10.104 hadoop104

192.168.10.105 hadoop105

192.168.10.106 hadoop106

192.168.10.107 hadoop107

192.168.10.108 hadoop108

ESC- :wq 回车 退出

重启:reboot

测试:ifconfig

ping 外网 测试是不是能ping通

hostname 检查

Xshell远程访问工具配置

安装Xshell 工具

安装过程中如果提示用户名和公司名,如下图操作

安装完成后的界面

  1. 远程连接服务器

显示如下图,则远程连接服务器成功,接收并保存

  1. 修改 电脑系统的host文件,用来映射主机文件

添加完成后 把修改的host文件复制到

替换原来的host文件(此处以win10为例)

完成上述操作后,重新创建 以 hadoop100命名的 远程控制 连接

如第一步测试连接步骤一样,知识名称改为 hadoop100

3.安装Xftp 7

点击完成后,显示的界面如下图

  1. 安装仓库, epel-release

Epel-release ,全程 Extra Packages for Enterprise Linux 。言简意赅就会为操作系统提供安装包,相当于一个存放软件的仓库

指令代码: yum install -y epel-release

安装过程中 我们会发现 有一个PID 被锁定

这里我们直接杀死该进程

kill -9 进程号

再吃输入 安装指令yum install -y epel-release

  1. 防火墙关闭

这里给大家一个概念,防火墙是每台电脑都会有的一套保护程序,虚拟机(服务器都不例外,当然不排除一些安装完成后特意阉割掉防火墙的服务器或者虚拟机),在我们开发大数据项目的时候,分为两种情况;1.按照公司需求逐台安装防火墙保护每个服务器安全。2.在所有服务器集群的外部架设防火墙,控制外网访问,保护服务器安全。

操作:

输入指令:systemctl stop firewalld

systemctl disable firewalld.service

下图为关闭后的显示

  1. 给普通账户添加权限:

我们在平常操作中都是用到普通账户操作的,所以为了方便使用sudo执行 root权限命令

(ctrl+l)

指令代码:vim  /etc/sudoers

找到如图位置

复制 root ALL=(ALL)   ALL 这行

操作 yy复制  p黏贴

把前面的 root 修改为你的 普通账号名如: dashuju

这里还有一个修改: 我们修改 每次使用普通用户切换到root账户的时候 不需要输入密码,则修改为

:wq! 强制执行

测试:

指令:  cd /opt/

        ll  ( 文件权限标志 链接的文件数 root 表示用户 root 表示用户所在的组 6 表示文件大小(字节)  表示最 后修改的日期  文件名)

        exit

cd /opt/

ll

rm -rf rh/  (执行删除 rh 文件夹)

sudo rm -rf rh/

sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令

创建文件夹:

指令: sudo mkdir module

自行试验: 在opt/ 下 创建 software 文件夹  显示    

更改完毕后我们发现还是在 root 和 root组下

接下来把文件夹更改到 普通账户下 和 普通账户组总

指令代码: sudo chown dashuju:dahuju module/ sofware/

结果

  1. 卸载相应自带的 jdk(卸载前请进入 root模式)

首先查看是否有包含java名的文件,通过指令过滤

指令:rpm -qa | grep -i java

过滤完毕后我们要逐步删除 所有的java文件

指令:rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps

结果:

重启虚拟机 reboot

  1. 克隆

注意在克隆出来的虚拟机上我们要更改相依的 虚拟机名称  IP地址  ,然后通过Xshell进行连接(在更改好克隆的虚拟机后,重启在连接Xshell)。

  1. 安装JDK
  1. 进入 root 模式
  2. 指令进入opt文件夹:cd /opt/  
  3. ll 显示文件夹 ,指令进入 cd software
  4. 打开XFTP,确认好路径:/opt/software
  5. 拖入 hadoop框架 和  JDK linux。
  6. 在命令行解压文件并安装JDK
  7. 解压安装到制定的moduel文件夹,命令输入:

tar -zxvf 文件的完整名字 -C /opt/moduel/

  1. 指令:cd ..   cd..  返回根目录,进入module文件夹查看

  1. 进入JDK文件夹 cd 文件名
  2. 配置环境变量 (sudo vim /etc/profile)

指令:sudo cd /etc/profile

自行创建文件添加 JAVA_HOME 和 PATH

指令:sudo vim my_envy.sh

添加环境变量:

#JAVA_HOME

export JAVA_HOME=/opt/module/jdk1.8.0_212

export PATH=$PATH:$JAVA_HOME/bin

保存后退出文件

这里我们需要重新扫描一遍 profile文件

指令:source /etc/profile

测试: java

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/780475.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号