(创建3个虚拟机,1个作为主服务器,二个作为从节点)
一、安装虚拟机
Windwos:VMware Workstation Pro
MAC:VMware Fusion
安装:
** 创建空虚拟机
** 安装虚拟机时的资源规划
Linux版本:Centos 6.8 或 CentOS 7.2 1611内核
内存:
linux01:
内存:4G
CPU:1个 2core
linux02:
内存:2G
CPU:1个 1core
linux03
内存:2G
CPU:1个 1core
** 虚拟机网络设置
** $ su - root
输入密码
** # vi /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=192.168.216.20
NETMASK=255.255.255.0
GATEWAY=192.168.216.2
DNS1=192.168.216.2
DNS2=8.8.8.8
BOOTPROTO=static
ONBOOT=yes
** 重启网卡服务
CentOS6.8: # service network restart
CentOS7.2: # systemctl restart network.service
** CRT远程连接Linux
** 禁用SELinux
** Selinux:linux安全管理工具
** # vi /etc/sysconfig/selinux
** 编辑改动如下:
SELINUX:disable
** 禁用防火墙
** CentOS 6.8
iptables
# service iptables stop
# chkconfig iptables off
** CentOS 7.2
# systemctl stop firewalld.service
# systemctl disable firewalld.service
** ping外网测试
** visudo
在如下加上这么一句话:
·······················
.png)
admin ALL=(ALL) NOPASSWD: ALL
** 修改主机名
CentOS 6.8:
$ sudo vi /etc/sysconfig/network
································
.png)
CentOS 7.2:
$ sudo vi /etc/hostname
** 修改ip与主机名的映射关系
$ sudo vi /etc/hosts
192.168.216.20 linux01
192.168.216.21 linux02
192.168.216.22 linux03
** 安装JDK
**下载jdk1.8
方法1,浏览器下载 上传到服务器
方法2. 浏览器下载的时候复制 下载链接 这个时候再用wget url地址
这个时候会有个一个文件
.png)
重命名:mv 当前文件 jdk-1.8.tar.gz
** 解压 tar -zxf jdk-1.8.tar.gz
** 配置环境变量 vim /etc/profile
#JAVA_HOME
JAVA_HOME=/home/admin/modules/jdk1.8.0_121
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
** 删除OpenJDK(CentOS 自带的JAVA环境)
rpm -qa|grep java 找到系统自带的java
.png)
依次删除他们
** source刚才配置好的系统环境变量文件
$ source /etc/profile
** 验证
$ java -version
.png)
如果报错如下: 则yum install glibc.i686 可以解决
.png)
** 克隆
将linux01,克隆出linux02,linux03
** 先关闭虚拟机
** 完成克隆
** 修改后两台机器的网络配置
** 主机名
$ sudo vi /etc/sysconfig/network
** 网卡MAC地址
$ sudo vi /etc/udev/rules.d/70-persistent-net.rules
** 修改固定IP地址 和对应的mac地址
$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
** 重启机器(注意,克隆出来的两台机器都要配置)(如果不重启,网络会报错Connection activation failed: The connection is not for this device.)
** 使用CRT连接3台机器,测试
** 配置SSH无秘钥访问(如下操作,需要在3台机器中分别执行)
** 生成密钥
$ ssh-keygen -t rsa
** 分发公钥
$ ssh-copy-id linux01; ssh-copy-id linux02; ssh-copy-id linux03;
** ssh访问测试
ssh linux01
ssh linux02
ssh linux03
** 关闭后两台机器的界面
CentOS6:
$ sudo vi /etc/inittab
.png)
CentOS7:
$ sudo systemctl set-default multi-user.target
** 安装VMTool
** 配置时间服务器
** 检查时区
$ date -R
** 检查软件包 NTP服务器【Network Time Protocol(NTP)】是用来使计算机时间同步化的一种协议
如果ntp工具不存在,则需要使用yum安装
$ sudo rpm -qa | grep ntp
如果不存在则安装:
$ sudo yum -y install ntp
** 如果时区不是+0800东八区区时的话,需要手动纠正
$ sudo rm -rf /etc/localtime
$ sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
** 先以网络时间为标准,纠正集群的时间服务器的时间
** 修改ntp配置文件(只修改主服务器的时间配置,其他的向主服务器同步时间即可)
$ sudo vi /etc/ntp.conf
修改为如下:
#允许192.168.216.x网段上的所有机器和当前这台机器进行实践同步
restrict 192.168.216.0 mask 255.255.255.0 nomodify notrap
.png)
#当该节点丢失网络连接,依然可以作为时间服务器为集群其他节点提供时间同步服务
server 127.127.1.0
fudge 127.127.1.0 stratum 10
** 重启ntp服务
CentOS6:
$ sudo chkconfig ntpd on
$ sudo service ntpd restart
CentOS7:
$ sudo systemctl enable ntpd.service
$ sudo systemctl restart ntpd.service
** 使用从节点,手动同步时间(后面两台机器都要操作)
$ sudo ntpdate linux01
** 设置时间同步任务
# crontab -e 编辑时间任务
(尖叫提示:上面的#号代表root用户,下边的#号代表shell注释)
# .------------------------------------------minute(0~59)
# | .----------------------------------------hours(0~23)
# | | .--------------------------------------day of month(1~31)
# | | | .------------------------------------month(1~12)
# | | | | .----------------------------------day of week(0~6)
# | | | | | .--------------------------------command
# | | | | | |
# | | | | | |
*/10 * * * * /usr/sbin/ntpdate linux01
# crontab -l 查看时间任务
** 重启定时任务
CentOS6:
# service crond restart
CentOS7:
# systemctl restart crond.service
** 虚拟定期备份,一定要做!!!!!
先关机:
$ sudo shutdown -h now
按照时间新建文件夹,将已经安装完成的3台虚拟机,备份到该文件夹中。
- Hyper-V虚拟机配置内部网络固定IP 并且连接外网
2019/10/23 Hyper-V CentOS7 摘要:Hyper-V中的虚拟机CentOS7能固定IP并且连接外网 保证宿主机的Xshell始终只用同一个IP连接到该虚拟机 新建内部网络虚拟交换 ...
- Centos7 搭建KVM并创建Linux Windows虚拟机
一.安装KVM 查看系统版本 cat /etc/redhat-release 关闭防火墙及selinux systemctl disable firewalld.service 查看防 ...
- 为虚拟机配置NAT网络
一.打开网络适配器 1.按图中所示进行配置 2.记得把网和VM8关联一下 3.点击网络设置 4.点击右下角小齿轮来配置ip 5.在IPv4下选择手动 6. 7. 这个就是Linux的NAT配置
- CentOS7虚拟机配置、Hadoop搭建、wordCount DEMO运行
安装虚拟机 最开始先安装虚拟机,我是12.5.7版本,如果要跟着我做的话,版本最好和我一致,不然后面可能会出一些莫名其妙的错误,下载链接如下(注册码也在里面了): 链接:https://pan.bai ...
- 虚拟机centos7环境搭建,系统分区,静态IP配置
文章目录 1.虚拟机安装centos7 2.系统分区 3.配置静态IP centos7下载地址 http://mirrors.aliyun.com/centos/7/isos/x86_64/ Cent ...
- PC环境搭建——虚拟机配置双网卡
Vmware虚拟机三种网络模式详解 TCP/IP协议四层模型: 应用层 传输层 网络层 物理接口 桥接模式时,主机和虚拟机在同一个网段,之间可以相互访问 NAT模式时,主机和虚拟机不在同一网段,之间通 ...
- 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)
从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...
- centos7 && centos6.5部KVM使用NAT联网并为虚拟机配置firewalld && iptables防火墙端口转发
centos7 && centos6.5 部KVM使用NAT联网并为虚拟机配置firewalld && iptables防火墙端口转发 一.准备工作: 1: 检查kvm ...
- 使用VMware搭建3台一模一样的Linux虚拟机
转自:https://www.linuxidc.com/Linux/2014-08/105909.htm 简介:VMware可以在个人本地一台笔记本机器上同时运行二个或更多Windows.DOS.LI ...
随机推荐
- spring @Transactional 声明式事务
项目地址:git@github.com:witaste/transaction-annotation.git 情景一: A external method calls a method of the ...
- Hi,everybod,搬家了
Hi,小伙伴们,我的博客已经搬家到了GitHub,地址是:http://wxb.github.io/Blog/ 博客园以后就不维护了,有什么问题咱们GitHub上讨论啦,可以在:https://git ...
- [翻译]Spring MVC RESTFul Web Service CRUD 例子
Spring MVC RESTFul Web Service CRUD 例子 本文主要翻译自:http://memorynotfound.com/spring-mvc-restful-web-serv ...
- git-fork其他人的代码
1. 2. 3.然后在本地创建目录 第一步:mkdir test 第二步:cd test 第三步:git init(初始化) 第五步:git remote ad ...
- calltree+graphviz 绘出项目函数调用图
install calltree: download from http://linux.softpedia.com/progDownload/calltree-Download-971.html f ...
- EBS-DBA 维护
--查询表空间使用率: SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", ...
- Java何时该使用覆盖?
在Java编程中,什么时候该使用覆盖函数操作呢,很多人都知道有覆盖操作,但是到底什么时候该使用覆盖操作,还是有一些模糊的感觉,以下就举例来用代码分析就明白了, 举例生活中的案例,模拟制造手机的公司: ...
- 为某金融企业的IT技术部人员提供基于TFS的软件研发流程介绍
受莫金融企业IT信息技术部的邀请,为该金融企业的某省分公司.地市分公司的IT技术人员提供了一场基于TFS的软件研发流程的技术培训,希望可以借此提高该企业的软件研发.运维水平,同时推动企业软件研发信息化 ...
- LeetCode142:Linked List Cycle II
题目: Given a linked list, return the node where the cycle begins. If there is no cycle, return null. ...
- JavaScript中使用function作为对象键值
JavaScript的键值只能是string或者number,这一点真是返祖现象啊.现在我面临的问题: var funcs = {}; var funcA = function() { }; var ...