1.分布式
种类:
1)去中心化分布式
2)主从架构
2. scp 远程复制
即 使得不同节点(不同计算机)之间进行相互通信。
当用户发出请求时,主节点需要联系其他节点把整个的请求的文件全部拿回来拼好发送给用户。这就是scp的作用。
[root@master bigdata19]# scp b.txt root@192.168.44.101:/usr/local/soft/bigdata19/ The authenticity of host '192.168.44.101 (192.168.44.101)' can't be established. ECDSA key fingerprint is SHA256:nEDrfVTg1vP/5UPwVpk/zpDP7zvr8Vq9PkOvuvUN2bo. ECDSA key fingerprint is MD5:2a:96:1a:b5:32:55:d2:89:23:59:4a:b0:d7:0d:45:3f. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.44.101' (ECDSA) to the list of known hosts. root@192.168.44.101's password: b.txt 100% 22 25.1KB/s 00:00
scp b.txt root@192.168.44.101:/usr/local/soft/bigdata19/
192.168.44.101为node1的IP地址。
2.1 hosts映射
在没有映射之前,master只知道192.168.44.101和192.168.44.102。而不知道其IP代表node1和node2。
在 /etc/hosts(先进入etc目录,有个hosts文件,进行vim编辑)中添加映射,添加映射时,也要把本机的IP添加进来。
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.44.100 master 192.168.44.101 node01 192.168.44.102 node02
添加时:写完IP之后 按TAB 加主机名。然后保存退出。
添加完毕后:就可以用scp b.txt node01:/usr/local/soft/bigdata19/
进行远程传输。
注意:
1.当前目录下有要远程传输的文件才能用scp命令,要传输的文件都不在当前目录下的话,调用scp命令就是无效的。
2.配置hosts映射时,master虽然配了,也知道node01,node02是谁,但是node01,node02并没有配置hosts映射,所以对于node01和node02而言,并不知道另外的主机是谁。所以都要配置hosts映射。
3.高效的配置:先配置master的所有映射关系,然后用scp命令传输hosts到node01,node02。
2.2 免密操作
因为进行远程传输,相当于连接不同的机器,需要进行输入密码才能连接。太过于繁琐,所以进行免密操作。
在任意目录下都可以配置免密
命令:ssh-keygen -t rsa 之后按下三次回车,生成密钥。
(密钥生成的位置在/etc/ssh)
命令:ssh-copy-id -i 主机名,将密钥发给其他主机。
为了防止出错,把不同的主机都生成密钥,并分发。
注意:
在进行远程复制文件夹及文件夹里的文件时,需要加上 -r 递归复制。
远程复制时:目标路径与复制的路径一致时,可以用pwd代替路径,但是需要加飘号,代表引用pwd的值:`pwd`
3.用户&用户组
drwx r-x r-x. 2 root root 19 7月 29 21:31 bigdata19
d:代表文件夹
r:代表可读 w:代表可写 x:代表可执行
3.1 用户组
1.用户组的添加:
groupadd 组名(在任何地方都可以添加)
[root@master /]# groupadd first
可以在/etc/group看到新添加的用户组
[root@master /]# cd etc
[root@master etc]# cat group
---其中 X 代表密码位-----用户组一般不会设置密码,一般对于用户设置密码。
---其中1000代表组的ID号---
2.用户组的修改:
groupmod -g 新的组ID -n 新的组名字 原有组名字
[root@master etc]# groupmod -g 1001 -n second first
[root@master etc]# cat group
3.用户组的删除:groupdel 组名
[root@master etc]# groupdel second
[root@master etc]# cat group
3.2 用户
1.添加用户:useradd 用户名
注意:不用任何参数,创建用户,系统会默认执行以下操作:
1)在 /etc/passwd 文件中创建一行关于hkd用户的数据
[root@master etc]# useradd hkd
[root@master etc]# cat passwd
2)在 /etc/shadow 文件中新增了一行关于hkd密码的数据
[root@master etc]# cat shadow
---!!---说明没有设置密码
3)在 /etc/group 文件中创建一行与用户名相同的组,例如hkd
[root@master etc]# cat group
4)在 /etc/gshadow 文件中新增一行与新增群组相关的密码信息,例如hkd
5)自动创建用户的家目录,默认在/home下,与用户名同名
2. 附加组
useradd -G 附加组名 -u 用户ID -s /sbin/nologin -c "shuser lisi" 用户名
[root@master /]# useradd -G first -u 1008 -c "第一" lisi
监控group如下:
监控passwd如下:
root : x : 0 : 0 : root : /root : /bin/bash
用户名 : 密码 : 用户ID : 用户组ID : 注释 : 家目录 : 解释器shell
3.查看用户信息
命令:id 用户名
4. 修改用户
命令:usermod 用户名
usermod -L 王五账户名
示例代码:
#usermod -L wangwu
含义:将王五账户暂时锁定
usermod -U 王五账户名
示例代码:
#usermod -U wangwu
含义:将王五账户解锁
passwd修改用户密码
# passwd 用户名
需要将王五的账户解锁,在使用usermod -U解锁时,我们看到一个错误信息如下:
usermod: unlocking the user's password would result in a passwordless account.
解锁这个账户,将导致一个没有密码的账户,因为之前王五的账户没有密码。这时候,我们就需要使用passwd命令,给王五的账户设置一个密码
5. 切换用户
命令:su 用户名
6. 删除用户
命令:userdel 用户名
但是删不掉home中的个人文件夹不会删除
一步到位就是:userdel -r 用户名
4.用户权限
明确:4:r 2:w 1:x
例如:rw- r-- r-- 就是644
4.1修改文件权限:chmod 数字 文件名
chmod 646 a.txt
----->权限就变成了rw- r-- rw-
chmod -R 666 test-------->将文件夹及其文件夹的内容全部改为rw- rw- rw-
4.2 修改文件所属:chown 用户名 文件名
chown hkd a.txt