【大数据笔记01】Hadoop生态圈

前言

在这里插入图片描述
HDFS:分布式文件系统
MAPREDUCE:分布式运算程序开发框架
HIVE:基于 HADOOP 的分布式数据仓库,提供基于 SQL 的查询数据操作
HBASE:基于 HADOOP 的分布式海量数据库
ZOOKEEPER:分布式协调服务基础组件
Mahout:基于 mapreduce/spark/flink 等分布式运算框架的机器学习算法库
Oozie:工作流调度框架
Sqoop:数据导入导出工具(比如用于 mysql 和 HDFS 之间)
Flume:日志数据采集框架
Impala:基于 Hadoop 的实时分析

集群

HADOOP 集群具体来说包含两个集群:HDFS 集群和 YARN 集群,两者逻辑上分离,但物理上常在一起。

  • HDFS 集群负责海量数据的存储,集群中的角色主要有:
    NameNode、DataNode、SecondaryNameNode

  • YARN 集群负责海量数据运算时的资源调度,集群中的角色主要有:
    ResourceManager、NodeManager

集群部署

Hadoop目录结构
bin:Hadoop 最基本的管理脚本和使用脚本的目录,这些脚本是 sbin 目录下管理脚本的基础实现,用户可以直接使用这些脚本管理和使用 Hadoop。

etc:Hadoop 配置文件所在的目录,包括 core-site,xml、hdfs-site.xml、mapred-site.xml 等从 Hadoop1.0 继承而来的配置文件和 yarn-site.xml 等Hadoop2.0 新增的配置文件。

include:对外提供的编程库头文件(具体动态库和静态库在 lib 目录中),这些头文件均是用 C++定义的,通常用于 C++程序访问 HDFS 或者编写 MapReduce程序。

lib:该目录包含了 Hadoop 对外提供的编程动态库和静态库,与 include 目录中的头文件结合使用。

libexec:各个服务对用的 shell 配置文件所在的目录,可用于配置日志输出、启动参数(比如 JVM 参数)等基本信息。

sbin:Hadoop 管理脚本所在的目录,主要包含 HDFS 和 YARN 中各类服务的启动/关闭脚本。

share:Hadoop 各个模块编译后的 jar 包所在的目录。

配置文件修改

  • hadoop-env.sh
    文件中设置的是 Hadoop 运行时需要的环境变量。JAVA_HOME是必须设置的,
    即使我们当前的系统中设置了 JAVA_HOME,它也是不认识的
  • core-site.xml
    hadoop 的核心配置文件,有默认的配置项core-default.xml
    core-default.xml 与 core-site.xml 的功能是一样的,如果在 core-site.xml 里没有配置的属性,则会自动会获取 core-default.xml 里的相同属性的值。
  • hdfs-site.xml
    HDFS 的核心配置文件,有默认的配置项hdfs-default.xml
    hdfs-default.xml 与 hdfs-site.xml 的功能是一样的,如果在 hdfs-site.xml 里没有配置的属性,则会自动会获取 hdfs-default.xml 里的相同属性的值。
  • mapred-site.xml
    MapReduce 的核心配置文件,有默认的配置项 mapred-default.xml
    mapred-default.xml 与 mapred-site.xml 的功能是一样的,如果在 mapred-site.xml 里没有配置的属性,则会自动会获取 mapred-default.xml 里的相同属性的值。
  • yarn-site.xml
    YARN 的核心配置文件,有默认的配置项 yarn-default.xml
    yarn-default.xml 与 yarn-site.xml 的功能是一样的,如果在 yarn-site.xml 里没有配置的属性,则会自动会获取 yarn-default.xml 里的相同属性的值。
  • slaves
    slaves 文件里面记录的是集群主机名。一般有以下两种作用:
    一是:配合一键启动脚本如start-dfs.sh、stop-yarn.sh用来进行集群启动。这时候 slaves 文件里面的主机标记的就是从节点角色所在的机器。
    二是:可以配合 hdfs-site.xml 里面 dfs.hosts 属性形成一种白名单机制。
    其中,dfs.hosts 指定一个文件,其中包含允许连接到 NameNode 的主机列表。必须指定文件的完整路径名。如果值为空,则允许所有主机。

配置系统的环境变量

vi /etc/profile
export JAVA_HOME= /root/apps/jdk1.8.0_65
export HADOOP_HOME= /root/apps/hadoop-2.7.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile

集群启动

要启动 Hadoop 集群,需要启动 HDFS 和 YARN 两个集群。
注意: 首次启动HDFS时,必须对其进行格式化 操作。本质上是一些清理和准备工作,因为此时的 HDFS 在物理上还是不存在的。
hdfs namenode–format 或者hadoop namenode –format

  • 单节点启动
    在主节点上使用以下命令启动 HDFS NameNode:
    hadoop-daemon.sh start namenode
    在每个从节点上使用以下命令启动 HDFS DataNode:
    hadoop-daemon.sh start datanode
    在主节点上使用以下命令启动 YARN ResourceManager:
    yarn-daemon.sh start resourcemanager
    在每个从节点上使用以下命令启动 YARN nodemanager:
    yarn-daemon.sh start nodemanager
    以上脚本位于$HADOOP_PREFIX/sbin/目录下。如果想要停止某个节点上某个角色,只需要把命令中的 start 改为 stop 即可。
  • 一键脚本启动
    如果配置了 etc/hadoop/slaves 和 ssh 免密登录,则可以使用程序脚本启动
    所有 Hadoop 两个集群的相关进程,在主节点所设定的机器上执行。
    hdfs:$HADOOP_PREFIX/sbin/start-dfs.sh
    yarn: $HADOOP_PREFIX/sbin/start-yarn.sh
    停止集群:stop-dfs.shstop-yarn.sh

集群UI
HDFS的Master:NameNode http://nn_host:port/ 默认 50070
Yarn的Master:ResourceManager http://rm_host:port/ 默认 8088

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值