一、准备宿主机

为了培训Hadoop生态的部署和调优技术,需要准备3台虚拟机部署Hadoop集群环境,能够保证HA,即主要服务没有单点故障,可执行基本功能,完成小内存模式的参数调整。

1.1、准备安装包

宿主机操作系统为Win7 SP1,内存16G,磁盘为256G的SSD盘

1)虚拟机:VMware® Workstation 15 Pro 15.5.0 build-14665864 中文版

2)Linux系统:CentOS-8-x86_64-1905-dvd1.iso (Centos 8.0)

1.2、配置网络

安装VMware后,宿主机除了无线网络外共有3个网卡,分别是:

1) 本地网卡,192.168.3.127,掩码 255.255.255.0

2) Vmnet1(用于支持host only模式),192.168.121.1,掩码 255.255.255.0

3) Vmnet8(用于支持NAT[1]模式),192.168.154.1,掩码 255.255.255.0

在本次实验中,我们部署的虚拟机采用NAT模式网络。

启动VMware Workstation Pro,点击 编辑->虚拟网络编辑器…

1.2.1 查看NAT设置

点击“NAT设置(S) …”,可以查看NAT设置

即NAT的网关为192.168.154.2,在虚拟机中将IP设置为192.168.154段,掩码为255.255.255.0网关设置为192.168.154.2,即可实现虚拟机访问外部网络。

1.2.2 更改设置

如果对虚拟网卡Vmnet1和Wmnet8的IP修改,需要同时修改网卡的信息和vmware pro workstation中的“更改设置”

可以点击更改设置,注意,此操作需要管理员才可设置,并且会弹出“用户账户控制”对话框以供确认。

可以点击“NAT设置...”设置网关

1.3、配置时间服务器

将虚拟机宿主作为时间服务器。

  • 在桌面上右击“计算机”,选择“管理”,然后选择“服务”。将Windows Time服务的启动类型设置为 自动(延迟启动)
  • “开始”->“运行”-> 输入“regedit”打开注册表。
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer将NetSerVer下Enabled的值设置为1,如果没有Enabled则增加名为Enabled,类型为REG_DWORD,值为1的项。
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\ AnnounceFlags 设定为 5 (5表示稳定源,默认 10)
  • 如果笔记本没有插网线,则因为Win7的“媒介探测(Media Sense)”技术会自动关闭网络服务,可以修改注册表,欺骗OS继续提供服务
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters,添加子项

      • 名称:DisableDHCPMediaSense
      • 数据类型:REG_DWORD(布尔型)
      • 值:1
    • 副作用,笔记本休眠后,从一个无线网络环境到另外一个无线网络环境,则因为欺骗了DHCP,笔记本唤醒后不会自动申请新IP,导致无法连接无线网络,所以需要手工禁止和启动一下无线网络,其他的DHCP网也需类似操作。
  • 重新启动Windows Time服务,就可以使用宿主作为NTP服务器了。
    • 注意,缺省情况下Windows Time服务是自动(延迟启动),这适用于台式机和笔记本模式,如果是Windows服务器,要修改为“自动”模式。
    • 只用物理网卡才对外提供时间服务,Linux的时间服务器IP一定要对应物理网卡的IP,在本例中时间服务器IP为192.168.3.127

1.4、Centos8常用命令

root运行

# systemctl start foo  #运行一个服务

# systemctl stop foo  #停止一个服务

# systemctl restart foo  #重启一个服务

# systemctl status foo  #显示一个服务(无论运行与否)的状态

# systemctl enable foo  #在开机时启用一个服务

# systemctl disable foo  #在开机时禁用一个服务

# systemctl is-enabled foo  #查看服务是否开机启动

# reboot  #重启主机

# init 0  #立即关机

二、安装Centos8.0

2.1、准备虚拟机的基础配置

选择“自定义”,点击“下一步”

点击“下一步”

选择“稍后安装操作系统”,点击“下一步”

选择“Red Hat Enterprise Linux 8 64位”, 点击“下一步”

根据个人需要,输入虚拟机的名称,也可以选择存储虚拟机的目录,点击“下一步”

根据宿主机的情况和你的具体规划选择处理器个数和核数,点击“下一步”

根据宿主机的情况和你的具体规划选择或者输入供虚拟机使用的内存,点击“下一步”

根据具体需求选择网络模式,在本例中需要通过宿主机访问互联网,又要禁止外网访问虚拟机,所以采用NAT模式,点击“下一步”

