zoukankan      html  css  js  c++  java
  • 大数据学习之Hadoop快速入门

    1、Hadoop生态概况

    Hadoop是一个由Apache基金会所开发的分布式系统集成架构,用户可以在不了解分布式底层细节情况下,开发分布式程序,充分利用集群的威力来进行高速运算与存储,具有可靠、高效、可伸缩的特点。
    大数据学习资料分享群119599574

    Hadoop的核心是YARN,HDFS,Mapreduce,常用模块架构如下

    wKioL1gUT8nCycQjAAKOnd4EMEo166.png

    2、HDFS

    源自谷歌的GFS论文,发表于2013年10月,HDFS是GFS的克隆版,HDFS是Hadoop体系中数据存储管理的基础,它是一个高度容错的系统,能检测和应对硬件故障

    HDFS简化了文件一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序,它提供了一次写入多次读取的机制,数据以块的形式,同时分布在集群不同物理机器

    3、Mapreduce

    源自于谷歌的MapReduce论文,用以进行大数据量的计算,它屏蔽了分布式计算框架细节,将计算抽象成map和reduce两部分

    4、HBASE(分布式列存数据库)

    源自谷歌的Bigtable论文,是一个建立在HDFS之上,面向列的针对结构化的数据可伸缩,高可靠,高性能分布式和面向列的动态模式数据库

    5、zookeeper

    解决分布式环境下数据管理问题,统一命名,状态同步,集群管理,配置同步等

    6、HIVE

    由Facebook开源,定义了一种类似sql查询语言,将SQL转化为mapreduce任务在Hadoop上面执行

    7、flume

    日志收集工具

    8、yarn分布式资源管理器

    是下一代mapreduce,主要解决原始的Hadoop扩展性较差,不支持多种计算框架而提出的,架构如下

    wKiom1gUUtfyL4A3AAIHT-X65D8457.png9、spark

    spark提供了一个更快更通用的数据处理平台,和Hadoop相比,spark可以让你的程序在内存中运行
    大数据学习资料分享群119599574

    10、kafka

    分布式消息队列,主要用于处理活跃的流式数据

    11、Hadoop伪分布式部署

    目前而言,不收费的Hadoop版本主要有三个,都是国外厂商,分别是

    1、Apache原始版本

    2、CDH版本,对于国内用户而言,绝大多数选择该版本

    3、HDP版本

    这里我们选择CDH版本hadoop-2.6.0-cdh5.8.2.tar.gz,环境是centos7.1,jdk需要1.7.0_55以上

    [root@hadoop1 ~]# useradd hadoop

    我的系统默认自带的java环境如下

    1.  
      [root@hadoop1 ~]# ll /usr/lib/jvm/
    2.  
      total 12
    3.  
      lrwxrwxrwx. 1 root root 26 Oct 27 22:48 java -> /etc/alternatives/java_sdk
    4.  
      lrwxrwxrwx. 1 root root 32 Oct 27 22:48 java-1.6.0 -> /etc/alternatives/java_sdk_1.6.0
    5.  
      drwxr-xr-x. 7 root root 4096 Oct 27 22:48 java-1.6.0-openjdk-1.6.0.34.x86_64
    6.  
      lrwxrwxrwx. 1 root root 34 Oct 27 22:48 java-1.6.0-openjdk.x86_64 -> java-1.6.0-openjdk-1.6.0.34.x86_64
    7.  
      lrwxrwxrwx. 1 root root 32 Oct 27 22:44 java-1.7.0 -> /etc/alternatives/java_sdk_1.7.0
    8.  
      lrwxrwxrwx. 1 root root 40 Oct 27 22:44 java-1.7.0-openjdk -> /etc/alternatives/java_sdk_1.7.0_openjdk
    9.  
      drwxr-xr-x. 8 root root 4096 Oct 27 22:44 java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
    10.  
      lrwxrwxrwx. 1 root root 32 Oct 27 22:44 java-1.8.0 -> /etc/alternatives/java_sdk_1.8.0
    11.  
      lrwxrwxrwx. 1 root root 40 Oct 27 22:44 java-1.8.0-openjdk -> /etc/alternatives/java_sdk_1.8.0_openjdk
    12.  
      drwxr-xr-x. 7 root root 4096 Oct 27 22:44 java-1.8.0-openjdk-1.8.0.31-2.b13.el7.x86_64
    13.  
      lrwxrwxrwx. 1 root root 34 Oct 27 22:48 java-openjdk -> /etc/alternatives/java_sdk_openjdk
    14.  
      lrwxrwxrwx. 1 root root 21 Oct 27 22:44 jre -> /etc/alternatives/jre
    15.  
      lrwxrwxrwx. 1 root root 27 Oct 27 22:44 jre-1.6.0 -> /etc/alternatives/jre_1.6.0
    16.  
      lrwxrwxrwx. 1 root root 38 Oct 27 22:44 jre-1.6.0-openjdk.x86_64 -> java-1.6.0-openjdk-1.6.0.34.x86_64/jre
    17.  
      lrwxrwxrwx. 1 root root 27 Oct 27 22:44 jre-1.7.0 -> /etc/alternatives/jre_1.7.0
    18.  
      lrwxrwxrwx. 1 root root 35 Oct 27 22:44 jre-1.7.0-openjdk -> /etc/alternatives/jre_1.7.0_openjdk
    19.  
      lrwxrwxrwx. 1 root root 52 Oct 27 22:44 jre-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64 -> java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/jre
    20.  
      lrwxrwxrwx. 1 root root 27 Oct 27 22:44 jre-1.8.0 -> /etc/alternatives/jre_1.8.0
    21.  
      lrwxrwxrwx. 1 root root 35 Oct 27 22:44 jre-1.8.0-openjdk -> /etc/alternatives/jre_1.8.0_openjdk
    22.  
      lrwxrwxrwx. 1 root root 48 Oct 27 22:44 jre-1.8.0-openjdk-1.8.0.31-2.b13.el7.x86_64 -> java-1.8.0-openjdk-1.8.0.31-2.b13.el7.x86_64/jre
    23.  
      lrwxrwxrwx. 1 root root 29 Oct 27 22:44 jre-openjdk -> /etc/alternatives/jre_openjdk

    [root@hadoop1 ~]# cat /home/hadoop/.bashrc 增加如下环境变量

    1.  
      export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
    2.  
      export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    3.  
      export PATH=$PATH:$JAVA_HOME/bin
    4.  
      export HADOOP_PREFIX=/opt/hadoop/current
    5.  
      export HADOOP_MAPRED_HOME=${HADOOP_PREFIX}
    6.  
      export HADOOP_COMMON_HOME=${HADOOP_PREFIX}
    7.  
      export HADOOP_HDFS_HOME=${HADOOP_PREFIX}
    8.  
      export HADOOP_YARN_HOME=${HADOOP_PREFIX}
    9.  
      export HTTPS_CATALINA_HOME=${HADOOP_PREFIX}/share/hadoop/httpfs/tomcat
    10.  
      export HADOOP_CONF_DIR=/etc/hadoop/conf
    11.  
      export YARN_CONF_DIR=/etc/hadoop/conf
    12.  
      export HTTPS_CONFIG=/etc/hadoop/conf
    13.  
      export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin

    我们将Hadoop安装在/opt/hadoop目录下面,建立如下软连接,配置文件放在/etc/hadoop/conf目录下面

    [root@hadoop1 hadoop]# ll current

    lrwxrwxrwx 1 root root 21 Oct 29 11:02 current -> hadoop-2.6.0-cdh5.8.2

    做好如下授权

    [root@hadoop1 hadoop]# chown -R hadoop.hadoop hadoop-2.6.0-cdh5.8.2

    [root@hadoop1 hadoop]# chown -R hadoop.hadoop /etc/hadoop/conf

    CDH5新版本的Hadoop启动服务脚步位于$HADOOP_HOME/sbin目录下面,启动服务有如下

    namenode

    secondarynamenode

    datanode

    resourcemanger

    nodemanager

    这里以Hadoop用户来进行管理和启动Hadoop的各种服务

    [root@hadoop1 etc]# cd /etc/hadoop/conf/

    [root@hadoop1 conf]# vim core-site.xml 

    1.  
      <configuration>
    2.  
       
    3.  
      <property>
    4.  
      <name>fs.defaultFS</name>
    5.  
      <value>hdfs://hadoop1</value>
    6.  
      </property>
    7.  
       
    8.  
       
    9.  
      </configuration>
    10.  
       
    11.  
      格式化namenode
    12.  
      [root@hadoop1 conf]# cd /opt/hadoop/current/bin
    13.  
      [root@hadoop1 bin]# hdfs namenode -format
    14.  
       
    15.  
      启动namenode服务
    16.  
      [root@hadoop1 bin]# cd /opt/hadoop/current/sbin/
    17.  
      [root@hadoop1 sbin]# ./hadoop-daemon.sh start namenode
    18.  
      [hadoop@hadoop1 sbin]$ ./hadoop-daemon.sh start datanode

    查看服务启动情况

    wKioL1gUV3WC1ynsAAAUH-zmTVk706.png

    namenode启动完成后,就可以通过web界面查看状态了,默认端口是50070,我们访问测试下

    wKiom1gUWonxt4H4AAEUR2zLnmI763.png

  • 相关阅读:
    rac11.2.0.4私网公网修改
    OGG应用复制进程报错OGG 01161
    顺序容器vector拷贝使用总结
    C++迭代器(STL迭代器)
    C++容器(STL容器)
    win10桌面和手机的扩展API,判断是否有实体后退键API
    python Django 之 Model ORM inspectdb(数据库表反向生成)
    flask框架-大结局
    flask框架-下
    flask框架-中
  • 原文地址:https://www.cnblogs.com/Aa123456780/p/9708980.html
Copyright © 2011-2022 走看看