大数据Hadoop介绍和安装部署测试

4 篇文章 0 订阅
4 篇文章 0 订阅

大数据

大数据的定义

大数据指无法在一定时间范围内用常规软件工具进行捕捉/管理和梳理的数据集合,需要新处理模式才能具有更强的决策力/洞查发现力和流程优化能力的海量/高增长率和多样化的信息资产

-是指从各种类型的数据中,库阿斯获得有价值的信息

什么是大数据

大数据能做什么

企业组织利用相关数据分析帮助他们降低成本,提高效率,开发[新产品,做出更明智的业务决策等

-把数据集合后进行分析的信息和数据关系性,用来擦觉商业趋势,判定研究质量,避免疾病扩散,打击犯罪或测定即使交通路况等

-大规模并行处理数据库,数据挖掘电网,分布式文件系统或数据库,云计算平和可扩展的存储系统

大数据的特性 5V

volume 大体量 可从数百TB到数十数百PB,甚至EB的规模
-variety 多样性 大数据包括各种格式和形态的数据
-velocity 时效性 很多数据需要在一定的时间限度下得到及时处理
-veracity 准确性 处理的结构要保证一定的准确性
-value 大价值 大数据包含很多深度的加载,大数据分析挖掘和;利用将带来巨大的商业价值

大数据和Hadoop

Hadoop是什么

Hadoop 是一种分析和处理海量数据库的软件平台
-hadoop 是一款开源软件,使用java开发
-hadoop 可以提供一个分布式基础架构

hadoop特点

高可靠,高扩展性,高效性,高容错性,低成本

Hadoop常用组件

HDFS:hadoop分布式文件系统(核心组件)
MapReduce:分布式计算框架(核心组件)
Yarn:集群资源管理系统(核心组件)

zookeeper:分布式协作服务
hbase:分布式列存数据库
hive:基于hadoop的数据仓库
sqoop:数据同步工具
pig:基于hadoop的数据流系统
mahout:数据挖掘算法库
flume:日志收集工具

HDFS :hadoop体系中数据存储管理的基础,是一个高度容错的系统,用于低成本的通用硬件上运行

角色和概念

client
-namenode
-secondarynode
-datanode

Namenode : Master节点,管理HDFS的名称空间和数据块映射信息,配置副本策略,处理所有客户端请求

secondary Namenode
-定期合并fsimage 和fsedits
-紧急情况下,可辅助恢复Namenode

但secondary NameNode 并非NameNode的热备

HDFS角色及概念

DataNode

数据存储节点,存储实际的数据
-汇报存储信息给NameNode

Client

切分文件
-访问HDFS
-与NameNode交互,获取文件位置信息
-与DataNode交互,读取和写入数据

Block

每块缺省128M大小
-每块可以多个副本

MapReduce 角色和概念

角色和概念

jobtracker

tasktracker
-map task
-reduce task

JobTracker

Master节点只有一个
-管理所有作业/任务的监控,错误处理等
-将任务分解成;一系列任务,并分派给task tracker

tasktracker

slave节点,一般是多台
-运行map task 和reduce task
-并与jobTracker 交互,汇报状态

Mapreduce

map task :解析每条数据记录,传递给用户编写的map()并执行,将输出结果写入本地磁盘
-如果为map-only作业,直接写入HDFS

reduce task :从map task 的执行结果中,远程读取输入数据,对数据进行排序,将数据按照分组传递给用户编写的reduce函数执行

Yarn 是Hadoop的一个通用的资源管理系统

Yarn 角色

resourcemanager
-nodemanager

–applicationmaster
–container
–client

Yarn角色和概念

ResourceManager

处理客户端请求
-启动/监控applicationManager
-监控nodemanager
-资源分配与调度

Nodemanager

单个节点上的资源管理
-处理来自resourcemanager的命令
-处理来自applicationmaster的命令

Container

对任务运行环境的抽象,封装了CPU,内存等
-多维资源以及环境变量,启动命令等任务运行相关的资源分配与调度

ApplicationMaster

数据切分
-为应用程序申请资源,[分配给内部任务
-任务监控与容错

Client

用户与Yarn交互的客户端程序
-提交应用程序,监控应用程序状态,杀死应用程序

Yarn的核心思想

将jabtracker和task Tracker进行分离,她由以下几大构成组件
-ResourceManager一个全局的资源管理器
-Nodemanager每个节点RM代理
-ApplicationManager表示每个应用
-每一个ApplicationMaster有多个Container在Nodemanager上运行

Hadoop的部署模式有三种

-单机
-伪分布式
-完全分布式

hadoop 安装配置

获取软件

真机提供hadoop软件或者官网下载http://hadoop.apache.org
[root@room12pc14 home]# cd /linux-soft/04/
[root@room12pc14 04]# ls
ansible docker elk hadoop openstack
[root@room12pc14 04]# scp -r hadoop/ root@192.168.1.60:/root //拷贝给真机
zookeeper-3.4.13.tar.gz 100% 35MB 135.6MB/s 00:00
kafka_2.12-2.1.0.tgz 100% 53MB 123.2MB/s 00:00
hadoop-2.7.7.tar.gz 100% 209MB 88.2MB/s 00:02

hadoop主机 nn01

安装java环境

[root@nn01 ~]# yum -y install java-1.8.0-openjdk-devel
[root@nn01 ~]# java -version
openjdk version “1.8.0_131”
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
[root@nn01 ~]# jps
1235 Jps

安装hadoop

[root@nn01 ~]# ls
hadoop

[root@nn01 ~]# cd hadoop/

[root@nn01 hadoop]# ls //查看获取到了软件
hadoop-2.7.7.tar.gz kafka_2.12-2.1.0.tgz zookeeper-3.4.13.tar.gz

[root@nn01 hadoop]# tar -xf hadoop-2.7.7.tar.gz //解包
[root@nn01 hadoop]# ls
hadoop-2.7.7 kafka_2.12-2.1.0.tgz
hadoop-2.7.7.tar.gz zookeeper-3.4.13.tar.gz

[root@nn01 hadoop]# mv hadoop-2.7.7 /usr/local/hadoop //改路径
[root@nn01 hadoop]# cd /usr/local/hadoop
[root@nn01 hadoop]# ls
bin include libexec NOTICE.txt sbin
etc lib LICENSE.txt README.txt share

[root@nn01 hadoop]# ./bin/hadoop //报错,hadoop找不到java
Error: JAVA_HOME is not set and could not be found.

解决报错问题

[root@nn01 hadoop]# rpm -ql java-1.8.0-openjdk //查找java安装路径
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64/jre/bin/policytool
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64/jre/lib/amd64/libawt_xawt.so
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64/jre/lib/amd64/libjawt.so
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64/jre/lib/amd64/libjsoundalsa.so
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64/jre/lib/amd64/libsplashscreen.so
/usr/share/applications/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64-policytool.desktop
/usr/share/icons/hicolor/16x16/apps/java-1.8.0.png
/usr/share/icons/hicolor/24x24/apps/java-1.8.0.png
/usr/share/icons/hicolor/32x32/apps/java-1.8.0.png
/usr/share/icons/hicolor/48x48/apps/java-1.8.0.png

[root@nn01 hadoop]# cd ./etc/hadoop/ //进入下2层目录
[root@nn01 hadoop]# ls
capacity-scheduler.xml hadoop-policy.xml kms-log4j.properties ssl-client.xml.example
configuration.xsl hdfs-site.xml kms-site.xml ssl-server.xml.example
container-executor.cfg httpfs-env.sh log4j.properties yarn-env.cmd
core-site.xml httpfs-log4j.properties mapred-env.cmd yarn-env.sh
hadoop-env.cmd httpfs-signature.secret mapred-env.sh yarn-site.xml
hadoop-env.sh httpfs-site.xml mapred-queues.xml.template
hadoop-metrics2.properties kms-acls.xml mapred-site.xml.template
hadoop-metrics.properties kms-env.sh slaves

[root@nn01 hadoop]# vim hadoop-env.sh //修改配置文件2行
25 export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64/jre"
33 export HADOOP_CONF_DIR="/usr/local/hadoop/etc/hadoop"

[root@nn01 hadoop]# cd /usr/local/hadoop //进入目录
[root@nn01 hadoop]# pwd
/usr/local/hadoop
[root@nn01 hadoop]# ls
bin etc include lib libexec LICENSE.txt NOTICE.txt README.txt sbin share
[root@nn01 hadoop]# ./bin/hadoop //运行
Usage: hadoop [–config confdir] [COMMAND | CLASSNAME]

Most commands print help when invoked w/o parameters.

[root@nn01 hadoop]# mkdir /usr/local/hadoop/input //创建收集目录
[root@nn01 hadoop]# ls
bin etc include input lib libexec LICENSE.txt NOTICE.txt README.txt sbin share
[root@nn01 hadoop]# cp *.txt /usr/local/hadoop/input //拷贝文件到收集目录
[root@nn01 hadoop]# ./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount input output //调用jar包,运行,输入文件,输出文件

[root@nn01 hadoop]# cat output/part-r-00000 //查看统计结果,没有排序

…配置和测试完成…

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值