Hadoop集群 具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起。
-
HDFS集群:负责海量数据的存储,集群中的角色主要有 NameNode / DataNode
-
YARN集群:负责海量数据运算时的资源调度,集群中的角色主要有 ResourceManager /NodeManager
那mapreduce是什么呢?它其实是一个应用程序开发包。
本集群搭建案例,以5节点为例进行搭建,角色分配如下: 部署图如下:
下面开始讲Hadoop的集群环境搭建:
本案例使用虚拟机服务器来搭建Hadoop集群,所用软件及版本:
- Vmware 11.0
- Centos 6.5 64bit
采用NAT方式联网
网关地址:192.168.33.1
3个服务器节点IP地址:192.168.33.101、192.168.33.102、192.168.33.103
子网掩码:255.255.255.0
3.服务器系统设置1.添加Hadoop用户
2.为Hadoop用户分配sudoer权限
3.同步时间
4.设置主机名
- hdp-node-01
- hdp-node-02
- hdp-node-03
5.配置内网域名映射:
- 192.168.33.101 hdp-node-01
- 192.168.33.102 hdp-node-02
- 192.168.33.103 hdp-node-03
6.配置ssh免密登陆
7.配置防火墙
4. jdk环境安装1.上传jdk安装包
2.规划安装目录 /home/Hadoop/apps/jdk_1.7.65
3.解压安装包
4.配置环境变量 /etc/profile
5.Hadoop安装部署1.上传Hadoop安装包
2.规划安装目录 /home/Hadoop/apps/Hadoop-2.6.1
3.解压安装包
4.修改配置文件$Hadoop_HOME/etc/Hadoop/
最简化配置如下: vi Hadoop-env.sh
# The java implementation to use.
export JAVA_HOME=/home/Hadoop/apps/jdk1.7.0_51
vi core-site.xml
fs.defaultFS
hdfs://hdp-node-01:9000
Hadoop.tmp.dir
/home/Hadoop/apps/Hadoop-2.6.1/tmp
vi hdfs-site.xml
dfs.namenode.name.dir
/home/Hadoop/data/name
dfs.datanode.data.dir
/home/Hadoop/data/data
dfs.replication
3
dfs.secondary.http.address
hdp-node-01:50090
vi mapred-site.xml
mapreduce.framework.name
yarn
vi yarn-site.xml
yarn.resourcemanager.hostname
Hadoop01
yarn.nodemanager.aux-services
mapreduce_shuffle
vi salves
hdp-node-01
hdp-node-02
hdp-node-03
6.启动集群
初始化HDFS
bin/Hadoop namenode -format
启动HDFS
sbin/start-dfs.sh
启动YARN
sbin/start-yarn.sh
7.测试
1.上传文件到HDFS 从本地上传一个文本文件到hdfs的/wordcount/input目录下。
[Hadoop@hdp-node-01 ~]$ Hadoop fs -mkdir -p /wordcount/input
[Hadoop@hdp-node-01 ~]$ Hadoop fs -put /home/Hadoop/somewords.txt /wordcount/input
2.运行一个mapreduce程序 在Hadoop安装目录下,运行一个示例mr程序
cd $Hadoop_HOME/share/Hadoop/mapreduce/
Hadoop jar mapredcue-example-2.6.1.jar wordcount /wordcount/input /wordcount/output