HADOOP集群搭建

1. 集群简介

Hadoop包括两个集群,hdfs集群和yarn集群
hdfs集群负责数据存储,主要角色有:NameNode,DataNode,SecondaryNameNode
yarn集群负责调度管理,主要角色有ResourceManager, NodeManager
两者逻辑上没有必要关联一定要放在一起,但一般放在一起。

2. 环境准备

centOS/VMWare开启三台虚拟机
bigdata01.virtualgroup.com
bigdata02.virtualgroup.com
bigdata03.virtualgroup.com

集群时间同步
防火墙关闭
主机名host映射
免密登陆
JDK1.8

分布模式
bigdata01.virtualgroup.com简称01,其余同理
01: NameNode; DataNode; ResourceManager; NodeManager;
02: SecondaryNameNode; DataNode; NodeManager;
03: DataNode; NodeManager;

文件夹设定

mkdir /export/servers	#安装文件(JDK,Hadoop等)
mkdir /export/datas	#存储数据

3. Hadoop版本及下载

3.1 Hadoop版本

社区版: Apache提供的官方版本
优点:版本功能新且全
缺点:不稳定

商业版:商业公司版本(以CDH cloudera为例)
优点:兼容性好
缺点:不是最新版,要钱

4.2 hadoop下载

采用cdh5.14.0–Hadoop2.6.0
http://archive.cloudera.com/cdh5/

4.3 hadoop编译

a. JDK1.7
b. cloudera公司jar包不在maven中央仓库,需要下载配置到编译的机器上
c. 网络畅通
(未展开论述)

4. Hadoop配置文件

4.1 hadoop-env.sh

配置环境变量 (jdk的安装路径)

export JAVA_HOME=/export/servers/jdk1.8.0_65

4.2 (core/hdfs/yarn/mapred)-site.xml

均有对应的xxx-default.xml文件,两者作用相同
先匹配xxx-site.xml,如没有再在xxx-default.xml文件中寻找属性设置

4.2.1 core-site.xml

核心配置文件


<property>
		<name>fs.defaultFSname>
		<value>hdfs://bigdata01.virtualgroup.com:9000value>
	property>

	<property>
		<name>hadoop.tmp.dirname>
		
		<value>/export/data/hadoopdatavalue>
    property>

4.2.2 hdfs-site.xml

hdfs核心配置文件


	<property>
		<name>dfs.replicationname>
		<value>2value>
    property>

    <property>
 		 <name>dfs.namenode.secondary.http-addressname>
  		 <value>bigdata02.virtualgroup.com:50090value>
    property>

4.2.3 mapred-site.xml

MapReduce的核心配置文件


	<property>
		<name>mapreduce.framework.namename>
		<value>yarnvalue>
    property>

4.2.4 yarn-site.xml

yarn的核心配置文件


	<property>
		<name>yarn.resourcemanager.hostnamename>
		<value>bigdata01.virtualgroup.comvalue>
    property>

   <property>
		<name>yarn.nodemanager.aux-servicesname>
		<value>mapreduce_shufflevalue>
   property>

4.2.5 slaves

集群节点主机名
(应该是部署DataNode和NodeManager的机器需要填入。
实测因为主机01除了部署NameNode和ResourceManager外,同时部署了DataNode和NodeManager,如果不写入这台机器名,则一键脚本启动无法开启DataNode和NodeManager)

bigdata01.virtualgroup.com
bigdata02.virtualgroup.com
bigdata03.virtualgroup.com

4.2.6 default配置

参阅官网如下
hadoop官网
“release archive”下找到对应版本,点击“documentation”
在新页面左下角,configuration,有对应各配置文件default设置链接
HADOOP集群搭建_第1张图片

4.2.6 Hadoop环境变量

修改环境变量配置文件

vim /etc/profile

export HADOOP_HOME=/export/servers/hadoop-2.6.0-cdh5.14.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

保存并刷新配置文件

source /etc/profile

至此Hadoop基本配置完成

5. Hadoop启动与关闭

5.1 格式化

配置完成,首次启动需要格式化

hadoop namenode -format

若不小心多次格式化,把三台机器上 hadoop.tmp.dir 指定的文件夹删除 重新format一次 此时就是一个新的集群

5.2 单节点启动关闭

开启/关闭 NameNode/DataNode/ResourceManager/NodeManager

hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
hadoop-daemon.sh start resourcemanager
hadoop-daemon.sh start nodemanager

5.3 脚本一键启动

start-dfs.sh	#开启hdfs
stop-dfs.sh		#停止hdfs
start-yarn.sh	#开启yarn
stop-yarn.sh	#停止yarn
start-all.sh	#开启全部
stop-all.sh		#停止全部

6. 查看Hadoop UI

NameNode:http://nn_host:port/默认50070
e.g. http://bigdata01.virtualgroup.com:50070/
HADOOP集群搭建_第2张图片
ResourceManager:http://rm_host:port/默认8088
e.g. http://bigdata01.virtualgroup.com:8088/

HADOOP集群搭建_第3张图片

7. 开启日志记录及垃圾桶回收

7.1 日志记录

JobHistory默认未开启,需手动开启,可记录Hadoop操作记录

7.1.1 修改mapred-site.xml

cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim mapred-site.xml

	<property>
		<name>mapreduce.jobhistory.addressname>
		<value>bigdata01.virtualgroup.com:10020value>
	property>

	<property>
		<name>mapreduce.jobhistory.webapp.addressname>
		<value>bigdata01.virtualgroup.com:19888value>
	property>

7.1.2 分发配置到其他机器

cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
#发给bigdata02.virtualgroup.com机台
scp mapred-site.xml bigdata02.virtualgroup.com:/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
#发给bigdata03.virtualgroup.com机台
scp mapred-site.xml bigdata03.virtualgroup.com:/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop

7.1.3 开启/关闭服务

该服务默认不开启,需手动开启关闭

mr-jobhistory-daemon.sh start historyserver
mr-jobhistory-daemon.sh stop historyserver

7.1.4 访问historyserver

http://bigdata01.virtualgroup.com:19888/jobhistory

7.2 垃圾桶机制

垃圾桶保存时间,默认时间为0(分钟),即没有误删恢复机制
修改默认属性,比如为1440,即保存一天,之后再自动删除

vim core-site.xml

<property>
        <name>fs.trash.intervalname>
        <value>1440value>
   property>

7.2 垃圾桶取回

删除时会显示移动的位置,mv指令移动出来即可。

你可能感兴趣的:(hadoop)