hadoop生态现状、介绍、部署

一、引出hadoop
1、hadoop的高薪现状
各招聘平台都有许多hadoop高薪职位,可以看看职位所需求的技能
----> hadoop是什么,为什么会这么高薪?引出大数据,大数据时代,大数据与云计算

2、大数据时代的介绍
大数据的故事,google根据海量数据所作出的一次流行病传播趋势预测,及时性和准确性都远超医疗体系根据传统方法所作出的预警,渲染大数据技术将给这个时代带来的巨大变革 ----> 大数据的4V特征  ----> 大数据技术带来的更多成功案例,及基于大数据技术的机器学习带来的无限憧憬

3、hadoop的由来和发展历程 
----> google所面临的困境 ----> 需求催生的技术革新 ----> 论文公布  ---->  dougcutting 山寨(捎带介绍一下道哥及其成就) ----> lucene nutch hadoop等项目的发起人 ----> yahoo ----> apache基金会管理维护
介绍apache基金会旗下的hadoop生态体系中各种开源项目,如hive  hbase  flume  spark  storm  sqoop   oozie  ......

4、hadoop解决了什么问题
实际场景,海量日志如何处理,海量网页数据如何处理
hdfs  解决了海量数据的分布式存储,高可靠,易扩展,高吞吐量
mapreduce   解决了海量数据的分析处理,通用性强,易开发,健壮性

5、hadoop的发展现况
大数据领域的标准开源解决方案,各大主流厂商都围绕hadoop进行周边开发和服务提供,去IOE化
重点以淘宝为例: 集群用途,个数,规模,云梯的架构
中国移动所使用的hadoop集群及其用途,各大厂商在使用hadoop

6、hadoop生态系统
----> 最底层平台 hdfs   yarn  mapreduce  spark
----> 应用层   hbase  hive pig  sparkSQL  nutch 
----> 工具类   zookeeper  flume 

二、hadoop介绍
1、如何学习hadoop
学什么?分轻重缓急,首先是整体技术架构,然后是应用场景,然后是开发规范,有余力可以深入原理--如源码)
怎样学?注意比较跟学习J2EE的差别
难不难?给以信心,强调要多动手,因为hadoop领域技术点多,不像j2ee那么单纯,在动手的过程中会遇到各种各样的问题,这样一能加深理解,二能提高学习和思考分析的能力,三能积累问题解决经验

2、hadoop的设计思想
单机性能纵向扩展的瓶颈,传统分布式存储入NFS所面临的单节点故障,磁盘冗余阵列所带来的成本问题
----> 需要通过集群协作来解决:水平扩展,集群化处理 ,低成本,可扩展,高可靠 
----> 集群协作随之而来的系统复杂度,急需一个通用的平台封装底层复杂度,降低使用开发难度

hdfs设计思想介绍 
    ----主从结构, 主节点namenode,从节点datanode ,简单介绍其角色责任,节点数量
用仓库管理系统的比喻方式来介绍一遍hdfs的设计思想:
    ---->管理员,仓库的角色
    ---->可靠性的考虑
    ---->吞吐量的考虑
    ---->存储和读取的流程

mapreduce设计思想介绍 
    ----主从结构,主节点jobtracker,从节点 tasktracker,整个框架如何将任务并发化,如何实现容错
    ---->用一个海量求和的案例来说明运算的并发化思想:
         a、用一个线程一次性全量求和
         b、将整个求和任务分成两个步骤,第一个步骤局部求和,这样可以并发进行;第二个步骤必须全局处理,用一个线程来执行,但是它的输入
         数据集已经很小,不会成为瓶颈
    ---->并发思想的编程模型实现了,但是并发协作的机制产生了大量公共管理问题,引出mapreduce的资源管理,任务调度,错误重试,并从这里可以引出hadoop2.0的yarn的思想及与hadoop1.0的对比

