SSH免密登陆
1、生成密钥对
#rsa 是加密算法
ssh-keygen -t rsa
然后一路回车
2、查看生成的密钥对id_rsa.pub
是公钥,id_rsa
是私钥
输入
ls .ssh
输出
id_rsa id_rsa.pub known_hosts
2、将公钥发送到需要免密登陆的机器
ssh-copy-id -i .ssh/id_rsa.pub root@redhat111
3、根据提示输入密码
4、完成SSH免密登陆
SSH免密登陆原理(11条)
登陆机器A,目标登陆机器B
1、A生成密钥对
2、A把自己的公钥,发送给需要免密登陆的机器B
3、B接受A的公钥,保存在本地文件夹下
4、B随机生成字符串Str1
5、B利用A的公钥加密生成的字符串Str2
6、B将Str2发送给A
7、A接收B发送的加密Str2
8、A通过自己的私钥,将Str2解码为Str3
9、A将解码后的Str3,发送给B
10、B接收A发送的字符串Str3
11、对比Str1是否等于Str3,相同则通过验证,不同则不能免密登陆
Apache Hadoop的体系结构(重要)
(一)HDFS的体系结构
1主从结构
- 主节点:NameNode
- 从节点:DataNode
- 负责日志元信息合并: SecondaryNode
2、NameNode
(1)职责
·管理HDFS
·接收客户端请求
·维护文件元信息(fsimage),日志文件(edits)
fsimage:
文件名:a.avi
路径:/movie
大小:150M
数据块:2
第一个数据块{DN1:5}{DN2:8}{DN1:10}
第二个数据块{DN3:8}{DN1:10}{DN3:9}
(2)元文件位置
(*)位置:/root/training/hadoop-2.7.3/tmp/dfs/name/current/fsimage_000000000000000024
(*)内容:是一个乱码的二进制文件,数据块的目录信息
(*)文件转换:
hdfs oiv -i fsimage_0000000000000000243 -o ~/a.xml -p XML
(3)日志文件
(*)位置:/root/training/hadoop-2.7.3/tmp/dfs/name/current/edits_inprogress_0000000000000000244
inprogress代表当前的操作日志
(*)二进制
(*)格式转换
hdfs oev -i edits_inprogress_0000000000000000244 -o ~/b.xml
b.xml
<RECORD>
<OPCODE>OP_MKDIR</OPCODE>
<DATA>
<TXID>7</TXID>
<LENGTH>0</LENGTH>
<INODEID>16386</INODEID>
<PATH>/input</PATH>
<TIMESTAMP>1504876545684</TIMESTAMP>
<PERMISSION_STATUS>
<USERNAME>root</USERNAME>
<GROUPNAME>supergroup</GROUPNAME>
<MODE>493</MODE>
</PERMISSION_STATUS>
</DATA>
</RECORD>
(4)edit文件记录文件记录了最新的状态而且会定期将edits中的日志合并到fsimage中
(5)NameNode为了提高查询fsimage性能,缓存1000M的元信息
(*)位置
/root/training/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
(*)内容
44 # The maximum amount of heap to use, in MB. Default is 1000.
45 #export HADOOP_HEAPSIZE=
46 #export HADOOP_NAMENODE_INIT_HEAPSIZE=""
首先在内存中查找元信息,找到返回给客户端,如果内存找不到就IO操作到fsimage信息,到客户端,消耗性能
DataNode
(1)数据节点,伪分布1,全分布环境2
(2)数据块
Hadoop1.x 64M Hadoop2.x 128M
举例:
# hadoop-2.7.3.tar.gz(204M)
hdfs dfs -mkdir /tools
hdfs dfs -put hadoop-2.7.3.tar.gz /tools
(3)位置:
/root/training/hadoop-2.7.3/tmp/dfs/data/current/BP-1969327642-192.168.142.129-1504748687001/current/finalized/subdir0/subdir0
(4)内容
-rw-r--r--. 1 root root 134217728 Sep 11 10:20 blk_1073741850
-rw-r--r--. 1 root root 1048583 Sep 11 10:20 blk_1073741850_1026.meta
-rw-r--r--. 1 root root 79874467 Sep 11 10:20 blk_1073741851
-rw-r--r--. 1 root root 624027 Sep 11 10:20 blk_1073741851_1027.meta
.meta记录了 数据块文件是哪个文件的数据块
134217728+79874467=204M
(134217728=128M,剩余的为原来大小)
(4)设置数据冗余
伪分布设置为1 文件为1分
数据块冗余度 和 数据节点的个数一致 最大不超过3
4、SecondaryNameNode
定期将edits中的日志文件合并到元文件信息中
(1)edit 体现了HDFS的最新状态
Oracle产生了检查点checkpoint时,Oracle会以最高优先级,唤醒数据库的写进程(DBWn),来写脏数据
Yarn体系机构
1.是一个容器,装MapReduce程序
2.资源调度平台
3.主从结构
- 主节点:ResourceManage
- 从节点:NodeManage
4.执行MapReduce程序
hadoop jar ****
日志:
7/09/08 22:17:14 INFO client.RMProxy: Connecting to ResourceManager at /192.168.157.111:8032
17/09/08 22:17:34 INFO mapreduce.Job: map 0% reduce 0%
17/09/08 22:17:43 INFO mapreduce.Job: map 100% reduce 0%
17/09/08 22:17:55 INFO mapreduce.Job: map 100% reduce 100%
5.一个MR任务在Yarn中调度的过程