• 【云原生 | 29】Docker运行大数据经典分布式平台Hadoop


    作者简介:🏅云计算领域优质创作者🏅新星计划第三季python赛道第一名🏅 阿里云ACE认证高级工程师🏅
    ✒️个人主页:小鹏linux
    💊个人社区:小鹏linux(个人社区)欢迎您的加入!

    目录

    1. Hadoop是什么

    2. Hadoop 的发展历史

    3. 在Docker上运行Hadoop

    3.1 使用官方镜像

    3.2 安装验证 

     👑👑👑结束语👑👑👑


    1. Hadoop是什么

     作为当今大数据处理领域的经典分布式平台,Apache Hadoop主要基于Java语言实现,由三个核心子系统组成:HDFS、YARN、MapReduce,其中,HDFS是一套分布式文件系统;YARN是资源管理系统,MapReduce是运行在YARN上的应用,负责分布式处理管理。如果从操作系统的角度看,HDFS相当于Linux的 ext3/ext4文件系统,而Yarn相当于Linux的进程调度和内存分配模块

    2. Hadoop 的发展历史

    1)Hadoop 创始人 Doug Cutting ,为 了实 现与 Google 类似的全文搜索功能,他在 Lucene 框架基础上进行优化升级,查询引擎和索引引擎。
    2)2001 年年底 Lucene 成为 Apache 基金会的一个子项目。
    3)对于海量数据的场景, Lucene 框 架面 对与 Google 同样的困难, 存 储海量数据困难,检 索海 量速度慢 。
    4)学习和模仿 Google 解决这些问题的办法 :微型版 Nutch 。
    5)可以说 Google 是 Hadoop 的思想之源( Google 在大数据方面的三篇论文)
            GFS --->HDFS
            Map-Reduce --->MR
            BigTable --->HBase
    6) 2003-2004 年, Google 公开了部分 GFS 和 MapReduce 思想的细节,以此为基础 Doug Cutting 等人用
    了 2 年业余时间 实现了 DFS 和 MapReduce 机制,使 Nutch 性能飙升。
    7)2005 年 Hadoop 作为 Lucene 的子项目 Nutch 的一部分正式引入 Apache 基金会。
    8)2006 年 3 月份, Map-Reduce 和 Nutch Distributed File System ( NDFS )分别被纳入到 Hadoop 项目
    中, Hadoop 就此正式诞生,标志着大数据时代来临。
    9)名字来源于 Doug Cutting 儿子的玩具大象

    3. 在Docker上运行Hadoop

    3.1 使用官方镜像

    可以通过docker run指令运行镜像,同时打开bash命令行,如下所示:

    1. $ docker run -it sequenceiq/hadoop-docker:2.7.0 /etc/bootstrap.sh -bash
    2. bash-4.1#

    此时可以查看各种配置信息和执行操作,例如查看namenode日志等信息:

    1. bash-4.1# cat /usr/local/hadoop/logs/hadoop-root-namenode-d4e1e9d8f24f.out
    2. ulimit -a for user root
    3. core file size (blocks, -c) 0
    4. data seg size (kbytes, -d) unlimited
    5. scheduling priority (-e) 0
    6. file size (blocks, -f) unlimited
    7. pending signals (-i) 7758
    8. max locked memory (kbytes, -l) 64
    9. max memory size (kbytes, -m) unlimited
    10. open files (-n) 1048576
    11. pipe size (512 bytes, -p) 8
    12. POSIX message queues (bytes, -q) 819200
    13. real-time priority (-r) 0
    14. stack size (kbytes, -s) 8192
    15. cpu time (seconds, -t) unlimited
    16. max user processes (-u) unlimited
    17. virtual memory (kbytes, -v) unlimited
    18. file locks (-x) unlimited

    3.2 安装验证 

    需要验证Hadoop环境是否安装成功。打开容器的bash命令行环境,进入Hadoop目录:
    bash-4.1# cd $HADOOP_PREFIXbash-4.1# pwd/usr/local/hadoop

    然后通过运行Hadoop内置的实例程序来进行测试:

    1. bash-4.1# bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar grep input output 'dfs[a-z.]+'
    2. 16/08/31 10:00:11 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
    3. 16/08/31 10:00:15 INFO input.FileInputFormat: Total input paths to process : 31
    4. 16/08/31 10:00:16 INFO mapreduce.JobSubmitter: number of splits:31
    5. ...

    最后可以使用hdfs指令检查输出结果:

    bash-4.1# bin/hdfs dfs -cat output/*

     👑👑👑结束语👑👑👑

  • 相关阅读:
    文件批量移动自动创建文件夹及生成编号重命名,让整理更轻松
    针对http接口进行测试,使用Jmeter工具实现
    CI/CD和 DevOps还在傻傻分不清吗?今日一文让你通透
    搭建 Vite + Vue3 + TypeScript + Electron 项目
    C语言中的数组使用方法及案例分享
    【安全狗漏洞通告】Apache Spark 命令注入漏洞方案
    力扣(LeetCode)25. K 个一组翻转链表(C++)
    详解GaussDB(DWS)中的行执行引擎
    STC单片机定时器0手动状态脉冲定时器2自动状态脉冲加减速控制
    ASEMI代理力特LSIC1MO120E0080碳化硅MOSFET
  • 原文地址:https://blog.csdn.net/qq_62294245/article/details/126874261