三、hadoop的部署----(细节在《hadoop2.4.1伪分布式搭建.txt》中)
1、linux系统的安装、配置(这部分都是实际操作演示)
根据以往经验,学员对于虚拟机软件特别是虚拟网络环境很困惑,这里需要详细讲一下虚拟机的思想
可先讲实际环境,要物理机,要交换机,要网络配置
那么,在虚拟环境下,同样需要具备这些要素,缺一不可,只是机器,交换机需要用虚拟的方式产生的而已;然后详细讲一下交换机和网关的概念,引出nat和bridge桥接方式的思想和差别 

准备工作:vmware虚拟机软件,centos6.5的安装,虚拟机软件的vmnet配置,nat方式或者桥接方式
a、网络配置----> 主机名,ip地址,域名映射 

先用ifconfig查看目前的活跃网卡,然后修改网卡的ip地址配置
setup配置ip地址(简易图形界面)或者
vi /etc/sysconfig/networking/devices/ifcfg-eth0 配置文件来修改ip地址

IPADDR=""
NETMASK=""
GATEWAY=""

主机名和域名映射的配置:
vi /etc/sysconfig/network  本机的主机名
vi /etc/hosts  集群中的主机域名映射表

----> 检验配置是否生效
ping hostname观察网络配置是否生效


b、系统配置 
----> sudoers加入普通用户,以便于利用sudo指令、时间配置,启动级别配置,防火墙配置
service iptables stop 关闭防火墙服务
chkconfig iptables off关闭防火墙自启动
service iptables status检查防火墙关闭情况
chkconfig iptables --list 查看防火墙自启动情况

2、JDK的安装(细节在《hadoop2.4.1伪分布式搭建.txt》中)
JDK安装包获取----> 安装包的上传 ----> 安装路径规划,安装包解压 ----> 环境变量的配置

secureCRT 
vsftp

tar  -zxvf
vi  /etc/profile
export JAVA_HOME=/usr/java
export PATH = $PATH:$JAVA_HOME/bin

生效

source /etc/profile

3、安装hadoop(细节在《hadoop2.4.1伪分布式搭建.txt》中)
hadoop版本的选择 hadoop-1.2.1  hadoop-2.2.0   hadoop-2.4.1
----> 下载安装包 http://archive.apache.org/dist 
----> 上传安装包到虚拟机
安装路径规划 ----> 解压 ----> 目录结构简介

伪分布式安装配置文件
vi hadoop-env.sh

export JAVA_HOME=/usr/java/jdk1.7.0_65

core-site.xml

<property><name>fs.defaultFS</name><value>hdfs://itcast:9000</value>
</property>
<property><name>hadoop.tmp.dir</name><value>/home/hadoop/hadoop-2.4.1/tmp</value>
</property>


hdfs-site.xml

<property><name>dfs.replication</name><value>1</value>
</property>

mapred-site.xml

<property><name>mapreduce.framwork.name</name><value>yarn</value>
</property>

yarn-site.xml

<property><name>yarn.resourcemanager.hostname</name><value>itcast</value>
</property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property>

配置/etc/profile

export HADOOP_HOME = 
export PATH

4、启动hadoop
格式化 hdfs namenode -format
start-all.sh
启动过程中会多次要求输入密码,引出后面会讲的SSH无密登陆配置
jps查看并介绍进程
namenode
secondarynamenode
datanode
nodemanager
resourcemanager

web管理界面的使用和介绍

四、ssh免密码登陆配置
1、ssh介绍,登陆演示(需要增加一台虚拟机)
2、ssh免密码登陆的秘钥机制
3、ssh秘钥配置,权限设置

ssh-keygen.sh -t rsa

~/.ssh 目录介绍

id_ras   id_rsa.pub  known_hosts
ssh-copy-id  desthost 或scp +  cat >> 命令 


4、验证
5、ssh免密码登陆的原理,握手及身份验证流程


五、hadoop的可用性验证
1、hdfs验证
通过网页访问hdfs
hdfs  shell 命令 
hdfs dfsadmin -report查看hdfs集群状态
put  get  mv  rm的演示 

2、yarn验证
跑hadoop自带例子程序

