HADOOP入门

本教程参考传智播客教学

1.1 什么是HADOOP

1. HADOOP是apache旗下的一套开源软件平台

2. HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理

3. HADOOP的核心组件有

A. HDFS(分布式文件系统)

B. YARN(运算资源调度系统)

C. MAPREDUCE(分布式运算编程框架)

4. 广义上来说,HADOOP通常是指一个更广泛的概念——HADOOP生态圈

1.2HADOOP生态圈

重点组件:

HDFS:分布式文件系统

MAPREDUCE:分布式运算程序开发框架

HIVE:基于大数据技术(文件系统+运算框架)的SQL数据仓库工具

HBASE:基于HADOOP的分布式海量数据库

ZOOKEEPER:分布式协调服务基础组件

Mahout:基于mapreduce/spark/flink等分布式运算框架的机器学习算法库

Oozie:工作流调度框架

Sqoop:数据导入导出工具

Flume:日志数据采集框架

分布式系统概述

  •     该软件系统会划分成多个子系统或模块,各自运行在不同的机器上,子系统或模块之间通过网络通信进行协作,实现最终的整体功能
  •     比如分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。

集群搭建

集群简介

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

  • HDFS集群:

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

  • YARN集群:

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

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

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

角色分配

hdp-node-01     

 NameNode SecondaryNameNode

hdp-node-02    

ResourceManager  

hdp-node-03   

DataNode NodeManager
hdp-node-04

DataNode    

NodeManager
hdp-node-05

DataNode    

NodeManager

网络环境准备

 采用NAT方式联网

网关地址:192.168.64.2

3个服务器节点IP地址:192.168.64.101、192.168.64.102、192.168.64.103

子网掩码:255.255.255.0

服务器系统设置

添加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免密登陆

配置防火墙

 HADOOP安装部署

上传HADOOP安装包

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

解压安装包

修改配置文件  $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

<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

启动集群

初始化HDFS

bin/hadoop  namenode  -format

启动HDFS

sbin/start-dfs.sh

启动YARN

sbin/start-yarn.sh

运行一个mapreduce程序

cd $HADOOP_HOME/share/hadoop/mapreduce/

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

集群使用初步

 HDFS使用

1、查看集群状态

命令:   hdfs  dfsadmin  –report

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

2、上传文件到HDFS

 查看HDFS中的目录信息

命令:   hadoop  fs  –ls  /

上传文件

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

从HDFS下载文件

命令:  hadoop  fs  -get  /yarn-site.xml

原文地址:https://www.cnblogs.com/duan2/p/7485421.html