vm虚拟机安装centos7系统

安装第一台centos7机器

安装时修改hostname=hadoop01,系统为centos7 x64,安装方式参考视频,安装好之后进行如下设置:

# 在安装系统的时候就指定hostname,如果没有指定的话,安装完成之后通过以下命令可以修改hostname
hostnamectl set-hostname hadoop01

#关闭防火墙和selinux
systemctl stop firewalld && systemctl disable firewalld
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config && setenforce 0

#关闭swap
swapoff -a
yes | cp /etc/fstab /etc/fstab_bak
cat /etc/fstab_bak |grep -v swap > /etc/fstab

给这台机器设置静态ip

为了防止虚拟机重启之后ip改变,我们给这个虚拟机设置静态ip,设置静态ip的时候需要查看VM虚拟机的网络配置。

首先打开VMware的虚拟网络编辑器(在编辑菜单下面),查看VMnet8(NAT模式)网络,查看使用的子网IP和子网掩码,如果有必要的话可以自己制定子网IP。

vmware-network.jpg

推荐虚拟机使用NAT的方式进行网络连接,所有的虚拟机共享主机的IP地址。点击NAT设置,可以查看到网关IP地址。通过子网IP、子网掩码、网关IP、宿主机的DNS地址(宿主机ipconfig/all查看DNS地址)来进入虚拟机设置静态IP。

# 编辑网络配置,文件名可能有所不同,安装虚拟机的时候网络设置的步骤可以看到名称
vim /etc/sysconfig/network-scripts/ifcfg-ens33
-----------------------
ONBOOT="yes"
BOOTPROTO="static"
IPADDR=192.168.255.101
NETMASK=255.255.255.0
GATEWAY=192.168.255.2
DNS1=192.168.31.1 #宿主机和虚拟机都可以设置为8.8.8.8
HWADDR=xxx #这个比较重要,容易出错,需要设置为`ip a`命令中提示的mac地址,在link/ether后面的一串地址
-----------------------

# 重启网络或者直接重启系统
systemctl network restart
# systemctl restart network.service
# shutdown -r 0

# 重启之后查看ip地址,发现已经是设定好的ip了,ping一下外网看是否可以正常访问外网
ip a
ping www.baidu.com

设置好IP之后给这台机器安装JDK

复制虚拟机

# 首先关闭之前的虚拟机
shutdown -h 0
# 右击虚拟机hadoop1>管理>克隆>下一步>下一步>创建完整克隆>输入虚拟机名称hadoop02,完成之后登陆进入

# 修改hostname
hostnamectl set-hostname hadoop02
# 登出重新登陆
logout

# 修改静态ip地址、以及mac地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33
-----------------------
IPADDR=192.168.255.102
#vmware虚拟机》设置》网络适配器》高级》MAC地址-生成新的MAC地址
HWADDR=xxx
-----------------------

# 重启网络或者直接重启系统
systemctl network restart
# shutdown -r 0

# 重启之后查看ip地址,发现已经是设定好的ip了,ping一下外网看是否可以正常访问外网
ip a
ping www.baidu.com

客户端软件

VMware中操作虚拟机非常不方便,可以选择以下客户端来登陆虚拟机,进行文件上传下载:

  • SecureCRT+WinSRC 两个软件配合起来实现登陆和文件上传下载
  • Xshell+Xftp Xftp是Xshell菜单上面的一个选项,直接点击选择安装就可以使用了
  • Xshell+lrzsz(推荐) lrzsz需要在虚拟机系统中安装,安装好了以后可以通过sz下载文件,rz上传文件,非常方便

虚拟机之间实现免密登陆

我们按照上面的方式通过hadoop01主机复制出来hadoop02、hadoop03一共三台主机,首先在各个主机中的hosts文件配置三个机器的host

vim /etc/hosts
------------------------
192.168.255.101 hadoop01
192.168.255.102 hadoop02
192.168.255.103 hadoop03
------------------------
  1. 三台机器上生成公钥、私钥
ssh-keygen -t rsa
  1. 将三台机器上的公钥都copy到同一台机器hadoop01
# 第一次执行会要求输入hadoop01的密码
# 完成之后会生成文件/root/.ssh/authorized_keys,里面保存的是三台机器的公钥
ssh-copy-id hadoop01
  1. 将第一台机器上的公钥同步到其它两台机器hadoop02、hadoop03
# hadoop01上执行命令
scp /root/.ssh/authorized_keys hadoop02:/root/.ssh
scp /root/.ssh/authorized_keys hadoop03:/root/.ssh

虚拟机时钟同步

  • 方式1:所有主机和同一台主机时间保持同步
  • 方式2:所有主机和时钟服务器时间保持同步(需要联网,需要使用工具ntp定时从阿里云时钟服务器同步时间)
# 安装ntp
yum install -y ntp

# 使用crontab定时同步时间,一分钟从阿里云服务器同步一次
crontab -e
------------------------------------------------
*/1 * * * * /usr/sbin/ntpdate ntp4.aliyun.com;
------------------------------------------------
# 有时候执行命令会收到You have mail in /var/spool/mail/root这种提示,由于crontab操作引起的,可以关闭提示
mail
echo "unset MAILCHECK">> /etc/profile
source /etc/profile

安装mysql

选择一台机器安装mysql

安装zookeeper

在三台机器上安装zookeeper集群,搭建zk集群

安装hadoop

hadoop-2.9.2下载地址

Hadoop2.9.2安装

windows上调试mapreduce jar包

  1. 添加环境变量HADOOP_HOME,PATH中添加%HADOOP_HOME%\bin

  2. 下载winutils.exe,hadoop.dll文件,放入%HADOOP_HOME%\bin目录下面,将其中的hadoop.dll放入C:\Windows\System32

参考

Linux 系统目录结构

hadoop介绍及安装

hadoop-hdfs

maven下载地址