Hadoop集群搭建笔记

集群分类

Hadoop的集群分为HDFS集群和YARN集群,两者逻辑上分离,物理上常在一起

  • HDFS集群负责还海量数据的存储,集群中的角色主要有namenode,datanode,secondarynamenode
  • Yarn集群负责海量数据运算时的资源调度,集群的角色主要有resourcemanager,nodemanager
  • mapreduc其实是一个分布式运算编程框架,是应用程序开发包,由用户按照编程规范进行程序开发,后打包运行在HDPS集群上,并且受到Yarn集群 的资源调度管理

集群部署

Hadoop的部署方式有三种:standalone(独立模式),pseudo-distributed(伪分布模式),cluster(集群模式),其中前两者是单机模式

  • 独立模式又称为单机模式,仅1个机器运行一个Java进程,主要用于调试
  • 伪分布模式也是在1个机器上运行HDFS的namdenode和datanode,yarn的resourcemanager,nodemanager.但分别启动单独的Java进程,主要用于调试
  • 集群模式主要用于生产环境部署,会使用N台主机组成一个Hadoop集群,这种模式下,主节点和从节点部署分开部署在不同的服务器上

服务器准备

vm服务器,centos
采取nat联网的方式

服务器系统设置

  • 同步时间
  • 设置主机名
  • 配置IP,主机名映射 vim /etc/hosts
  • 配置ssh免密登录
免密码ssh设置
现在确认能否不输入口令就用ssh登录localhost:
$ ssh localhost

如果不输入口令就无法用ssh登陆localhost,执行下面的命令:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
  • 配置防火墙

JDK安装

  • 卸载openjdk

rpm -qa | grep java
rpm -e --nodeps XXXXX

  • 下载jdk,配置环境变量 /ect/profile

安装包的目录结构

  • etc存放配置文件
  • sbin存放启动和关闭集群等命令

配置文件的修改

一般在主节点上进行修改,完成之后scp下发到其他各个从节点

配置hadoop

  • hadoop-env.sh
    设置jdk环境配置

vim hadoop-env.sh
export JAVA_HOME=/root/app/jdk1.8.0_65

  • core-site.xml
    configuration变迁下添加property
  1. 指定hadoop所使用的文件系统schema(URI),HDFS主节点的namenode地址,设置fs.defaultFS
  2. 指定hadoop运行时产生的文件的存储目录hadoop.tmp.dir,默认为/tmp/hadoop-${user.name}
  • hdfs-site.xml
  1. 指定hdfs副本的数量dfs.replication,默认是3份
  2. 设置hadoop.namenode.secondary.http-address
  • mapred-site.xml
    指定mr运行时框架,默认是指定yarn,配置项为mapredue.framework.name,值为yarn

  • yarn-site.xml

  1. 指定yarn主节点resourcemanager地址,配置项为yarn.resoucemanger.hostname,值为node-1
  2. 配置nodemanager上运行的附属服务,需要配置mapreduce_shuffle,才可以运行mr程序默认值。
    配置项yarn.resourcemanager.aux-service,值为mapreduce_shuffle
  • slave文件

  • 将hadoop添加到环境变量中

远程拷贝批量下发hadoop配置

scp -r /export/server/hadoop-2.7/ root@node-2:/export/server/
scp -r /etc/profile root@node-2:/etc/
source /etc/profile

其他

  • **-default.xml文件里设置了Hadoop默认的配置选项,如果用户没有更改,里面的选项将会生效
  • **-site.xml配置了用户需要自定义的配置选项,如果有配置,将会覆盖默认的配置

Hadoop集群启动

要启动Hadoop集群,需要启动HDFS集群和Yarn集群,首次启动时,必须进行格式化,并且格式化只能进行一次。

  • 格式化的本质就是对文件系统的初始化操作,创建一些自己所需要的文件。
  • 格式化之后集群启动成功,后续不能进行格式化,因为首次格式化之后,会为集群生成一个唯一标志clusterID,如果重新进行初始化,集群ID将会发生变化,导致集群内服务找不到集群clusterID
  • 格式化必须在主角色namenode上进行

启动的方式包括两种单一服务启动和脚本一键启动(主节点机器上执行,前提是配置了slave文件和ssh免密登录)

启动完成之后,使用jps命令查看

你可能感兴趣的:(Hadoop集群搭建笔记)