张大鹏
全栈工程师,目标人工智能.
把该虚拟机当做模板机
对模板机进行配置,然后基于模板机进行克隆
模板机配置
配置主机名
vi /etc/sysconfig/network
注意:如果配置正确后,主机名显示不正常。可通过以下命令修改
# sysctl kernel.hostname=master
配置映射关系,可添加别名
vi /etc/hosts
建议:可提前规划集群, 在hosts中添加各节点的ip和主机名。
规划如下:
配置ip地址
vi /etc/sysconfig/network-scripts/ifcfg-eth0
注意:
minimal版中,网卡默认是不开机自启动的,需要修改ONBOOT为yes
修改后的ip配置:删除mac地址信息
可以直接删除映射关系配置文件,避免mac地址的冲突。
# rm –rf /etc/udev/rules.d/70-persistent-net.rules
关闭防火墙
设置快照
快照,相当于还原点,如果出现一些不可恢复的问题,可以进行还原。
右键 – 快照 – 拍摄快照
可选择快照 – 转到 进行快照还原
或者直接还原到最新快照
补充:在生产环境中,是没有快照这一说法,需要对重要的文件,进行备份,或者说写脚本,配置定时任务,进行一个定时的备份。
checkpoint
防火墙
Ubuntu16开启和关闭防火墙
开启防火墙
ufw enable
关闭防火墙
ufw disable
#查看防火墙状态
service iptables status
#开启防火墙
service iptables start
#关闭防火墙
service iptables stop
#重启防火墙
service iptables restart
或者
开启:/etc/init.d/iptables start
关闭:/etc/init.d/iptables stop
重启:/etc/init.d/iptables restart
#查看防火墙开机启动状态
chkconfig iptables –list
#开机启动
chkconfig iptables on
#关闭防火墙开机启动
chkconfig iptables off
/sbin/chkconfig --level 2345 iptables off 关闭防火墙的自动运行
学习阶段,建议关闭防火墙。
把该虚拟机当做模板机。用于生成快速生成其他机器。
克隆虚拟机
使用克隆方式,快速生成多台节点,组建集群。
关机,右键 – 管理 – 克隆
克隆源,可选当前状态或快照点。
克隆完成。
右键 – 设置
生成MAC地址
如果mac地址冲突或无效
解决方案1:
1,直接删除/etc/sysconfig/network-scripts/ifcfg-eth0中的mac配置信息
2,直接删除文件 /etc/udev/rules.d/70-persistent-net.rules
3,重启系统
解决方案2:
1,找到生成的最新的mac地址
2,修改ip地址配置文件, 修改为生成的mac地址:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
3,vi /etc/udev/rules.d/70-persistent-net.rules 修改配置文件
4,重启系统
scp & ssh
集群模式下,各节点之间如何方便的拷贝文件?
命令格式:
scp file 远程用户名@远程服务器IP:~/ (注意:冒号和目录之间不能有空格)
如果拷贝目录,需要加-r 选项。
使用root用户
eg: scp /etc/profile root@node2:/etc
eg: scp -r /usr/jdk1.8 node2:/usr/java
eg:scp hello.log node2:`pwd`
eg:scp hello.log node2:$PWD
注:使用`pwd`或者$PWD 默认到当前目录。
~:到当前用户的宿主目录
scp /etc/services node2:/root/service.hard
可以通过这种方式修改拷贝的文件名。
如何方便的切换到其他节点??
ssh node2
免密登录
在第一台机器上生成一对钥匙,公钥和私钥
当前用户的宿主目录下的.ssh目录多了两个文件
将公钥拷贝给要免密码登录的机器
注意:主机名和ip都可以(确保配置了主机名 ip的映射)
还需要输入密码
拷贝完成之后,会在要免密登录的机器上生成授权密码文件
验证免密码登录
注意:免密码登录是单向的
扩展:
ssh免密登录原理:
1, node1 使用 ssh-keygen –t rsa 生成公钥和私钥
ssh-copy-id root@node2 将公钥拷贝到node2上,实际上是把公钥内容追加到 authorized_keys文件中。
请求时:
1,node1向node2发送连接请求时,附带主机,ip地址等信息
node2收到请求后,去授权文件里查找node1的公钥,找到之后,随机生成一个字符串,并用公钥加密,并发送给node1
node1接收到密文之后,用私钥解密,并把解密结果返回给node2
node2拿到解密结果之后,与之前的字符串进行比较,如果相同,则可以登录成功。