Hadoop集群环境搭建(一)

 

1集群简介

HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起

HDFS集群:

负责海量数据的存储,集群中的角色主要有 NameNode / DataNode

YARN集群:

负责海量数据运算时的资源调度,集群中的角色主要有 ResourceManager /NodeManager

本集群搭建案例,以3节点为例进行搭建,角色分配如下:

hdp-node-01    NameNode  SecondaryNameNode ResourceManager
hdp-node-02 DataNode NodeManager
hdp-node-03 DataNode NodeManager

2服务器准备

本案例使用虚拟机服务器来搭建HADOOP集群,所用软件及版本:

▨ Vmware 12.0

▨ Centos  7.0  64bit

3网络环境准备

▨ 采用NAT方式联网

▨ 网关地址:192.168.33.1

▨ 3个服务器节点IP地址:192.168.33.101、192.168.33.102、192.168.33.103

▨ 子网掩码:255.255.255.0

4服务器系统设置

▨ 添加HADOOP用户

▨ 为HADOOP用户分配sudoer权限

▨ 同步时间

▨ 设置主机名

◈ hdp-node-01

◈ hdp-node-02

◈ hdp-node-03

▨ 配置内网域名映射:

◈ 192.168.33.101          hdp-node-01

◈ 192.168.33.102          hdp-node-02

◈ 192.168.33.103          hdp-node-03

▨ 配置ssh免密登陆

▨ 配置防火墙

5JDK环境安装

▨ 上传jdk安装包

▨ 规划安装目录  /home/hadoop/apps/jdk_1.7.65

▨ 解压安装包

▨ 配置环境变量 /etc/profile

6HADOOP安装部署

▨ 上传HADOOP安装包

▨ 规划安装目录  /home/hadoop/apps/hadoop-2.6.5

▨ 解压安装包 tar –zxvf  hadoop-2.6.5 –C apps/

▨ 修改配置文件  $HADOOP_HOME/etc/hadoop/

最简化配置如下:

vi  hadoop-env.sh

# The java implementation to use.
export JAVA_HOME=/home/hadoop/apps/jdk1.7.0_45

vi  core-site.xml

 
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hdp-node-01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/HADOOP/apps/hadoop-2.6.5/tmp</value>
</property>
</configuration>
 

vi  hdfs-site.xml

 
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>hdp-node-01:50090</value>
</property>
</configuration>
 

vi  mapred-site.xml

 
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
 

vi  yarn-site.xml

 
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
 

vi  salves

hdp-node-02
hdp-node-03

7启动集群

初始化HDFS

bin/hadoop  namenode  -format

启动HDFS

sbin/start-dfs.sh

启动YARN

sbin/start-yarn.sh

查看集群状态

jps
bin/hdfs dfsadmin -report

8测试——运行一个mapreduce程序

在HADOOP安装目录下,运行一个示例mr程序

cd $HADOOP_HOME/share/hadoop/mapreduce/
hadoop jar mapredcue-example-2.6.5.jar wordcount /wordcount/input /wordcount/output

9HDFS使用

1、查看集群状态

命令:   hdfs  dfsadmin  –report

可以看出,集群共有3个datanode可用

也可打开web控制台查看HDFS集群信息,在浏览器打开http://hdp-node-01:50070/

2、上传文件到HDFS

▣  查看HDFS中的目录信息

命令:   hadoop  fs  –ls  /

▣    上传文件

命令:   hadoop  fs  -put  ./ scala-2.10.6.tgz  to  /

