在學習和工作中我們需要安裝
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
在其他三臺服務上也依次設置。