hadoop第一天——6. Hadoop集群搭建

六、Hadoop集群搭建

1. Hadoop版本选择
Hadoop发行版本分为开源社区版和商业版。
社区版(官方版本):Apache软件基金会维护的 版本最新 功能最全 兼容性最不和
商业版:商业公司基于社区版进行商业化分析(CDH)兼容性好 版本略低

2. 集群简介

  • 主从集群:常见的一主多从
    主角色:master leader
    从角色:slave follower
    主从各司其职,从角色受到主角色的约束。
    主角色挂了,整个服务不可用,叫做单点故障。
  • 主备集群:解决单点故障 常见的是一主一备
    主角色:active
    备角色:standby
  • hadoop集群=hdf集群+yarn集群
    两者逻辑上分离,但物理上常在一起。
    两个集群都是标准的主从集群 一主多从
    HDFS集群负责海量数据的存储。
    hdfs:主角色namenode 从角色datanode 主角色的辅助角色“秘书”secondarynode
    yarn集群负责海量数据运算时的资源调度。
    yarn:resourcemanager nodemanager
    MapReduce是计算程序是代码层面的
  • 部署方式
    Hadoop 部署方式分三种,Standalone mode(独立模式)、Pseudo-Distributed
    mode(伪分布式模式)、Cluster mode(群集模式),其中前两种都是在单机部署。
  • 集群角色规划
       - 有资源上冲突的尽量不要部署在一起
       - 有功能上依赖的尽量部署在一起
       - 避免同一台机器出现多个进程抢夺同种资源
    以3节点为例进行搭建集群模式,角色分配如下:
节点 角色 角色 角色
node01 NameNode DataNode ResourceManager
node02 DataNode NodeManager SecondaryNameNode
node03 DataNode NodeManager

3. 服务器准备

4. 网络环境准备

  • NAT 方式联网

5. 服务器系统设置

  • 同步时间
  • 设置主机名
  • 配置IP、主机名映射
  • 配置ssh免密登录
  • 配置防火墙

6. JDK环境安装

7. CDH版本hadoop重新编译(编译需要jdk1.7)

  • 为什么要编译hadoop?
           官网解释 http://hadoop.apache.org/docs/r1.0.4/cn/native_libraries.html
    “鉴于性能问题以及某些Java类库的缺失,对于某些组件,Hadoop提供了自己的本地实现。这些组件保存在Hadoop的一个独立的动态链接的库里。这个库在linux平台上叫 libhadoop.so。”
    “因为不是所有用户都需要Hadoop本地库,所以默认情况下Hadoop不生成该库。”

  • 查看该库文件

find / -name libhadoop.so

       注:本地库(Native Library)是由C/C++编写的动态库[.so],并通过JNI(Java Native Interface)机制为java层提供接口。

8. Hadoop安装包目录结构
解压编译后的hadoop-2.6.0-cdh5.14.0-with-centos6.9.tar.gz,目录结构如下:

目录 说明
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包所在的目录。

9. Hadoop配置文件修改

cd /export/servers/hadoop5.14.0/etc/hadoop/

要修改的文件有五个:

  • hadoop-env.sh
    设置Hadoop运行时需要的环境变量JAVA_HOME。
  • core-site.xml
    设置Hadoop的文件系统,由URI指定。hdfs://node01:9000
    配置Hadoop的临时目录。/export/data/hadoopdata
  • hdfs-site.xml
    指定HDFS副本的数量。dfs.replication=2
    配置SecondaryNamenode所在主机的ip和端口。node02::50090
  • mapred-site.xml
    指定mr运行时框架,这里制定在yarn上,默认是local
  • yarn-site.xml
    指定yarn的老大(ResourceManager)的地址。node01
    NodeManager上运行的附属服务,需配置mapreduce_shuffle,才可运行MapReduce程序默认值
  • slaves
    配置集群主机名

10. Hadoop环境变量

# 编辑环境变量的配置文件
vi /etc/profile

export JAVA_HOME=/export/servers/jdk1.8.0_191
export HADOOP_HOME=/export/servers/hadoop5.14.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

# 刷新配置文件
source /etc/profile

猜你喜欢

转载自blog.csdn.net/qq_28178795/article/details/92085329