bigdata-06-Hadoop了解与配置

简介: bigdata-06-Hadoop了解与配置

2.1-了解Hadoop

快速了解Hadoop


企业常用:1.X版本 2.X版本

为了解决海量数据存储和计算问题应运而生的框架

Hadoop适合海量数据分布式存储和分布式计算

Hadoop作者:Doug Cutting,Hadoop由作者孩子的毛绒玩具来命名。

Hadoop发行版

发行版:原始开源版本进行改造后得到的版本

举例子:安卓系统由多种发行版、比如Oppo、魅族、小米、华为都基于安卓进行定制。

Apache Hadoop:官方版本、对自身运维要求较高。

Cloudera Hadoop:商业版本,对官方版本进行优化、提供界面操作、方便运维管理。

HortonWorks:开源,界面操作,目前以及被CDH收购。

建议:实际工作中进行CDH平台进行搭建。

Hadoop演变历史

1.X到2.X

2.X比1.X多了Yarn进行资源管理、1.X中资源管理和计算都是MapReduce

2.X到3.X

1.Java版本改为java8以上

2.HDFS支持纠删码

3.HDFS支持多个NameNode、提高高可用能力

4.MR任务级本地优化、提升计算效率

5.多重服务默认端口变更

Hadoop三大核心组件:后续详细介绍

HDFS:分布式存储

MapReduce:分布式计算

Yarn:资源管理

2.2-Hadoop3.X伪分布式部署

Apache 清华镜像:https://mirrors.tuna.tsinghua.edu.cn/apache

Hadoop官网:https://hadoop.apache.org/releases.html

选择release

选择3.2.0版本

部署方式

部署方式用2种

一种单机的伪分布式集群:适合电脑性能差

一种分布式集群:适合电脑性能好

安装伪分布式集群

伪分布式集群图

最上面的是Hadoop集群会启动的进程,其中NameNode、SecondaryNameNode、DataNode是HDFS服务的进程,ResourceManager、NodeManager是YARN服务的进程,MapRedcue在这里没有进程,因为它是一个计算框架,等Hadoop集群安装好了以后MapReduce程序可以在上面执行

基础配置:参考往期教程

配置静态Ip

关闭防火墙

设置主机名

免密登录

在这需要大致讲解一下ssh的含义,ssh 是secure shell,安全的shell,通过ssh可以远程登录到远程linux机器。

我们下面要讲的hadoop集群就会使用到ssh,我们在启动集群的时候只需要在一台机器上启动就行,然后hadoop会通过ssh连到其它机器,把其它机器上面对应的程序也启动起来。

但是现在有一个问题,就是我们使用ssh连接其它机器的时候会发现需要输入密码,所以现在需要实现ssh免密码登录。

非对称加密

非对称加密会产生秘钥,秘钥分为公钥和私钥,在这里公钥是对外公开的,私钥是自己持有的。

那么ssh通信的这个过程是,第一台机器会把自己的公钥给到第二台机器,

当第一台机器要给第二台机器通信的时候,

第一台机器会给第二台机器发送一个随机的字符串,第二台机器会使用公钥对这个字符串加密,

同时第一台机器会使用自己的私钥也对这个字符串进行加密,然后也传给第二台机器

这个时候,第二台机器就有了两份加密的内容,一份是自己使用公钥加密的,一份是第一台机器使用私钥加密传过来的,公钥和私钥是通过一定的算法计算出来的,这个时候,第二台机器就会对比这两份加密之后的内容是否匹配。如果匹配,第二台机器就会认为第一台机器是可信的,就允许登录。如果不相等 就认为是非法的机器。

配置单机免密

ssh-keygen -t rsa

把公钥拷贝到需要免密码登录的机器上面

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

然后就可以通过ssh 免密码登录到bigdata01机器了

安装Hadoop

1:上传hadoop安装包

2:解压hadoop安装包

我们看一下bin目录,这里面有hdfs,yarn等脚本,这些脚本后期主要是为了操作hadoop集群中的hdfs和yarn组件的

再来看一下sbin目录,这里面有很多start stop开头的脚本,这些脚本是负责启动 或者停止集群中的组件的。

其实还有一个重要的目录是etc/hadoop目录,这个目录里面的文件主要是hadoop的一些配置文件,还是比较重要的。一会我们安装hadoop,主要就是需要修改这个目录下面的文件。

因为我们会用到bin目录和sbin目录下面的一些脚本,为了方便使用,我们需要配置一下环境变量。

3.修改环境变量

4.进入Hadoop目录

主要修改下面这几个文件:

hadoop-env.sh

core-site.xml

hdfs-site.xml

mapred-site.xml

yarn-site.xml workers

首先修改 hadoop-env.sh 文件,增加环境变量信息,添加到hadoop-env.sh 文件末尾即可。

JAVA_HOME:指定java的安装位置

HADOOP_LOG_DIR:hadoop的日志的存放目录

修改配置文件(所有配置文件信息均在文末网盘)

切换至目录

/data/soft/hadoop-3.2.0/etc/hadoop

Hadoop-env.sh

JAVA_HOME:指定java的安装位置

HADOOP_LOG_DIR:hadoop的日志的存放目录

增加至文件末尾即可

core-site.xml

制定hdfs对应的web访问端口以及临时文件夹

hdfs-site.xml

制定hdfs文件对应的副本数,由于是伪分布式配置,所以副本为1

mapred-site.xml

制定mapreduce资源管理框架为yarn

yarn-site.xml

