在学习和工作中我们需要安装
redis
服务,mongodb
服务,tomcat
服务,RabbitMQ
服务都是运行在CentOS
的虚拟环境下的,很多时候自己想学习一门技术都卡在环境上了,造成开始的时候就没有动力去学习了,自己决定花二个小时把虚拟机环境搭建整理出来,便于自己以后学习的时候快速搭建自己需要的虚拟机环境。本文就是详细的介绍搭建CentOS
集群环境。
在虚拟机中安装CentOS
下载并安装virtual box,下载CentOS-6.5-i386-minimal.iso镜像
打开virtual box
,点击新建按钮
-
配置虚拟机网卡
安装虚拟机中的CentOS 6.5操作系统
设置自己的用密码,我这边设置的是zhihao.miao
用户名是root,密码是zhihao.miao
- 配置网络
vi /etc/sysconfig/network-scripts/ifcfg-eth0
去掉一些配置,将ONBOOT
的value值改成yes
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcp
重启一下网卡,根据宿主机网关配置一个ip地址
service network restart
查看动态生成的ip信息
ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:43:EE:BE
inet addr:192.168.1.88 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe43:eebe/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:258766 errors:0 dropped:0 overruns:0 frame:0
TX packets:89879 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:359636711 (342.9 MiB) TX bytes:8030706 (7.6 MiB)
动态生成的ip是192.168.1.88
,修改ifcfg-eth0
文件将之前生成的ip地址固化一下
vi /etc/sysconfig/network-scripts/ifcfg-eth0
配置如下:
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.88
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
再次重启一下网卡
service network restart
ping一下宿主机,外网
ping 192.168.1.54
ping www.baidu.com
配置hosts,配置本机的hostname到ip地址的映射
vi /etc/hosts
192.168.1.88 zhihao-miao01
配置SecureCRT或者Xshell
此时就可以使用SecureCRT或者Xshell从本机连接到虚拟机进行操作了关闭防火墙
service iptables stop
service ip6tables stop
chkconfig iptables off
chkconfig ip6tables off
vi /etc/selinux/config
SELINUX=disabled
关闭window系统的防火墙,搭建集群,有的大数据技术的集群之间,在本地你给了防火墙的话,可能会没有办法互相连接,会导致搭建失败
- 配置yum
yum clean all
yum makecache
yum install wget
在每个CentOS中都安装Java和Perl
下载WinSCP或者filezilla,就是在宿主机和linux虚拟机之间互相传递文件的一个工具
- 安装JDK
1、将jdk-8u161-linux-i586.rpm通过WinSCP上传到虚拟机中(在/usr/local下创建文件夹software)
2、安装JDK:rpm -ivh jdk-8u161-linux-i586.rpm
3、配置jdk相关的环境变量
vi /etc/profile
JAVA_HOME=/usr/java/jdk1.8.0_161
JRE_HOME=/usr/java/jdk1.8.0_161/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
4、让环境变量生效
source /etc/profile
5、测试jdk安装是否成功:java -version
- 安装Perl
安装gcc
yum install -y gcc
进入/usr/local/software
wget http://www.cpan.org/src/5.0/perl-5.16.1.tar.gz
tar -xzf perl-5.16.1.tar.gz -C /usr/local/
cd perl-5.16.1
./Configure -des -Dprefix=/usr/local/perl
make && make test && make install
perl -v
在4个虚拟机中安装CentOS集群
我们在以同样的方式创建三台服务器,hostname
分别是zhihao-miao02
,zhihao-miao03
,zhihao-miao04
,安装好之后,在每台机器的hosts
文件里面,配置好所有的机器的ip地址到hostname的映射关系
比如说,在zhihao-miao01
的hosts
里面
vi /etc/hosts
192.168.1.88 zhihao-miao01
192.168.1.96 zhihao-miao02
192.168.1.55 zhihao-miao03
192.168.1.56 zhihao-miao04
配置多台CentOS为ssh免密码互相通信
- 首先在四台机器上配置对本机的ssh免密码登录
ssh-keygen -t rsa
生成本机的公钥,过程中不断敲回车即可,ssh-keygen
命令默认会将公钥放在/root/.ssh
目录下
cd /root/.ssh
cp id_rsa.pub authorized_keys
将公钥复制为authorized_keys
文件,此时使用ssh
连接本机就不需要输入密码了
ssh zhihao-miao01
首次输入命令之后点击yes之后,下次ssh zhihao-miao01
之后就不需要输入密码了
- 接着配置三台机器互相之间的ssh免密码登录
使用ssh-copy-id -i hostname
命令将本机的公钥拷贝到指定机器的authorized_keys
文件中
输入ssh-copy-id -i zhihao-miao02之后,输入yes和密码之后下次再去ssh-copy-id -i zhihao-miao02就不需要输入密码了,依次输入
ssh-copy-id -i zhihao-miao03
ssh-copy-id -i zhihao-miao04
在其他三台服务上也依次设置。