服务器密码
root密码:123456
lkx密码:417
环境要求
使用VMware虚拟机搭建基于CentOS7.5的Hadoop环境:
- cpu核数(需要搭建3台Hadoop组成集群,加上Windows本机,所以可以分配的数量为本机的cpu核数除以4)
- 内存至少4G
- 硬盘最少50G
CentOS 7.5,即官方的 CentOS-7-xxxxxx-1804 版本。
创建虚拟机
- 新建虚拟机,选择自定义(高级)
- 硬件兼容性默认
- 选择稍后安装操作系统
- 客户机操作系统选择Linux->CentOS7 64位
- 配置虚拟机名称、存储位置
- 处理器数量1,每个处理器内核数2.(本机总共有4核,8个逻辑处理器)
- 配置虚拟机内存 4G
- 网络类型默认的NAT
- IO类型、磁盘类型默认
- 选择创建新虚拟磁盘
- 磁盘容量设置为 60G,默认将虚拟磁盘拆分成多个文件不用变
- 创建的磁盘文件配置到指定目录
-
安装CentOS
配置CD/DVD使用的iso文件指向下载好的 CentOS 7.5 系统镜像
- 启动虚拟机
- 选择安装CentOS7
- 虚拟机自动进入图形界面安装
- 选择中文(安装过程中使用的语言,不代表操作系统的语言),继续
- 修改时区、日期和时间
- 软件选择可以选择最小安装或者GNOME 桌面安装,本次选择桌面版
- 选择安装位置,我要分配分区进行手动分区,大小可以参考以下配置:
- /boot:1g(如果是最小化安装,/boot只有150多Mb),文件系统配置为ext4
- swap分区:4g
- /:剩余空间分给根分区,文件系统默认xfr就行
- 自己实验用的虚拟机,KDUMP可以禁用kdump以节省资源。(kdump是系统崩溃前捕获系统信息,用于诊断崩溃原因,但是需要预留一部分系统内存)
- 网络和主机名称配置主机名称、网络。主机名例如设置为hadoop100
- SECURITY POLICY安全策略默认打开即可
- 然后便可以点击安装
- 安装的过程中可以配置root密码
- 等安装完成,点击重启
- 重启进来之后,点开许可协议,选择我同意许可协议
- 点击完成配置
- 选择中文、汉语、打开位置、选择上海时区、跳过在线账号
- 创建一个用户,例如tengyer,设置密码tengyer
-
配置网络静态IP
配置hostname,检查
/etc/hostname
中的主机名配置信息,例如将主机名配置为hadoop100(后面的几台集群中主机为hadoop101、hadoop102、hadoop103组成集群)- 配置IP为静态IP,默认的为DHCP动态获取。修改
/etc/sysconfig/network-scripts/ifcfg-ens33
: ```java TYPE=”Ethernet” PROXY_METHOD=”none” BROWSER_ONLY=”no”将DHCP动态获取修改为static静态IP
BOOTPROTO=”static” DEFROUTE=”yes” IPV4_FAILURE_FATAL=”no” IPV6INIT=”yes” IPV6_AUTOCONF=”yes” IPV6_DEFROUTE=”yes” IPV6_FAILURE_FATAL=”no” IPV6_ADDR_GEN_MODE=”stable-privacy” NAME=”ens33” UUID=”b77a5288-57bc-4564-a2d2-3c12ab2395a9” DEVICE=”ens33” ONBOOT=”yes”其他保持默认即可
然后添加以下配置(根据虚拟机实际情况进行配置)
ip
IPADDR=192.168.10.100
网关(可以在VMware虚拟网络编辑器的NAT模式中 NAT设置 里面查找到)
GATEWAY=192.168.10.2
DNS
DNS1=192.168.10.2
3. 配置hosts映射,,将集群中的主机添加进来,/etc/hosts:
```java
192.168.10.100 hadoop100
192.168.10.101 hadoop101
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104
192.168.10.105 hadoop105
- 在Windows系统中,也将Hosts映射加入进来。C:\Windows\System32\drivers\etc\hosts文件(由于win权限问题,可以将文件先移动到桌面进行修改,然后在移回)
- 配置好网络,使用reboot重启使其生效,或者 systemctl restart network (如果修改了hostname需要reboot)
- 重新进来后,使用ifconfig判断网络配置是否生效,ping一个外部网站查看是否可以连网
- Windows网络设置,高级网络设置,更改适配器选项,VMware Network Adapter VMnet8 设置
安装epel-release
Extra Packages for Enterprise Linux是为“红帽系”的操作系统提供额外的软件包,适用于 RHEL、CentOS和Scientific Linux。相当于是一个软件仓库,大多数 rpm 包在官方 repository 中是找不到的。
yum install -y epel-release
如果Linux安装的是最小系统板,还需要安装net-tool、vim等常用工具:
# 安装ifconfig命令
yum install -y net-tools
# 安装vim编辑器
yum install -y vim
关闭防火墙
关闭防火墙,关闭防火墙的开机自启:
systemctl stop firewalld
systemctl disable firewalld.service
将自己创建的用户加入sudoers
如果安装的桌面版,在安装过程就会让创建一个非root用户。
如果安装的最小系统版,则可以手工执行命令创建一个非root用户,例如:
useradd kaixin
passwd 417860634
将该用户加入sudoers中,方便后续添加sudo执行命令。
编辑/etc/sudoers文件(该文件默认只读,需要先添加写权限),在%wheel用户执行命令权限下面添加一行:
%wheel ALL=(ALL) ALL
# 在%wheel下面添加,不要直接加载 root下面。因为所有用户都属于wheel组,如果放到了root下面(%wheel上面),那么执行了NOPASSWD:ALL免密之后,程序走到%wheel时就又会被覆盖回需要密码
kaixin ALL=(ALL) NOPASSWD:ALL
创建文件夹,准备环境
在/opt下创建文件夹module、software:
# 软件安装位置
sudo mkdir module
# 软件安装包存放位置
sudo mkdir software
sudo chown kaixin:kaixin module/ software/
卸载自带的JDK
检查系统中自带的JDK:
rpm -qa | grep -i java
卸载自带的JDK:(需要以root用户运行)
# grep -i 忽略大小写
# xargs 将前面的输出结果作为命令的参数
# -n1 每次只取一个结果作为命令参数。如果不加,则会将所有结果以空格分隔拼接作为命令的参数
# rpm -e --nodeps:不验证套件档的相互关联性进行卸载
rpm -qa | grep -i java | grep -v ".noarch" | xargs -n1 rpm -e --nodeps
克隆虚拟机
因为我们要搭建集群,所以需要再克隆出几台虚拟机出来。
将hadoop100虚拟机关机,然后创建完整克隆。克隆出hadoop102、hadoop103、hadoop104几台主机。(hadop101用于后面搭建伪分布式,分析源码,本次先不搭建进集群中)。
克隆完成之后,还需要依次修改hadoop102、hadoop103、hadoop104的ip和hostname。