Hadoop集群简介
- 逻辑上分离
两个集群互相之间没有依赖、互不影响
- 物理上在一起
某些角色进程往往部署在同一台物理服务器上
- MapReduce集群呢?
MapReduce是计算框架、代码层面的组件没有集群之说
Hadoop集群搭建(Hadoop集群分布式安装)
-
Step1:集群角色规划
- 角色规划的准则根据软件工作特性和服务器硬件资源情况合理分配
比如依赖内存工作的NameNode是不是部署在大内存机器上?
+ 角色规划注意事项资源上有抢夺冲突的,尽量不要部署在一起
工作上需要互相配合的。尽量部署在一起
服务器 | 运行角色 |
---|---|
node1 | namenode datanode resourcemanager nodemanager |
node2 | secondarynamenode datanode nodemanager |
node3 | atanode nodemanager |
- Step2:服务器基础环境准备
主机名(3台机器) vim /etc/hostname
node1
node2
node3
设置静态IP
+ `node1:`
`UUID="08d531cc-32bb-4c25-b146-566ad30307af"`
`IPADDR="192.168.88.131"`
+ `node2:`
`UUID="08d531cc-32bb-4c25-b147-566ad30307af"`
`IPADDR="192.168.88.132"`
+ `node3:`
`UUID="08d531cc-32bb-4c25-b148-566ad30307af"`
`IPADDR="192.168.88.133"`Hosts映射(3台机器) `vim /etc/hosts`
192.168.88.131 node1
192.168.88.132 node2
192.168.88.133 node3
防火墙关闭(3台机器)
systemctl stop firewalld.service #关闭防火墙
systemctl disable firewalld.service #禁止防火墙开启自启
ssh免密登录(node1执行->node1|node2|node3)
ssh-keygen #4个回车 生成公钥、私钥
ssh-copy-id node1、ssh-copy-id node2、ssh-copy-id node3 #
集群时间同步(3台机器)
yum -y install ntpdate
ntpdate ntp4.aliyun.com
创建统一工作目录(3台机器)
mkdir -p /export/server/ #软件安装路径
mkdir -p /export/data/ #数据存储路径
mkdir -p /export/software/ #安装包存放路径
- Step3:上传安装包、解压安装包
- Step4:Hadoop安装包目录结构
目录 | 说明 |
---|---|
bin | Hadoop最基本的管理脚本和使用脚本的目录,这些脚本是sbin目录下管理脚本的基础实现,用户可以直接使用这些脚本管理和使用Hadoop。 |
etc | Hadoop配置文件所在的目录 |
include | 对外提供的编程库头文件(具体动态库和静态库在lib目录中),这些头文件均是用C++定义的,通常用于C++程序访问HDFS或者编写MapReduce程序。 |
lib | 该目录包含了Hadoop对外提供的编程动态库和静态库,与include目录中的头文件结合使用。 |
libexec | 各个服务对用的shell配置文件所在的目录,可用于配置日志输出、启动参数(比如JVM参数)等基本信息。 |
sbin | Hadoop管理脚本所在的目录,主要包含HDFS和YARN中各类服务的启动/关闭脚本。 |
share | Hadoop各个模块编译后的jar包所在的目录,官方自带示例。 |
配置文件概述
+ 官网文档:https://hadoop.apache.org/docs/r3.3.0/
+ 第一类1个:hadoop-env.sh
+ 第二类4个:
xxxx-site.xml ,site表示的是用户定义的配置,