设置yarn上支持运行的服务和环境变量白名单

workers

修改workers内容为bigdata01

start-dfs.sh/stop-dfs.sh增加配置

切换至/data/soft/hadoop-3.2.0/sbin目录下

新增配置

start-yarn.sh/stop-yarn.sh增加配置

格式化HDFS

如果能看到successfully formatted这条信息就说明格式化成功了。

如果提示错误,一般都是因为配置文件的问题,当然需要根据具体的报错信息去分析问题。

启动伪分布式

启动成功后

还可以通过webui界面来验证集群服务是否正常

如果想通过主机名访问,则需要修改windows机器中的hosts文件

文件所在位置为:C:\Windows\System32\drivers\etc\HOSTS

在文件中增加下面内容,这个其实就是Linux虚拟机的ip和主机名,在这里做一个映射之后,就可以在Windows机器中通过主机名访问这个Linux虚拟机了。

192.168.197.100 bigdata01

注意:如果遇到这个文件无法修改,一般是由于权限问题,在打开的时候可以选择使用管理员模式打开。

Hdfs web UI

至此可以可视化操作hdfs

Yarn webUI

伪分布式环境需要的配置文件内容

链接:https://pan.baidu.com/s/1N-A1LyS17hWhaZzwIOiN1A?pwd=0n71

提取码:0n71

--来自百度网盘超级会员V7的分享

2.3-Hadoop分布式环境部署

集群规划

伪分布集群搞定了以后我们来看一下真正的分布式集群是什么样的

看一下这张图,图里面表示是三个节点,左边这一个是主节点,右边的两个是从节点,hadoop集群是支持主从架构的。

不同节点上面启动的进程默认是不一样的。

下面我们就根据图中的规划实现一个一主两从的hadoop集群

环境准备:三个节点

bigdata01 192.168.197.101

bigdata02 192.168.197.102

bigdata03 192.168.197.103

注意:每个节点的基础环境都要先配置好,先把ip、hostname、firewalld、ssh免密码登录、JDK这些基础环境配置好

配置hosts

分别修改bigdata01、bigdata03、bigdata03 hosts文件

集群时间同步

三台机器都要同步:注意 ,时间同步是重要概念

默认是没有ntpdate命令的,需要使用yum在线安装,

执行命令 yum install -y ntpdate

三台都要下载

然后手动执行ntpdate -u ntp.sjtu.edu.cn 确认是否可以正常执行

在三台节点上都和sjtu时间进行同步

完成bigdata01到02和03号机的免密

首先在bigdata01机器上执行下面命令,将公钥信息拷贝到两个从节点

然后在bigdata02和bigdata03上执行

cat ~/authorized_keys >> ~/.ssh/authorized_keys

验证效果看看是否可以从bigdata01免密登录到bigdata02和03

提问:是否用必要实现从节点之间免密?

答:没必要,主节点能够登录从节点即可

主节点配置Hadoop

core-site.xml

hdfs-site.xml

mapred-site.xml

yarn-site.xml

workers

配置biadata02 bigdata03

start-dfs.sh/stop-dfs.sh增加配置

切换至/data/soft/hadoop-3.2.0/sbin目录下

新增配置

start-yarn.sh/stop-yarn.sh增加配置

发送Hadoop到02、03机器

注意这里要确保02、03机器都有jdk环境并且以及配置环境变量

scp -rq /data/soft/jdk1.8/ bigdata03:/data/soft/

scp -rq /data/soft/jdk1.8/ bigdata02:/data/soft/

scp -rq /data/soft/ hadoop-3.2.0 bigdata02:/data/soft/

scp -rq /data/soft/ hadoop-3.2.0 bigdata03:/data/soft/

这里远程发送需要等待一段时间

在01节点格式化Namenode

bin/hdfs namenode -format

启动集群

在01上群起

看到图示说明一主两从启动完毕

为虚拟机添加快照保存节点

Hadoop官网搭建指南

https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html

配置Hadoop的客户端节点

在实际工作中不建议直接连接集群中的节点来操作集群,直接把集群中的节点暴露给普通开发人员是不安全的

建议在业务机器上安装Hadoop,只需要保证业务机器上的Hadoop的配置和集群中的配置保持一致即可,这样就可以在业务机器上操作Hadoop集群了,此机器就称为是Hadoop的客户端节点

Hadoop的客户端节点可能会有多个,理论上是我们想要在哪台机器上操作hadoop集群就可以把这台机器配置为hadoop集群的客户端节点。

配置文件详情

链接:https://pan.baidu.com/s/1N-A1LyS17hWhaZzwIOiN1A?pwd=0n71

提取码:0n71

--来自百度网盘超级会员V7的分享

目录
相关文章
|
1月前
|
分布式计算 资源调度 Hadoop
Hadoop 配置
core-site.xml 是 Hadoop 核心全局配置文件【2月更文挑战第20天】
28 1
|
SQL 数据采集 分布式计算
Hadoop01【介绍】
HADOOP是apache旗下的一套开源软件平台,HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理
Hadoop01【介绍】
|
存储 分布式计算 大数据
hadoop介绍
以下内容是我的学习笔记,网络课程的笔记。出处 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。
2650 0
|
存储 分布式计算 大数据
|
存储 分布式计算 Hadoop
Hadoop The First Day!!!
Hadoop MapReduce
1378 0
|
存储 SQL 分布式计算
|
SQL 分布式计算 大数据
|
分布式计算 大数据 Hadoop
|
分布式计算 算法 大数据