按自动推荐的模式,点击“下一步”

按自动推荐的模式,点击“下一步”

选择“创建新虚拟磁盘”,点击“下一步”

根据具体的磁盘需求,输入磁盘大小,因为要作为克隆的种子,注意不要选择立即分配所有的磁盘空间。为了方便复制,选择“见虚拟磁盘拆分为多个文件”。 点击“下一步”

点击“下一步”

进行优化,删除USB、声卡、打印机等无用的硬件。

点击“自定义硬件”

逐步选择USB控制器、声卡、打印机,点击“移除”

设置显示器,为节省资源,取消“加速3D图形”,设置分辨率为1280×1024

设置光驱采用Centos8的ISO文件

点击“关闭”回到上一界面

点击“完成”。结束虚拟机的准备阶段

2.2、启动虚拟机

接上文,点击“开启此虚拟机”

注意:虚拟机字符界面和宿主机的切换方式为按“Ctrl” + “Alt”键

选择光标到“Install CentOS Linux 8.0.1905”,回车

快速滚动显示许多文字信息后,显示图形界面。

点击“Continue”,显示汇总信息节点,在此界面中我们需要设置软件集合、磁盘分区、日期、网络等常规信息。

2.2.1、设置网络

拖动按钮,选择网络状态为“On”

此时的IP设置为DHCP模式,点击“Configure”,设置手工指定的IP

“General”选项页中选中“Automatically Connect to this network …”,确保自动启动此网络设置。

在IPV4 Settings中设置网络为人工指定的静态IP,按前文的约定,网关指定为192.168.154.2,DNS请按各地情况指定,如天津联通DNS为202.99.96.68

点击“Save”返回上一界面

将“Host Name” 后的输入框中内容修改为规划的服务器域名,如“Hadoop.centos8.cn”,点击“Apply”

点击“Done”回到上一界面。

2.2.2、设置日期

此时网络已经联通,可以同时设置时间以及时间服务器了。

首先选择正确的时区。可以通过下拉菜单选择也可以直接用鼠标在地图上选择。

现在“Network Time”处于“On”的状态,点击旁边的设置按钮

增加宿主机的时间服务器,并取消缺省的centos.pool.ntp.org服务器

注意状态“Working”,如果是,表示时间服务器正常并且可以访问,反之如果是则需要检查网络设置和时间服务器的设置。

选择“OK”确认网络时间服务器的设置。

选择“Done”回到上一界面

2.2.3、配置磁盘空间

虚拟机可以由其自动选择分区,它的规则比较简单,分为boot、根、交换分区,主要空间都在根分区。如果是物理机或者有特殊的需求则可以选择“Custom”

2.2.4、选择安装的软件包

作为服务器,一般不选择GUI,以节省系统占用的资源。

为了开发和调试,一般选择“Performance Tools”和“Development Tools”即可,其他后续软件包都可以通过yum在需要时安装。

点击“Done”回到上一界面

2.2.5、开始安装

点击“Begin Installation”开始安装

2.2.6、设置用户名和密码

注意,如果root的密码过于简单,就需要两次确认(“点击Down”),如下图。

可以再创建一个普通用户

同样,如果密码强度太弱,需要点击两次“Done”

继续等待安装进度完成

2.2.7、安装完成后重启

点击“Reboot”重新启动

2.3、常规配置

2.3.1、配置SecureCRT

创建名为hadoop的Session,IP地址为192.168.154.8,双击连接服务器

首次连接弹出对话框,注:每个虚拟机有单独的Hash值。

选择“Aceept & Save”

输入正确的用户名和密码。注意:尽量不要用root用户登录。

登录成功后可以设置Session选项。菜单“Options”-> “Session Options …”

配置颜色方案和滚动区缓冲

配置字符集和显示字体

2.3.2、设置DVD软件源或ISO软件源

2.3.2.1、设置DVD软件源

2.3.2.1.1、装载光驱

确保虚拟机设置中设备状态为“已连接”。

#切换为root用户

su

#创建目录

mkdir /mnt/centos8

#挂载

mount /dev/sr0 /mnt/centos8/

#卸载命令

umount /mnt/centos8

2.3.2.1.2、自动挂载cdrom

vi /etc/fstab

增加一行

/dev/sr0 /mnt/centos8 iso9660 auto,ro 0 0

2.3.2.1.3、创建本地源

