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

大数据技术——Hadoop

  1. Hadoop概述
  2. 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三大发行版本:ApacheClouderaHortonworks

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

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

Hortonworks 文档较好,对应产品 HDP2011

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

  1. 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中包含了主要的三个组件:

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

文件权限),以及每个文件的块列表块所在的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 HDFS\YARN\MapReduce 三者关系

1.6 大数据技术生态体系

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

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

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

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

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

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

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

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

据进行计算。

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

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

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

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

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

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

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

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

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

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

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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值