前期搭建准备:
vim /etc/hosts 将IP地址和主机名加入在最后
**免密登录的设置
https://www.cnblogs.com/wenxingxu/p/9597307.html
- 进入主目录 h1m1 下/root
- ls -a 查看.ssh .ssh是放密匙的地方,cd进入.ssh/
- .ssh/文件夹下,ssh-keygen -t rsa 三次回车(即默认)
ssh-keygen 生成密匙 -t rsa 使用rsa算法进行加密
-------------------------------------------------------------------------------------------------
下面直接融合scp id_rsa.pub h1s2:/root/.ssh/authorized_keys
- scp id_rsa.pub h1s2:/home/ 即h1m1登录h1s2无密码 拷贝到/home文件夹 任意
- 然后ssh h1s2 进入h1s2
- cd /home/ 进入h1s2的家目录
- cat id_rsa.pub >> /root/.ssh/authorized_keys 完成
-------------------------------------------------------------------------------------------------
命令行 *** 作举例:
scp C:/Users/Administrator/Desktop/xx.txt [email protected]:~/auto-bin ssh root@虚拟机ip地址 //win进入linux
基础知识梳理:
对应关系
ARP(IP-MAC)
DNS(域名DNS-IP)
>和>>的区别、<
1、输入输出的区别:
>>和>都属于输出重定向,<属于输入重定向。
2、文件内容的区别:
>会覆盖目标的原有内容。当文件存在时会先删除原文件,再重新创建文件,然后把内容写入该文件;否则直接创建文件。
>>会在目标原有内容后追加内容。当文件存在时直接在文件末尾进行内容追加,不会删除原文件;否则直接创建文件。
slaves: nodemanager——datanode 主机 需要大量硬盘
master: resourcemanager——namenode 需要大量内存
——所以配置HDFS集群的成本主要在于内存和硬盘
HDFS: namenode——datanode 是基于主从结构(slaves/master)构建
YARN: resourcemanager——nodemanager
元数据:管理数据的数据。存在namenode里。
HDFS:即把很多硬盘变成一个硬盘
磁盘的存储时间=定位时间+传输时间
题目:
1.800个400M文件,存放到30个HDFS的DATANODE节点,每节点传输速度20M/S,每个文件定位时间1.5S,分配800个文件到30个节点的调度时间为3S.
问:最快完成存储时间?
800个400M文件 ↓ 20M/S 分配时间3S 30节点 800/30=26……20
一个文件传到一个结点:400/20=20S 定位+传输:20+1.5=21.5
26次传输21.5*26=559
剩下一次559+21.5=580.5
580.5+3=583.5S
分布式文件抽象的优势:
1.一个文件可以大于每个磁盘
2.文件不用全在一个磁盘上
3.简化了存储子系统的设计
遇到问题:
1.Datanode无法启动——
因为每一次启动sh,都会格式化,但因为current已经存在,便无法建立此文件夹,导致Namenode和DataNode的ID不一致,从而使DataNode无法启动。
删除current文件夹,查到文件夹在/user/lib/hadoop/dfs/data/current
查找命令 find / name current //查找全局中name为current
数据流
先启动集群
hadoop fs -mkdir /2ban
在hdfs集群中创建2ban文件夹
hadoop fs -put /home/wangke/1.txt /2ban/
将本地文件传到集群中
cd -回到上一个目录
使用grep查找文件内容
查询当前时间 echo "date" | ssh h1m1
设置当前时间 date -s "0:0:0"
HDFS
HDFS中文件是一次性写入,并任意时候只能有一个写入。
心跳信号:证明是否还存在。即该datanode节点工作正常。
块状态报告:证明是否运行正常。即该datanode上所有数据块的列表。
namenode全权管理数据块的复制,它周期性地从集群中每个datanode接受心跳信号和块状态报告。
HDFS的基本存储单元——BLOCK
私网IP:50070 即Hadoop管理界面 :8042 节点情况
冷备份:在数据库关闭后进行备份,适用于所有模式的数据库
热备份:在数据库仍处于工作状态时践行备份,针对归档模式的数据库
遇到问题:
1.在current文件夹中找不到subdir0文件夹
因为hdfs是分布式,所以存在哪一块硬盘(datanode)不一定。在每一块硬盘上都找一下。
2.文件传到集群之后找不到
传到集群上之后,文件名会变化。
3.将副本数改成3后,若节点共3个,那么三台机器是否都有?
**4.datanode中磁盘挂了怎么办
Datanode正常服务
坏掉的磁盘上的数据尽快通知NameNode
**5.datanode所在机器挂了怎么办
5.1 namenode怎么知道datanode挂了
datanode每3秒向namenode发送心跳,若10分钟未发送,则namenode人该该datanode已dead,namenode将取出该datanode上对应的block,并对其进行复制。
**6.namenode挂了怎么办
持久化元数据
*** 作日志 edit log:记录文件创建、删除、修改文件属性等 *** 作
Fsimage(HDFS元数据镜像文件):
包含完整的命名空间
File->BLOCK的映射关系
文件属性(ACL,quota,修改时间等)
Secondary Namenode
将Namenode的fsimage(HDFS元数据镜像文件)与edit log(HDFS文件改动日志)从namenode复制到临时目录
将fsimage同edit log合并,并产生新的fsimage(减少启动时间)
将产生的心fsimage上传给namenode
清除namenode中的edit log
注意:Secondary Namenode仅对namenode中元数据提供冷备份方案。
**7.client挂了怎么办
一致性问题。
( lease recovery 自我释放)
MapReduce分布计算
是一种简单易用的软件框架。以一种可靠容错方式并行处理数据集(TB字节级的数据)
Map 并行计算 Reduce 汇总
MAP/REDUCE 数据流程:
1 Input 将票拿来 (不可缺省)
2 Split 将票分出一堆给别人(由namenode自己/系统完成)
3 recordreader 读票的把票捡起来(比如按颜色捡起票)(由namenode自己/系统完成)
4 mapper 把票分类摆到一起(比如蓝色的票放在一起)(不可缺省)
5 combiner
6 shuffler
7 sort 排序(比如都将蓝色票放在第一位)
8 reducer 汇总
9 output 输出 (不可缺省)
实 *** :统计wk.txt文件中的xxxx个数
1.hadoop jar /usr/lib/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar
wordcount /data/wk.txt /2ban
2.hadoop fs -ls /2ban/
3.找到文件是part-r-00000打开即是统计数据
hadoop fs -cat 2ban/part-r-00000
学习资料搜集:
Linux下如何在不解压jar包查看或修改配置文件_woshixianlaid的博客-CSDN博客_linux查看jar包文件内容
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)