按照顺序,如果使用 vmware 搭建 iaas 再在里面的云平台搭建大数据平台,可能会出现内存、处理器资源不足,遂推出直接在虚拟机中安装的方法
准备
CentOS-7-x86_64-DVD-1511.iso
XianDian-BigData-v2.2.iso
XianDian-IaaS-v2.2.iso
qemu-img
准备工作
转换镜像格式
VMware 不支持 qcow2 格式的镜像,将其转换成 vmdk 格式,替换掉创建的虚拟机的 vmdk (虚拟硬盘)
下载:qemu-img for Windows 工具解压到桌面
用 7zip、winrar 等解压工具打开 XianDian-IaaS-v2.2.iso
将 images\CentOS_7.2_x86_64_XD.qcow2
提取到桌面
在 qemu-img 文件夹,按住 shift + 鼠标右键,选择 在此处打开 Powershell 窗口
输入命令,转换镜像
.\qemu-img.exe convert -f qcow2 ..\CentOS_7.2_x86_64_XD.qcow2 -O vmdk ..\CentOS_7.2_x86_64_XD.vmdk
可以看见桌面生成的vmdk镜像文件
虚拟机创建
在 VMware 按照下表创建虚拟机:
节点名 | 内存 | CPU | 硬盘 | 网络模式 |
---|---|---|---|---|
master | 8G | 2 | 100G | NAT |
slave | 4G | 2 | 100G | NAT |
光盘镜像选择稍后安装。网络使用DHCP自动获取IP
添加光盘镜像
创建完毕后,为 master 节点添加为双光驱 在 虚拟机设置
里面添加。
原先自带的光驱 ISO 镜像使用 CentOS-7-x86_64-DVD-1511.iso
,后添加的光驱使用 XianDian-BigData-v2.2.iso
镜像
注意都要勾选
已连接
打开虚拟机所在的目录,将开头桌面生成的 vmdk 镜像文件,重命名为虚拟机的名称 (master.vmdk 和 slave.vmdk)。进行覆盖
slave 节点同理
扩展磁盘
替换掉虚拟硬盘之后,会发现两台虚拟机硬盘只有 8GB。需要扩大到 100GB
在 虚拟机设置
- 硬盘
- 扩展
设置最大磁盘大小为 100GB ,点击 扩展
接下来开机
虚拟机配置
用户名 root
密码 000000
镜像默认网卡配置的是 DHCP 自动获取
双节点
systemctl restart network
ip a
得到 ip ,使用 Xshell、secureCRT 连上 (本文为 master:172.0.0.130、slave:172.0.0.131)
配置主机名
master节点
hostnamectl set-hostname master
slave节点
hostnamectl set-hostname slave
扩展分区
磁盘扩展后,分区并没有扩展,执行扩展分区的操作
使用 fdisk 工具进行分区
fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help):
Command (m for help): p # 打印存在的分区
Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000af71d
Device Boot Start End Blocks Id System
/dev/sda1 2048 209715199 104856576 83 Linux
# 可以看出来只有1个分区,调整它的大小
Command (m for help): d # 删除分区
Selected partition 1
Partition 1 is deleted # 只有一个分区,所以直接删除了
Command (m for help): n # 新建分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p # p - 主分区
Partition number (1-4, default 1): 1 # 分区号(默认1)
First sector (2048-209715199, default 2048): # 起始扇区(默认2048)
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199): # 结束扇区(回车默认占完剩下空间)
Using default value 209715199
Partition 1 of type Linux and of size 100 GiB is set
Command (m for help): w # 保存退出
保存后会出现警告,进行分区表刷新
partprobe /dev/sda
还会出现警告,重启系统
reboot
使用 xfs_growfs 对挂载目录在线扩容
[root@master ~]# xfs_growfs /dev/sda1
meta-data=/dev/sda1 isize=256 agcount=51, agsize=524224 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=26214144, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
查看分区情况
[root@master ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 100G 8.6G 92G 9% /
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 12K 3.9G 1% /dev/shm
tmpfs 3.9G 17M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
配置 hosts
双节点
vi /etc/hosts
添加两行:
172.0.0.130 master master.hadoop
172.0.0.131 slave slave.hadoop
以两节点 ip a 命令所获得的 ip 为准
互相 ping 测试 hosts 文件联通性
master节点
ping slave.hadoop
slave节点
ping master.hadoop
修改 yum 源安装软件
采用本地 yum 源的方式安装软件,将两光驱的镜像挂载到 /opt/centos
和 /opt/ambari
下
master节点
mkdir /opt/centos
mkdir /opt/ambari
mount /dev/sr0 /opt/centos # sr0 为原先自带的光驱
mount /dev/sr1 /opt/ambari # sr1 为后来添加的光驱
双节点
rm -rf /etc/yum.repos.d/*
vi /etc/yum.repos.d/ambari.repo
master节点
slave节点
安装 vsftpd
master节点
通过 vsftpd 远程传送 yum 仓库
yum install vsftpd -y
vi /etc/vsftpd/vsftpd.conf
在首行添加一行:
anon_root=/opt/
开启 vsftpd
systemctl start vsftpd
systemctl enable vsftpd
双节点
yum clean all
yum list # 此镜像的防火墙默认关闭
安装软件
master节点
yum install httpd -y
将 /opt/ambari
文件夹中 HDP-2.6.1.0
和 HDP-UTILS-1.1.0.21
两个文件夹拷贝到 /var/www/html
目录下。
cp -rf /opt/ambari/HDP-2.6.1.0/ /var/www/html
cp -rf /opt/ambari/HDP-UTILS-1.1.0.21/ /var/www/html
开启httpd
master节点
systemctl start httpd
systemctl enable httpd
systemctl status httpd
安装ntp
master节点
yum install ntp -y
vi /etc/ntp.conf
注释以下四行:
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
添加以下两行:
server 127.127.1.0
fudge 127.127.1.0 stratum 10
开启ntpd
systemctl start ntpd
systemctl enable ntpd
slave节点
yum install ntpdate -y
systemctl enable ntpdate
ntpdate master.hadoop
禁用Transparent Huge Pages
双节点
[root@master ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
[root@master ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
[root@master ~]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
[root@master ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
安装Java JDK
将 jdk
安装包复制到 slave
的 /opt
下
master节点
scp -r /opt/ambari/jdk-8u77-linux-x64.tar.gz 172.0.0.301:/opt/
双节点
解压 jdk:
mkdir /usr/jdk64/
master节点
tar -zxvf /opt/ambari/jdk-8u77-linux-x64.tar.gz -C /usr/jdk64/
slave节点
tar -zxvf /opt/jdk-8u77-linux-x64.tar.gz -C /usr/jdk64/
编辑环境变量:
vi /etc/profile
首行添加两行:
export JAVA_HOME=/usr/jdk64/jdk1.8.0_77/
export PATH=$JAVA_HOME/bin:$PATH
验证:
source /etc/profile
java -version
之后的操作与在云平台创建的大数据一样,跳转到 配置ambari-server 继续后续配置。