Hadoop(二) HADOOP集群搭建

时间:2022-06-16 06:52:26

一、HADOOP集群搭建

  1、集群简介

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

HDFS集群:

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

YARN集群:

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

(那mapreduce是什么呢?它其实是一个应用程序开发包)

 

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

Hadoop(二) HADOOP集群搭建

 2、服务器准备  

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

A.Vmware 11.0

B.Centos  6.5  64bit

3、网络环境准备

A 、采用NAT方式联网

B、网关地址:192.168.137.1

C、3个服务器节点IP地址:192.168.137.31、192.168.137.32、192.168.137.33

D 、子网掩码:255.255.255.0

4、服务器系统设置

A.  添加HADOOP用户

B. 为HADOOP用户分配sudoer权限

C. 同步时间

D. 设置主机名

hdp-node-01

hdp-node-02

hdp-node-03

E. 配置内网域名映射:

192.168.137.31          hdp-node-01

192.168.137.32          hdp-node-02

192.168.137.33          hdp-node-03

F. 配置ssh免密登陆

G. 配置防火墙

5、Jdk环境安装

上传jdk安装包

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

解压安装包

配置环境变量 /etc/profile

6、HADOOP安装部署

ü  上传HADOOP安装包

ü  规划安装目录  /home/hadoop/apps/hadoop-2.6.1

ü  解压安装包

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

    最简化配置如下:(默认是后面有.template文件。)

      vi  hadoop-env.sh

# The java implementation to use.

export JAVA_HOME=/home/hadoop/apps/jdk1.7.0_51

      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.1/tmp</value>

</property>

</configuration>

vi  hdfs-site.xml

<configuration>

<property>

<name>dfs.namenode.name.dir</name>

<value>/home/hadoop/data/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>/home/hadoop/data/data</value>

</property>

<property>

<name>dfs.replication</name>

<value>3</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-01

hdp-node-02

hdp-node-03

 7、启动集群

初始化HDFS
bin/hadoop  namenode  -format

启动HDFS
sbin/start-dfs.sh

启动YARN
sbin/start-yarn.sh

单个启动

hadoop-de

 8、测试

  A、上传文件到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

B、运行一个mapreduce程序

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

cd $HADOOP_HOME/share/hadoop/mapreduce/

hadoop jar mapredcue-example-2.6.1.jar wordcount /wordcount/input  /wordcount/output