搭建hadoop_之 创建3个虚拟机配置好网络
(创建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
在如下加上这么一句话:
·······················
admin ALL=(ALL) NOPASSWD: ALL
** 修改主机名
CentOS 6.8:
$ sudo vi /etc/sysconfig/network
································
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
不能直接用wget http://download.oracle.com/otn-pub/java/jdk/10.0.2+13/19aef61b38124481863b1413dce1855f/jdk-10.0.2_linux-x64_bin.tar.gz 因为这样下来的包 是有问题的
方法1,浏览器下载 上传到服务器
方法2. 浏览器下载的时候复制 下载链接 这个时候再用wget url地址
这个时候会有个一个文件
重命名: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
依次删除他们
** source刚才配置好的系统环境变量文件
$ source /etc/profile
** 验证
$ java -version
如果报错如下: 则yum install glibc.i686 可以解决
** 克隆
将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
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
** 先以网络时间为标准,纠正集群的时间服务器的时间
$ sudo ntpdate pool.ntp.org
** 修改ntp配置文件(只修改主服务器的时间配置,其他的向主服务器同步时间即可)
$ sudo vi /etc/ntp.conf
修改为如下:
#允许192.168.216.x网段上的所有机器和当前这台机器进行实践同步
restrict 192.168.216.0 mask 255.255.255.0 nomodify notrap
#当该节点丢失网络连接,依然可以作为时间服务器为集群其他节点提供时间同步服务
server 127.127.1.0
fudge 127.127.1.0 stratum 10
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
** 重启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台虚拟机,备份到该文件夹中。