cd /etc/yum.repos.d/

ll

-rw-r--r--. 1 root root  731 Aug 14 14:42 CentOS-AppStream.repo

-rw-r--r--. 1 root root  712 Aug 14 14:42 CentOS-Base.repo

-rw-r--r--. 1 root root  798 Aug 14 14:42 CentOS-centosplus.repo

-rw-r--r--. 1 root root 1320 Aug 14 14:42 CentOS-CR.repo

-rw-r--r--. 1 root root  668 Aug 14 14:42 CentOS-Debuginfo.repo

-rw-r--r--. 1 root root  756 Aug 14 14:42 CentOS-Extras.repo

-rw-r--r--. 1 root root  338 Aug 14 14:42 CentOS-fasttrack.repo

-rw-r--r--. 1 root root  928 Aug 14 14:42 CentOS-Media.repo

-rw-r--r--. 1 root root  736 Aug 14 14:42 CentOS-PowerTools.repo

-rw-r--r--. 1 root root 1382 Aug 14 14:42 CentOS-Sources.repo

-rw-r--r--. 1 root root   74 Aug 14 14:42 CentOS-Vault.repo

检查哪些源是可使用状态

grep -lrn "enabled=1"

CentOS-AppStream.repo

CentOS-Base.repo

CentOS-Extras.repo

将可使用源改名

mv CentOS-Base.repo CentOS-Base.repo.bak

mv CentOS-AppStream.repo CentOS-AppStream.repo.bak

mv CentOS-Extras.repo CentOS-Extras.repo.bak

编辑Base和App Stream源

vi CentOS-Base.repo

[BaseOS]

name=CentOS-$releasever - Base

baseurl=file:///mnt/centos8/BaseOS

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

enabled=1

存盘退出

vi CentOS-AppStream.repo

[AppStream]

name=CentOS-$releasever - AppStream

baseurl=file:///mnt/centos8/AppStream

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

enabled=1

存盘退出

检验本地源

yum clean all

yum list | grep gcc 显示如下风格列表

gcc.x86_64                 8.2.1-3.5.el8  @AppStream

gcc-c++.x86_64             8.2.1-3.5.el8  @AppStream

gcc-gdb-plugin.x86_64      8.2.1-3.5.el8  @AppStream

libgcc.x86_64              8.2.1-3.5.el8  @anaconda

gcc-gdb-plugin.i686        8.2.1-3.5.el8  AppStream

gcc-gfortran.x86_64        8.2.1-3.5.el8  AppStream

gcc-offload-nvptx.x86_64   8.2.1-3.5.el8  AppStream

libgcc.i686                8.2.1-3.5.el8  BaseOS

2.3.2.2、设置ISO软件源

2.3.2.2.1、装载iso文件

#创建目录

mkdir /mnt/centos8

#复制iso文件到特定目录,如 /opt/kvm/data/iso/CentOS-8-x86_64-1905-dvd1.iso

#挂载

mount -o loop /opt/kvm/data/iso/CentOS-8-x86_64-1905-dvd1.iso /mnt/centos8

#卸载命令

umount /mnt/centos8

2.3.2.2.2、自动挂载iso文件

vi /etc/fstab

增加一行

/opt/kvm/data/iso/CentOS-8-x86_64-1905-dvd1.iso /mnt/centos8 iso9660 auto,ro 0 0

2.3.2.2.3、创建本地源

同2.3.2.1.3、创建本地源

2.3.3、检查时间同步

安装过程中已经设置了时间同步和时间服务器,此处仅检查配置文件以及服务是否启动

cat /etc/chrony.conf 查看有如下行:

server 192.168.3.127 iburst

下列命令可以将Centos8的chrony时间服务器重启、设置为自动启动、查看状态

systemctl restart chronyd

systemctl enable chronyd

systemctl status chronyd

查看Linux和时间服务器的同步情况

chronyc sourcestats –v

2.3.4、简化的安全设置

关闭防火墙

#检查防火墙状态

systemctl status firewalld.service

#关闭防火墙

systemctl stop firewalld.service

#禁止开机启动防火墙

systemctl disable firewalld.service

关闭SELINUX

# vi /etc/selinux/config

编辑内容:

#SELINUX=enforcing  #注释掉

SELINUX=disabled  #增加

存盘退出,下次重新启动后生效

如果想使配置立即生效,执行

setenforce 0

2.3.5、安装部分管理包

yum install expect redhat-lsb-core -y

