机房4台服务器集群网络配置

主要目标:

可以通过内网系统访问楼下机房服务器集群,楼下机房只给一个可以访问外网的IP。

现有条件:

  1. 只有一根可以上外网的网线
  2. 一台交换机
  3. 4台高性能服务器,每台服务器有两个网口

主要网络架构设计:

  1. 一台服务器为master节点
  2. 另外三台服务器分别为slave1,slave2,slave3
  3. 四台服务器安装的操作系统皆为unbuntu server

IP 分布:

  1. master节点eth0: 192.168.223.1 , eth1: 10.1.8.200
  2. slave2节点eth0: 192.168.223.2
  3. slave3节点eth0: 192.168.223.3
  4. slave4节点eth0: 192.168.223.4

网络分布示意图:

  

具体服务器配置:

  1. master节点配置ip配置,修改 /etc/network/interfaces 文件, 配置文件如下:

    auto eth0
    iface eth0 inet static
    address 192.168.223.1
    netmask 255.255.255.0
    
    auto eth1
    iface eth1 inet static
    
    address 10.1.8.200
    netmask 255.255.255.0
    gateway 10.1.8.254

    网络配置文件修改完之后, /etc/init.d/network restart
    或者 service network restart
    如果重启之后还是不行,则重新启动服务器。
    网络重新启动之后,执行ifconfig命令查看网口配置
    这时,如果出现网口乱名的问题,即网口名字非eth0,eth1,eth2….
    则执行如下配置
    Edit /etc/default/grub and search for the following:

    GRUB_CMDLINE_LINUX_DEFAULT=""
    GRUB_CMDLINE_LINUX=""

    Add biosdevname=0 to the 2 lines:

    GRUB_CMDLINE_LINUX_DEFAULT="biosdevname=0"
    GRUB_CMDLINE_LINUX="biosdevname=0"

    The run

    sudo update-grub

    配置结束之后,重启服务器, 然后查看 /etc/udev/rules.d/70-persistentnet.rules
    有相关与网口的配置 , 具体请参考网页http://askubuntu.com/questions/578650/interface-device-name-em1-to-eth0-linux-14-04-lts

    然后,需要配置数据转发机制。
    master上的eth0与其他slave上的eth0都通过交换机形成了一个192.168.223.0网段的一个内网。内网中的服务器全部可以互相访问。现在只有一个eht1网口用于上网。需要建立转发路由规则:

    进入终端, 开启路由功能,

    echo "1" > /proc/sys/net/ipv4/ip_forward

    这里echo时如果sudo权限不行,转入root权限操作,接着依次输入下列命令:

    sudo iptables -F
    sudo iptalbes -P INPUT ACCEPT
    sudo iptalbes -P FORWARD ACCEPT
    sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

    iptables -F 命令是删除原有的路由配置(这条命令不要随意操作,如果你原来的配置是iptables -P INPUT DROP, 那么你的远程连接很有可能断开)
    正确查看路由的命令是:

    sudo iptables -L -n

    如果sudo iptalbes -F 这条命令无效,则改换成下面这条命令:

    sudo iptalbes -F  -t  nat

    但是以上配置都是临时配置,一旦服务器关机就失效了,所以,需要将以上修改写入 /etc/rc.local文件中。

  2. slave节点配置 slave节点配置基本相同,如以下slave2节点配置
    修改 /etc/network/interfaces如下

    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet static
    address 192.168.223.2
    netmask 255.255.255.0
    gateway 192.168.223.1

    配置文件写好之后,执行生效如前所述
    其他slave节点ip配置全部按照该节点配置。

配置完成之后:

所有节点配置完成之后,在每台服务器上配置ssh-server,unbutun server版本是默认配置ssh-client版本

对每个服务器执行以下命令(这个时候每台服务器是联网的)

sudo apt-get intall update

为了提高下载时的速度,需要修改下载源
进入/etc/apt/sources.list,将所有 http://cn.archive.ubuntu.com/ubuntu/

改成 http://mirrors.ustc.edu.cn/ubuntu/

中科大的下载源速度还是很快的.

更换源之后,执行以下两条命令:

sudo rm /var/lib/apt/lists/* -vf
sudo apt-get update

将缓存的信息去掉

额外配置(方便部署Hadoop集群)

  1. 修改每台主机的 /etc/hosts, hosts内容如下(slave1这行是专门添加的):
    master 192.168.223.1
    slave1 192.168.223.1
    slave2 192.168.223.2
    slave3 192.168.223.3
    slave4 192.168.223.4
  2. 为每台主机主机同名的 sudo 用户 hadoop (以后可能会用到),密码用 [email protected],删除原来的用户 master, slave*,使用hadoop用户,在每台机器上执行(使用一般用户权限)
    ssh-keygen
    ssh-copy-id master
    ssh-copy-id slave2
    ssh-copy-id slave3
    ssh-copy-id slave4

    这样可以使用hadoop用户不需要密码就可以访问其他机器上的hadoop用户,使用ssh slave* 命令。

  3. 修改每台主机 /etc/default/locale文件, 内容改为
    LANG=en_US.UTF-8
    LANGUAGE=en_US:en
    LC_NUMERIC=”en_US”
    LC_TIME=”en_US”
    LC_MONETARY=”en_US”
    LC_PAPER=”en_US”
    LC_NAME=”en_US”
    LC_ADDRESS=”en_US”
    LC_TELEPHONE=”en_US”
    LC_MEASUREMENT=”en_US”
    LC_IDENTIFICATION=”en_US”
    修改完后执行
    sudo locale-gen en_US en_US.UTF-8
    sudo dpkg-reconfigure locales
    具体请参考
    http://ubuntuforums.org/showthread.php?t=1346581
    如果安装的是中文环境,请进行修改。英文环境不用修改.
  4. 给其他人添加用户时,可以去/etc/sudoers, 增加该用户的sudo权限。
  5. 修改DNS服务器,可以去/etc/resolv.conf,
nameserver 114.114.114.114
时间: 2024-10-08 01:38:26

机房4台服务器集群网络配置的相关文章

Kubernetes: 集群网络配置 - flannel

参考: [ Kubernetes 权威指南 ] Kubernetes 集群搭建可以参考 [ Kubernetes : 多节点 k8s 集群搭建实践 ] 在多个 Node 组成的 Kubernetes 集群内, Kubernetes 本身不会对跨主机容器网络进行设置. flannel 就是解决跨主机容器间网络互通的需求. Kubernetes 集群架构 Server List 节点名称 节点 IP k8s-master 10.10.10.10 k8s-node1 10.10.10.11 k8s-n

当AD域与DNS不再一台服务器上时配置

当DNS服务器与AD域在一起时很容易设置但当DNS与AD域不在一起时就不太容易做,具体应该这样做:准备两台全新的Windows server2008服务器.一. 1.安装DNS服务器:??2.安装DNS后点击 开始>管理工具>DNS:3.右击 正向查找区域 然后新建区域为主要区域:4.区域名称与域名一样取名17w1.com,安装成功后右击点击17w1.com,?![](https://s1.51cto.com/images/blog/201906/10/0b8cfc26fd5ea133d498

kubernetes集群网络配置方案——flannel部署

部署环境: CentOS Linux release 7.2 64位 10.10.0.103 node01 10.10.0.49 node02 安装过程: # yum install flannel # tar zxf flannel-v0.8.0-linux-amd64_.tar.gz # cp flanneld /usr/bin/ # cp mk-docker-opts.sh /usr/bin/ 编辑服务配置文件: #cat /usr/lib/systemd/system/flanneld.

NAT下虚拟机集群网络配置

VMware 设置 物理机(宿主机)设置 虚拟机网卡设置 [[email protected] gongice]# ifconfig eth0 192.168.153.11 [[email protected] gongice]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:2C:DF:3D inet addr:192.168.153.11 Bcast:192.168.153.255 Mask:255.255.255.0 inet6 add

在同一台服务器上配置多个Tomcat

. 在同一台服务器上配置多个Tomcat,布布扣,bubuko.com

单台服务器并发百万级配置(转)

单台服务器并发百万级配置(转) 目的:让服务器支持大量并发访问. 注:以下内容 ASP/ASP.NET IIS 用不成.另外要精通Linux,TCP/IP. 摘要:本文主要介绍利用单台PC服务器来实现可支持百万级用户并发访问的WEB服务器的实践工作.意在提出一些手段来发掘设备的潜力,充分利用设备资源,以求达到降低硬件投入成本和维护成本的目的. 随着硬件技术的飞速发展,当前单台PC 服务器的性能得到了显著提升,反之,硬件成本却在快速下降.另一方面,多数门户网站.大型社区在建设WEB服务.邮件服务等

配置apache虚拟主机,实现在一台服务器上运行多个网站

配置apache虚拟主机,实现在一台服务器上运行多个网站 apache虚拟主机实现有三种方法: 1.通过不同的IP地址 2.通过不同的域名 3.通过不同的端口号 三种都需要把虚拟主机功能打开: [[email protected] ~]# vim /etc/httpd/conf/httpd.conf 改: #NameVirtualHost *:80 为: NameVirtualHost *:80 方法1:通过不同的IP地址,解析不同的域名 给服务器增加IP(另一个域名解析) [[email pr

Window下同一台服务器部署多个MariaDB(Mysql)、服务方式启动简要配置

版本:MariaDB 10 环境:D盘下,放2个MariaDB解压版,分别是D:\MariaDB.D:\MariaDBA 1.进入MariaDB.MariaDBA,复制my-XXX.ini(不同的文件对应不同的硬件配置),改名为my.ini 2.文本编辑器打开D:\MariaDBA的my.ini,修改把2个涉及端口的地方,避免与MariaDB的冲突 3.注册服务,进入D:\MariaDB\bin,命令运行"mysqld.exe --install MariaDB10",进入D:\Mar

一台nginx服务器多域名配置

Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了. 下面我就来说说server_name的使用吧: server_name的匹配顺序 Nginx中的server_name指令主要用于配置基于名称虚拟主机,server_name指令在接到请求后的匹配顺序分别为: 1.准确的server_name匹配,例如: server { listen 80; server_name ssdr.info www.s