hadoop jar app/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /input /output

六、Hadoop学习资源下载

Hadoop-HDFS-Shell-学习资料及文档、Java代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/92248.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

buuctf-[WUSTCTF2020]CV Maker

打开环境 随便登录注册一下 进入到了profile.php 其他没有什么页面&#xff0c;只能更换头像上传文件&#xff0c;所以猜测是文件上传漏洞 上传一句话木马看看 <?php eval($_POST[a]);?>回显 搜索一下 添加文件头GIF89a。上传php文件 查看页面源代码&#xff0c;看…

【分布式云储存】Springboot微服务接入MinIO实现文件服务

文章目录 前言技术回顾准备工作申请accessKey\secretKey创建数据存储桶公共资源直接访问测试 接入springboot实现文件服务依赖引入配置文件MinIO配置MinIO工具类 OkHttpSSLSocketClient兼容ssl静态资源预览解决方案资源上传预览测试测试结果 前言 上篇博客我们介绍了分布式云存…

Unity之Hololens如何升级MRTK内置shader支持URP

一.前言 什么是Hololens? Hololens是由微软开发的一款混合现实头戴式设备,它将虚拟内容与现实世界相结合,为用户提供了沉浸式的AR体验。Hololens通过内置的传感器和摄像头,能够感知用户的环境,并在用户的视野中显示虚拟对象。这使得用户可以与虚拟内容进行互动,将数字信…

php时间选择器插件与安全过滤参数发生空格冲突

php参数过滤时&#xff0c;将“ ”作为隐患予以禁止&#xff0c;但是在时间传递时&#xff0c;如2023-09-30 10:00:00作为变量传递时&#xff0c;被禁止。 php安全参数过滤 function safe_replace($str) {$disallow_str array(%27, %2527, *, ", "", ;, <…

Qt Creator 预览界面 快捷键

一般来说&#xff0c;我们运行Qt程序所花费的时间是比较长的&#xff0c;那有时我们只改变了界面&#xff0c;那么此时花费如此长的时间去运行程序来观察界面改动的效果是非常浪费时间的行为。 此时我们可以选择预览界面来观察界面改动后的效果&#xff1a;

Java性能调优必备知识学习路线

性能调优是Java开发中一个非常重要的环节&#xff0c;它可以帮助我们提高系统的性能、稳定性、可靠性和用户体验&#xff0c;从而提高用户体验和企业竞争力。 目录 一、为什么要学习Java性能调优&#xff1f; 二、如何做好性能调优&#xff1f; 2.1 扎实的计算机基础 2.2 …

通过Nginx重新认识HTTP错误码

文章目录 概要一、HTTP错误码1.1、1xx1.2、2xx1.3、3xx1.4、4xx1.5、5xx 二、Nginx对常见错误处理三、参考资料 概要 在web开发过程中&#xff0c;通过HTTP错误码快速定位问题是一个非常重要的技能&#xff0c;同时Nginx是非常常用的一个实现HTTP协议的服务&#xff0c;因此本…

数字时代古文的传承———云南文化瑰宝“爨文化“(我为家乡发声)

文章目录 前言⭐ "爨"意味着什么&#xff0c;究竟何为"爨文化"&#xff1f;⭐ 爨文化鲜明的特点1.经济生活2.政治生活3.文化艺术 ⭐ 数字时代古文的传承与传播1.藏品数字化2.建立数据库3.传播大众化 前言 爨文化是继古滇文化之后崛起于珠江正源南盘江流域…

jieba.posseg是jieba中的一个组件,它用于对文本进行词性标注

jieba.posseg是Python中的一个分词工具&#xff0c;它可以将文本切割成词语&#xff0c;并且为每个词语标注词性。这个工具可以帮助我们更好地理解和处理自然语言文本。而pseg则是jieba.posseg的别名&#xff0c;用于方便快捷地进行调用。 下面是一个简单的例子&#xff0c;展…

jvm内存分配与回收策略