HDFS集群和YARN集群的更多相关文章

  1. 第1节 HUE:14、15、16、hue与hdfs、yarn集群、hive、impala、mysql的整合

    3.hue与其他框架的集成 3.1.hue与hadoop的HDFS以及yarn集成 第一步:更改所有hadoop节点的core-site.xml配置 记得更改完core-site.xml之后一定要重启 ...

  2. Yarn篇--搭建yarn集群

    一.前述 有了上次hadoop集群的搭建,搭建yarn就简单多了.废话不多说,直接来 二.规划 三.配置如下 yarn-site.xml配置 <property>        <n ...

  3. Yarn集群的搭建、Yarn的架构和WordCount程序在集群提交方式

    一.Yarn集群概述及搭建 1.Mapreduce程序运行在多台机器的集群上,而且在运行是要使用很多maptask和reducertask,这个过程中需要一个自动化任务调度平台来调度任务,分配资源,这 ...

  4. YARN集群的mapreduce测试(六)

    两张表链接操作(分布式缓存): ----------------------------------假设:其中一张A表,只有20条数据记录(比如group表)另外一张非常大,上亿的记录数量(比如use ...

  5. YARN集群的mapreduce测试(五)

    将user表计算后的结果分区存储 测试准备: 首先同步时间,然后master先开启hdfs集群,再开启yarn集群:用jps查看: master上: 先有NameNode.SecondaryNameN ...

  6. YARN集群的mapreduce测试(四)

    将手机用户使用流量的数据进行分组,排序: 测试准备: 首先同步时间,然后master先开启hdfs集群,再开启yarn集群:用jps查看: master上: 先有NameNode.SecondaryN ...

  7. YARN集群的mapreduce测试(三)

    将user表.group表.order表关:(类似于多表关联查询) 测试准备: 首先同步时间,然后 开启hdfs集群,开启yarn集群:在本地"/home/hadoop/test/" ...

  8. YARN集群的mapreduce测试(二)

    只有mapTask任务没有reduceTask的情况: 测试准备: 首先同步时间,然后 开启hdfs集群,开启yarn集群:在本地"/home/hadoop/test/"目录创建u ...

  9. YARN集群的mapreduce测试(一)

    hadoop集群搭建中配置了mapreduce的别名是yarn [hadoop@master01 hadoop]$ mv mapred-site.xml.template mapred-site.xm ...

随机推荐

  1. gcc 手动安装

    由于公司内部服务器没有联通外网,只能苦逼的手动安装gcc(自带的版本太老) rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm rpm -ivh cloog-ppl-0.15. ...

  2. 查找mysql中未提交的事务

    1.查找未提交事务 在mysql中运行: select t.trx_mysql_thread_id from information_schema.innodb_trx t 2.删除线程 kill   ...

  3. 【Linux磁盘优化管理--RAID和LVM】

    在现阶段的企业环境中,为了数据的安全性及完整性必须要有一个合理的存储方案.面对着每秒可能产生超过几TB的数据,考虑到磁盘能不能实现 热冗余,及扩容,缩容.Linux给出了RAID(磁盘阵列)以及LVM ...

  4. C++ 指针初始化要注意的地方

    1. 声明多个指针的时候: int* P1,P2; 如上所示,声明的是创建一个指针P1和一个int型的变量P2.而不是声明的两个指针. 对每个指针变量名,都需要使用一个*. 在C++中,int* 是一 ...

  5. C 二维指针难点详解。

    关于   指向二维数组的指针. int  a[2][3]; int *p; int (*p_1)[3]; 可以用p_1 = a ,但是不能用p = a : 因为此时数组a的数据类型是  int (* ...

  6. git删除本地及远程分支

    1. 删除本地分支: git branch -d branchName 2. 删除远程分支: // 方法一:将删除的本地分支推到远程(要删除的远程分支在本地有映射) git push origin : ...

  7. Python的logging模块、os模块、commands模块与sys模块

    一.logging模块 import logging logging.debug('This is debug message') logging.info('This is info message ...

  8. 创龙DSP6748开发板SYS/BIOS的LED闪烁-第2篇

    1. 作为1个456MHz的处理器,不跑个操作系统说不过去,直接打开工程\Demo\SYSBIOS\Application\GPIO_LED,主函数比较简单 // 创建任务 Task_create(t ...

  9. centos7下安装oracle11gR2的详细步骤

    环境准备 安装包: CentOS-7-x86_64-DVD linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip 本教 ...

  10. LinqToExcel使用简介一

             最近才看到原来也可以用Linq来访问Excel,功能还挺强大的.要使用这个功能,首先得下载一个LinqToExcel的相关文件,然后就可以调用相关的方法.         使用前面介 ...