验证

lsb_release –a

LSB Version:    :core-4.1-amd64:core-4.1-noarch

Distributor ID: CentOS

Description:    CentOS Linux release 8.0.1905 (Core)

Release:        8.0.1905

Codename:       Core

查看内核版本

uname –a

Linux hadoop.centos8.cn 4.18.0-80.el8.x86_64 #1 SMP Tue Jun 4 09:19:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

2.3.6、部署Samba

yum install samba samba-client -y

已经关闭了防火墙 所以最复杂的问题不会出现了

vi /etc/samba/smb.conf

缺省共享用户目录

另外因为没有安装打印机,所以删除共享打印机的配置

删除[printers] [print$]

启动服务

systemctl enable smb

systemctl enable nmb

systemctl restart smb

systemctl restart nmb

设置访问密码

smbpasswd -a ansible

设置win7的host

C:\Windows\System32\drivers\etc\hosts

192.168.154.8 hadoop

192.168.154.11 hadoop11.centos8.cn  hadoop11

192.168.154.12 hadoop12.centos8.cn  hadoop12

192.168.154.13 hadoop13.centos8.cn  hadoop13

在win7访问hadoop

就可以访问ansible的home目录了

三、克隆

3.1、克隆节点

执行关机命令 init 0,关机完成后开始克隆

选中虚拟机hadoop,单击菜单-> 虚拟机->  管理 -> 克隆…

单击“下一步”

单击“下一步”继续

如果新虚拟机就在本机运行,为了节省磁盘,可以选择“创建链接克隆”,反之如果需要复制到其他服务器,则一定要“创建完整克隆”。

单击“下一步”继续

输入克隆虚拟机的名称,单击“完成”开始克隆虚拟机。

单击“关闭”

3.2、修改IP地址

启动克隆生成的虚拟机hadoop11

设置IP和主机名

IP 在vi /etc/sysconfig/network-scripts/ifcfg-ens160

vmware不会重新生成UUID,避免重复,需要更新此UUID

UUID="…"

调用uuidgen产生过新的uuid,替换原来的串

如:

uuidgen

bd83dded-76d2-4d23-8799-134f8b7eb984

修改IP地址

IPADDR="192.168.154.8"

IPADDR="192.168.154.11"

3.3、修改主机名IP

vi /etc/hostname

hadoop.centos8.cn

修改为

hadoop11.centos8.cn

3.4、重新启动

重复3.1-3.4完成hadoop12,hadoop13的克隆和设置

四、Centos8和Centos7的主要差异

4.1、网络服务

Centos8/RHEL8中网络相关服务管理已经转移到NetworkManager,缺省情况不安装network服务。

systemctl status NetworkManager 可以查看服务状态。

注意:修改IP,如果仅修改网卡配置,然后重启NetworkManager,是不可行的。正确的方式是重新启动网卡:

1、 nmcli connection down ens160 停止网卡

2、 nmcli connection up ens160 启动网卡

注意:此时注意该网卡千万不要是远程管理的网卡呀。

修改配置文件有三种

1、 vi

2、 nmcli connection modify ens160(ens160是网卡名)

3、 nmtui 字符交互界面进行编辑

如果象Centos7一样使用network服务,可以用yum安装

yum install network-scripts

但是按官方资料,将来network服务会从发行包中彻底取消。


[1] NAT:Network Address Translation,网络地址转换,可实现带宽分享和安全防护。

