大数据技术原理与应用(一)

一、Hadoop入门

1.1大数据技术介绍

大数据技术生态体系:
Hadoop 元老级分布式海量数据存储处理技术系统,擅长离线数据分析
Hbase 基于hadoop的分布式海量数据库,离线分析和在线业务通吃
Hive sql 基于hadoop的数据仓库工具,使用方便,功能丰富,使用方法类似SQL
Zookeeper 集群协调服务
Sqoop数据导入导出工具
Flume数据采集框架
Storm 实时流式计算框架,流式处理领域头牌框架
Spark 基于内存的分布式运算框架,一站式处理 all in one,新秀,发展势头迅猛
sparkCore
SparkSQL
SparkStreaming
机器学习:
Mahout 基于mapreduce的机器学习算法库
MLLIB 基于spark机器学习算法库

1.2hadoop基本概念

(1)Hadoop是用于处理(运算分析)海量数据的技术平台,且是采用分布式集群的方式;
(2)Hadoop两个大的功能:
 提供海量数据的存储服务;
 提供分析海量数据的编程框架及运行平台;
(3)Hadoop有3大核心组件:
①HDFS—hadoop分布式文件系统海量数据的存储(集群服务)
②MapReduce—分布式运算框架(编程框架)(导jar包写程序),海量数据运算分析(替代品:storm/spark等)
③Yarn—资源调度管理集群(可以理解为是一个分布式的操作系统,管理和分配集群硬件资源)

1.2为什么需要hadoop

在数据量很大的情况下,单击的处理能力无法胜任,必须采用分布式集群的方式进行处理,而用分布式集群的方式处理数据,实现的复杂程度呈级数增加,所以,在海量数据处理的需求下,一个通用的分布式数据处理技术框架能大大降低应用开发难度和减少工作量。

二、Hadoop安装

在虚拟机下linux环境中,配置好jdk环境中

(一)将下载好的Hadoop直接放入到linux中/usr/local/tools目录下

在这里插入图片描述

(二)使用tar zxvf Hadoop-2.4.1.tar.gz解压

在这里插入图片描述

(三)配置

①开主机名
在这里插入图片描述
②在集群中部署三台主机
在这里插入图片描述

进入/usr/local/tools/hadoop-2.4.1/etc/hadoop
①修改vi Hadoop-env.sh配置
在这里插入图片描述
②输入vi core-site.xml
在这里插入图片描述
③输入vi hdfs-site.xml
在这里插入图片描述

④修改mapred-site.xml.template为mapred-site.xml
在这里插入图片描述
输入vi mapred-site.xml
在这里插入图片描述
⑤ 输入vi yarn-site.xml
在这里插入图片描述
⑥ 修改slaves
在这里插入图片描述

(四)启动hadoop

1、首先进行格式化namenode 输入命令:bin/hadoop namenode -format
2、手动启动各服务进程
在相应服务器上启动hdfs的相关进程:
①启动namenode进程—— sbin/hadoop-daemon.sh start namenode
在这里插入图片描述
②启动datanode进程 ——sbin/hadoop-daemon.sh start datanode
在这里插入图片描述
③启动启动secondarynamenode进程 ——sbin/hadoop-daemon.sh start secondarynamenode
在这里插入图片描述
然后,验证hdfs的服务是否能正常提供:
bin/hdfs dfsadmin -report 查看hdfs集群的统计信息

Shell 脚本批量启动方式

在任意一台服务器上执行命令:
(一)启动hdfs服务:sbin/start-dfs.sh
(二)启动yarn服务:sbin/start-yarn.sh
或者:直接启动hdfs+yarn服务:sbin/start-all.sh

集群内部的SSH秘钥认证登陆机制配置(免密登陆)

配置的机制: 在登陆方生成秘钥对,然后将公钥复制给目标主机,在目标主机上将这个公钥加入授权文件–/.ssh/authorized keys

真实大量配置的时候直接使用ssh工具箱的工具:
1、在登陆方生成秘钥对,执行命令:ssh-keygen
2、执行这条指令
ssh-copy-id 免密的登陆的目标主机

(一)生成秘钥
在这里插入图片描述
在这里插入图片描述

三、HDFS

总的设计思想:
设计目标:提高分布式并发处理数据的效率(提高并发度和移动运算到数据)
分而治之:将大文件、大批量文件,分布式存放在大量独立的服务器上,以便于采取分而治之的方式对海量数据进行运算分析;
重点概念:文件切块,副本存放,元数据,位置查询,数据读写流

3.1 hdfs的shell操作

hadoop fs -操作命令 -参数
-ls #显示目录信息
–>hadoop fs -ls hdfs://hadoop-server-00:9000/
这些参数中,所有的hdfs路径都可以简写
–>hadoop fs -ls / 等同于上一条命令的效果

-copyFromLocal #从本地文件系统中拷贝文件到hdfs路径去
–>hadoop fs -copyFromLocal ./jdk.tar.gz /aaa/
-copyToLocal #从hdfs拷贝到本地
–>hadoop fs -copyToLocal /aaa/jdk.tar.gz
-put #等同于copyFromLocal
-get #等同于copyToLocal,就是从hdfs下载文件到本地
-getmerge #合并下载多个文件
–> 比如hdfs的目录 /aaa/下有多个文件:log.1, log.2,log.3,…
hadoop fs -getmerge /aaa/log.* ./log.sum

-moveFromLocal #从本地移动到hdfs
-moveToLocal #从hdfs移动到本地

-cp #从hdfs的一个路径拷贝hdfs的另一个路径
–>hadoop fs -cp /aaa/jdk.tar.gz /bbb/jdk.tar.gz.2

-mv #在hdfs目录中移动文件

-mkdir #在hdfs上创建目录
–>hadoop fs -mkdir -p /aaa/bbb/cc/dd
-rm #删除文件或文件夹
–> hadoop fs -rm -r /aaa/bbb/
-rmdir #删除空目录

-cat —显示文件内容
–>hadoop fs -cat /hello.txt

–appendToFile ----追加一个文件到已经存在的文件末尾
–>hadoop fs -appendToFile ./hello.txt hdfs://hadoop-server01:9000/hello.txt
可以简写为:
Hadoop fs -appendToFile ./hello.txt /hello.txt

-chgrp
-chmod
-chown
上面三个跟linux中的用法一样
–>hadoop fs -chmod 666 /hello.txt
-count #统计一个指定目录下的文件节点数量
–>hadoop fs -count /aaa/

-createSnapshot
-deleteSnapshot
-renameSnapshot
以上三个用来操作hdfs文件系统目录信息快照
–>hadoop fs -createSnapshot /
-df #统计文件系统的可用空间信息
-du
–>hadoop fs -df -h /
–>hadoop fs -du -s -h /aaa/*
-help #输出这个命令参数手册
-setrep #设置hdfs中文件的副本数量
–>hadoop fs -setrep 3 /aaa/jdk.tar.gz
-stat #显示一个文件或文件夹的元信息
-tail #显示一个文件的末尾
-text #以字符形式打印一个文件的内容

三、HBase

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java亮小白1997

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值