zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务
    聊聊高并发系统之限流特技
    Java程序员 必须掌握的 20+ 种 Spring 常用注解
    这20个核心技术,作为Java开发程序员,你一定要掌握
    40K刚面完Java岗,这些技术必须掌握
    Java 5,6,7,8,9,10,11新特性超详细总结
    小米程序员的忧虑:感觉互联网这两年要凉,想回家种地
    Java技术文档—Java中的运算符有哪些?
    Java笔记之数组,异常处理,集合知识要点
    Java学习笔记——IO流基础知识点整理
  • 原文地址:https://www.cnblogs.com/duan2/p/7485421.html
Copyright © 2011-2022 走看看