虚拟机上安装centos8.0的更多相关文章

  1. 在虚拟机上安装redis集群,redis使用版本为4.0.5,本机通过命令客户端可以连接访问,外部主机一直访问不了

    在虚拟机上安装了redis 4 ,启动后本机客户端可以连接访问,但是外部主机一直访问不了,在使用java代码连接redis集群时报:no reachable node in cluster,原因:在r ...

  2. 在VM虚拟机上安装Microsoft Dynamics CRM 2016 步骤图解及安装注意事项

    安装Dynamics CRM 2016环境配置要求: 系统版本:Windows Server 2012 R2(必须) SQL 版本: SQLServer2014SP1-FullSlipstream-x ...

  3. 在虚拟机上安装红帽Linux.5.5.for.x86.服务器版系统(按针对安装oracle 10g作的配置)

    在虚拟机上安装红帽Linux.5.5.for.x86.服务器版系统(按针对安装oracle 10g作的配置)   软件版本: 虚拟机版本:vmwareworkstation 7.11 build-28 ...

  4. 用physdiskwrite在VMware虚拟机上安装m0n0wall【转】

    在一台PC机上安装m0n0wall,相信大家都有经验.一般采用两种方法:1.在一台Windows XP或Windows 2000的PC上,下载physdiskwrite软件和m0n0wall映像文件( ...

  5. 【转载】Linux小白福利:《超容易的Linux系统管理入门书》(三)在虚拟机上安装Linux

    本篇是Linux小白最佳实践第3篇,目的就是让白菜们自己动手安装个Linux玩玩.如果你是Linux小白,请务必亲自动手来安装.不想安装多个操作系统的,虚拟机是最佳选择,一台电脑上可以用虚拟机安装7. ...

  6. 如何在VMware虚拟机上安装Linux操作系统(Ubuntu)

    作为初学者想变为计算机大牛非一朝一夕,但掌握基本的计算机操作和常识却也不是多么难的事情.所以作为一名工科男,为了把握住接近女神的机会,也为了避免当白痴,学会装系统吧!of course为避免把自己的电 ...

  7. 如何在Windows版本的VMware虚拟机上安装苹果系统

    有时我想玩玩苹果系统,但自己有没有mac,只能在虚拟机上装一个苹果玩玩,但又由于某些原因虚拟机软件VMware不支持安装苹果系统,还在有大佬出于不明目的,在网上散布了适用于Windows版本的VMwa ...

  8. 虚拟机上安装Linux操作系统

    很久之前就知道虚拟机这个东西,也都在虚拟机上安装过Windows的操作系统和Linux的操作系统,但是一直都没有去做笔记. 最近还是比较有时间,就移除了前两天刚刚安装的Linux系统,重新安装一次,做 ...

  9. Mac系统下使用VirtualBox虚拟机安装win7--第三步 在虚拟机上安装 Windows 7

    第三步 在虚拟机上安装 Windows 7 等待虚拟机进入 Windows 7 的安装界面以后,在语言,货币,键盘输入法这一面,建议保持默认设置,直接点击“下一步”按钮,如图所示

随机推荐

  1. 深入理解 ThreadLocal

    前言 上篇文章 深入理解 Handler 消息机制 中提到了获取线程的 Looper 是通过 ThreadLocal 来实现的: public static @Nullable Looper myLo ...

  2. 新手学习FFmpeg - 通过API完成filter-complex功能

    本篇尝试通过API实现Filter Graph功能. 源码请参看 https://andy-zhangtao.github.io/ffmpeg-examples/ FFmpeg提供了很多实用且强大的滤 ...

  3. 封装 jsonp请求数据的方法

    什么是jsonp :  Jsonp(JSON with Padding) 是 json 的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据. 为什么我们从不 ...

  4. STA——multicycle path

    之前去地平线面试的时候被问到了multicycle path的一点问题,其实这个问题我应该知道,看过<Constraining Designs for Synthesis and Timing  ...

  5. 作为Java开发人员不会饿死的5个理由

    尽管已有20多年的历史,Java仍然是最广泛使用的编程语言之一.只需看看统计数据:根据2018年Stack Overflow开发人员调查,Java是世界上第三大最受欢迎的技术. TIOBE指数,这是一 ...

  6. Small Spring系列一:BeanFactory(一)

    人生如逆旅,我亦是行人. 前言 Spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用. 准备 bean-v1.xml配置b ...

  7. mysql中查询字段为null或者不为null的sql语句怎么写?

    在mysql中,查询某字段为空时,切记不可用 = null,而是 is null,不为空则是 is not null select * from table where column is null; ...

  8. Redis常用命令(key、string、List)

    1.Key 1.keys *   查询所有数据 2.exists key名   判断key名是否存在 3.move key名  数据库号(0-15)  移动数据key名到相应的数据库 4.expire ...

  9. jar包部署到window系统服务器的办法

    1:把jar包和lib(如果打包出现有lib目录)放在同级目录 2:windows服务器安装jdk等 3:通过bat批处理命令或者 cmd命令启动jar包,其中之一就可以 3.1:bat命令如下: @ ...

  10. Cookie的临时存储和定时存储

    Cookie解决了不同请求的数据共享问题.是由服务器保存在客户端的小文本文件,包含了用户的信息,可以避免用户重复输入用户名和密码进行登录.浏览器请求Cookie,服务器响应时返回Cookie,浏览器存 ...