自动内存管理 解决两个问题 自动给对象分配内存 对象一般堆上分配&#xff08;而实际上也有可能经过即时编译后被拆散为标量类型并间接地在栈上分配&#xff09; 新生对象通常会分配在新生代&#xff0c;少数情况下&#xff08;例如对象大小超过一定阈值&#xff09;也可能…

Windows下使用VS2010编译出带pdb可调试的FFmpeg库

本人主要在windows环境下开发,Linux下的gpb调试工具又不如vs调试方便(使用过其他调试工具才知道,vs果真为宇宙最强调试工具),所以决定在windows编译可以调试FFmpeg,以方便调试和学习FFmpeg内部代码。 有过在visual studio下编程的小伙伴应该都知道vs的调试信息主要依靠于…

原型、原型链、判断数据类型

目录 作用 原型链 引用类型&#xff1a;__proto__(隐式原型)属性&#xff0c;属性值是对象函数&#xff1a;prototype(原型)属性&#xff0c;属性值是对象 Function&#xff1a;本身也是函数 相关方法 person.prototype.isPrototypeOf(stu) Object.getPrototypeOf(objec…

JavaScript中如何确定this的值?如何指定this的值?

&#x1f380;JavaScript中的this 在绝大多数情况下&#xff0c;函数的调用方法决定了this的值&#xff08;运行时绑定&#xff09;。this不能在执行期间被赋值&#xff0c;并且在每次函数呗调用时this的值也可能会不同。 &#x1f37f;如何确定this的值&#xff1a; 在非严格…

cesium 雷达扫描 (波纹线性雷达扫描效果)

cesium 雷达扫描 (波纹线性雷达扫描效果) 1、实现方法 使用ellipse方法加载圆型,修改ellipse中material方法来实现效果 2、示例代码 2.1 <!DOCTYPE html> <html lang="en"><head>&l

番外6:下载+安装+配置Linux

#########配置Linux---后续 step08: 点击编辑虚拟机设置&#xff0c;选择下载好的映像文件.iso进行挂载&#xff1b; step09: 点击编辑虚拟机选项&#xff0c;选择UEFI启动模式并点击确定&#xff1b; step10: 点击开启虚拟机&#xff0c;选择Install rhel &#xff1b; 备注&…

USART串口协议

通信接口 •通信的目的&#xff1a;将一个设备的数据传送到另一个设备&#xff0c;扩展硬件系统 • 通信协议&#xff1a;制定通信的规则&#xff0c;通信双方按照协议规则进行数据收发 全双工&#xff1a;指通信双方能够同时进行双向通信&#xff0c;一般来说&#xff0c;全双…

美消费增长弱于预期,11月不加息概率升破八成

29号&#xff0c;就在美政府即将停摆关门之际&#xff0c;经济分析局按时公布了8月份美国个人消费支出&#xff08;PCE&#xff09;价格指数以及核心消费支出&#xff08;Core PCE&#xff09;价格指数。 其中&#xff0c;2023年8月美国个人消费支出价格指数环比上涨0.4%&#…

imgui开发笔记<1>、ubuntu环境下快速应用

去这个链接下载imgui源码&#xff08;在此之前需要安装opengl glfw3等等&#xff09;&#xff1a; sudo apt-get install libglfw3-dev https://github.com/ocornut/imgui 我这里源码下载到/home/temp/imgui目录下&#xff0c;咱们不需要编译源码成库&#xff0c;而是直接将下…

初阶数据结构(四)带头双向链表

&#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;数据结构 &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&#x1f69a; &#x1f339;&#x1f339;&#x1f339;关注我带你学习编程知识 带头双向链表 链表的相关介绍初始化链表销毁链…

leetcode456 132 Pattern

给定数组&#xff0c;找到 i < j < k i < j < k i<j<k&#xff0c;使得 n u m s [ i ] < n u m s [ k ] < n u m s [ j ] nums[i] < nums[k] < nums[j] nums[i]<nums[k]<nums[j] 最开始肯定想着三重循环&#xff0c;时间复杂度 O ( n 3 )…