搭建一个4个节点的 CentOS 集群,支撑接下来演示环境中 Redis 集群、Storm 集群、Nginx、Tomcat + Java Web 应用的使用。

安装步骤

  1. 在虚拟机中安装 CentOS;
  2. 在每个 CentOS 中都安装 Java 和 Perl;
  3. 在4个虚拟机中安装 CentOS 集群;
  4. 配置4台 CentOS 为 ssh 免密码互相通信;

安装 VirtualBox

下载 VirtualBox,并在自己的电脑上安装。

在虚拟机中安装 CentOS

  1. 使用镜像文件版本:CentOS-6.5-i386-minimal.iso;
  2. 创建虚拟机:打开 VirtualBox,点击【新建】按钮,输入虚拟机名称为【eshop-cache01】,操作系统选择【Linux】,选择版本为 【Red Hat】;,分配 1024MB 内存,后面的选项全部用默认,在【文件位置和大小】中,一定要自己选择一个目录来存放虚拟机文件,最后点击【创建】按钮,开始创建虚拟机;
  3. 设置虚拟机网卡:选择创建好的虚拟机,点击【设置】按钮,在【网络】一栏中,连接方式中,选择【桥接网卡】;
  4. 安装虚拟机中的 CentOS 6.5 操作系统:选择创建好的虚拟机,点击【启动】按钮,选择启动盘(即本地的CentOS 6.5镜像文件),点击【启动】按钮,选择【Install or upgrade an existing system】开始安 装,Disc Found 选择【Skip】,欢迎界面点击【Next】按钮,选择默认语言(English)点击【Next】按钮,选择【Baisc Storage Devices】点击【Next】按钮,选择【Yes, discard any data】,设置主机名(eshop-cache01)点击【Next】按钮,选择时区(Asia/Shanghai)点击【Next】按钮,设置密码(123456)点击【Next】按钮,选择【Replace Existing Linux System】点击【Next】按钮,选择【Write changes to disk】CentOS 6.5 就自己开始安装;
  5. 安装完以后,CentOS 会提醒你要重启一下,就是 reboot,你就 reboot 就可以了;
  6. 配置网络;
  1. vi /etc/sysconfig/network-scripts/ifcfg-eth0

删除几行内容,ONBOOT 改为 yes,改成如下内容:

  1. DEVICE=eth0
  2. TYPE=Ethernet
  3. ONBOOT=yes
  4. BOOTPROTO=dhcp

执行如下代码:

  1. service network restart

根据自动分配的 ip 地址,修改网络配置固化 ip 地址。查看自动分配的 ip 地址。

  1. ifconfig

image.png

默认网关是在宿主机器上看的,打开命令提示符工具,输入 ipconfig,查看宿主机的 ip 地址和默认网关。

image.png

  1. vi /etc/sysconfig/network-scripts/ifcfg-eth0

固化 ip 地址,改成如下内容:

  1. DEVICE=eth0
  2. TYPE=Ethernet
  3. ONBOOT=yes
  4. BOOTPROTO=static
  5. IPADDR=192.168.31.213
  6. NETMASK=255.255.255.0
  7. GATEWAY=192.168.31.1

执行如下代码:

  1. service network restart
  1. 配置 hosts,配置本机的 hostname 到 ip 地址的映射;
  1. vi /etc/hosts

改成如下内容:

  1. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
  2. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  3. 192.168.31.213 eshop-cache01
  1. 关闭防火墙;
  1. service iptables stop
  2. service ip6tables stop
  3. chkconfig iptables off
  4. chkconfig ip6tables off
  1. vi /etc/selinux/config

修改 SELINUX 为 disabled。

  1. SELINUX=disabled

关闭 windows 的防火墙,后面要搭建集群,有的大数据技术的集群之间,在本地如果配置了防火墙的话,可能会没有办法互相连接,会导致集群搭建失败。

  1. 配置 yum;
  1. yum clean all
  2. yum makecache
  3. yum install -y wget

在每个 CentOS 中安装 Java 和 Perl

所有的软件安装在 /usr/local/ 目录下,该目录原有的文件及文件夹都删除。

安装 JDK

  1. 将 jdk-8u161-linux-i586.rpm 上传到 CentOS 的 /usr/local/ 目录;
  2. 安装 JDK:rpm -ivh jdk-8u161-linux-i586.rpm;
  3. 配置jdk相关的环境变量;
  1. vi .bashrc
  2. # 添加如下两句内容:
  3. export JAVA_HOME=/usr/java/latest
  4. export PATH=$PATH:$JAVA_HOME/bin
  5. # 在执行以下如下代码:
  6. source .bashrc
  1. 测试 JDK 安装是否成功:java -version;

安装 Perl

  1. 先安装 gcc:yum install -y gcc;
  2. 下载 perl:wget http://www.cpan.org/src/5.0/perl-5.16.1.tar.gz
  3. 解压缩,然后在安装 perl
  1. tar -xzf perl-5.16.1.tar.gz
  2. cd perl-5.16.1
  3. ./Configure -des -Dprefix=/usr/local/perl
  4. make && make test && make install
  5. perl -v

perl 是一个基础的编程语言的安装,Java + Nginx + Lua 需要 perl。


在4个虚拟机中安装 CentOS 集群

  1. 按照上述步骤,再安装三台一模一样环境的 Linux 机器;
    2. 另外三台机器的 hostname 分别设置为 eshop-cache02,eshop-cache03,eshop-cache04;
    3. 安装好之后,在每台机器的 hosts 文件里面,配置好所有的机器的 ip 地址到 hostname 的映射关系;

比如说,在 eshop-cache01 的 hosts 里面

  1. 192.168.1.113 eshop-cache01
  2. 192.168.1.114 eshop-cache02
  3. 192.168.1.115 eshop-cache03
  4. 192.168.1.116 eshop-cache04

配置4台 CentOS 为 ssh 免密码互相通信

  1. 首先在三台机器上配置对本机的 ssh 免密码登录;
  1. ssh-keygen -t rsa
  2. # 生成本机的公钥,过程中不断敲回车即可,ssh-keygen 命令默认会将公钥放在 /root/.ssh 目录下
  3. cd /root/.ssh
  4. cp id_rsa.pub authorized_keys
  5. # 将公钥复制为 authorized_keys 文件,此时使用 ssh 连接本机就不需要输入密码了
  1. 接着配置三台机器互相之间的 ssh 免密码登录;
  1. # 使用 ssh-copy-id -i hostname 命令将本机的公钥拷贝到指定机器的 authorized_keys 文件中
  2. ssh-copy-id -i eshop-cache01
  3. ssh-copy-id -i eshop-cache02
  4. ssh-copy-id -i eshop-cache03
  5. ssh-copy-id -i eshop-cache04
  1. # 也可以在其他三台机器上执行 ssh-copy-id -i eshop-cache01,然后在 eshop-cache01 上执行如下拷贝动作。
  2. scp authorized_keys eshop-cache02:/root/.ssh
  3. scp authorized_keys eshop-cache03:/root/.ssh
  4. scp authorized_keys eshop-cache04:/root/.ssh

到这里整个 CentOS 集群环境就已经配置好了。

作者:殷建卫 链接:https://www.yuque.com/yinjianwei/vyrvkf/qr56ip 来源:殷建卫 - 架构笔记 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。