大数据之 Hadoop-2-运行环境搭建之虚拟机安装

一、虚拟机环境准备

1、虚拟机安装

1.1 下载最小Linux镜像

下载最小镜像centos7.6到本地,然后安装在VM
file

该虚拟机的账号和密码都为:

username:root
password:123456

安装好之后,可以使用 Xshell进行连接访问,虚拟机的命令行界面并不友好。

file

1.2 新建用户

添加新用户

> adduser hadoop
> passwd hadoop
更改用户 hadoop 的密码 。
新的 密码:hadoop@123

1.3 修改用户权限

为了使普通用户可以使用root权限执行相关命令(如,系统文件的修改等),而不需要切换到root用户,可以在命令前面加入指令sudo。文件/etc/sudoers 中设置了可执行 sudo 指令的用户,因此需要修改改文件,添加相关用户

[root@centos01 etc]# ls -l | grep sudo
-rw-r-----.  1 root root   1786 10月 30 2018 sudo.conf
-r--r-----.  1 root root   4328 10月 30 2018 sudoers
drwxr-x---.  2 root root      6 10月 31 2018 sudoers.d
-rw-r-----.  1 root root   3181 10月 30 2018 sudo-ldap.conf
[root@centos01 etc]# chmod 666 sudoers
[root@centos01 etc]# ls -l | grep 'sudo'
-rw-r-----.  1 root root   1786 10月 30 2018 sudo.conf
-rw-rw-rw-.  1 root root   4328 10月 30 2018 sudoers
drwxr-x---.  2 root root      6 10月 31 2018 sudoers.d
-rw-r-----.  1 root root   3181 10月 30 2018 sudo-ldap.conf

先修改文件为可写,然后再添加用户

[root@centos01 ~]# vi /etc/sudoers

root    ALL=(ALL)       ALL
hadoop ALL=(ALL) NOPASSWD:ALL   # NOPASSWD:ALL 表示sudo的时候不需要再输入密码
## Allows members of the 'sys' group to run networking, software,
## service management apps and more.
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS

新增用户完成后,需要将该文件设置回只读:

[root@centos01 opt]# chmod 444 /etc/sudoers

1.4 关闭防火墙

集群通常都是内网搭建的,若果内网开启防火墙,内网集群通信则会受到防火墙的干扰,因此需要关闭集群中所有节点的防火墙。

执行以下命令关闭防火墙:

$ sudo systemctl stop firewalld.service 

然后执行以下命令,禁止防火墙开机启动:

$ sudo systemctl disable firewalld.service 

若需要查看防火墙是否已经关闭,可以执行以下命令,查看防火墙的状态:

$ sudo firewall-cmd --state

此外,开启防火墙的命令如下:

$ sudo systemctl start firewalld.service 

1.5 设置固定IP

为了避免后续启动操作系统后,IP地址改变了,导致集群间通信失败,节点间无法正常访问,需要将操作系统的IP状态设置为固定IP,具体操作步骤如下:

1)、查看 VMware网关IP
单击 VMware 菜单栏中的【编辑】/【虚拟网络编辑器】,在弹出的【虚拟网络编辑器】窗口的上方表格中选择最后一行,即外部连接为【NAT模式】,然后单击下方的【NAT设置】按钮,如下图:

file

在弹出的窗口中,查看VMware分配的【网关IP】,可以看到,本例中的网关IP为 192.168.222.2(网段为222),需要注意的是,后续给 VMware 中的操作系统设置 IP时,网关IP应与下图中的网关IP保持一致。
file

1.6 配置系统IP

在系统终端命令行窗口执行以下命令,修改文件 ifcfg-ens33:

$ vi  /etc/sysconfig/network-scripts/ifcfg-ens33 

完整修改后的内容如下:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
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=b9fe1279-cbfb-4074-80fe-3829d94bbe86
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.222.10
NETMASK=255.255.255.0
GATEWAY=192.168.222.2
DNS2=114.114.114.114

file

修改完成后执行以下命令,重启网络服务,使修改生效:

$ sudo service network restart

重启完成后,通过以下命令查看改动后的IP:

$ ip addr

file

测试本地访问
在本地Windows系统打开cmd命令行窗口,使用ping命令访问虚拟机中操作系统的IP地址,命令如下:

ping 192.168.222.10

2、修改主机名

在分布式集群中,主机名用于区分不同的节点,方便节点之间相互访问,因此需要修改主机的主机名。

(1)、输入一下命令查看主机名:

[root@localhost ~]# hostname
localhost.localdomain

从输出的信息可以看到,当前主机的默认主机名为:localhost.localdomain

(2)、执行以下命令,设置主机名为 centos01:

hostname centos01

此时的系统已经改为 centos01了,但是重启系统后将失效,要想永久改变主机名,需要修改 etc/hostname 文件。

# vi /etc/hostname

(3)、执行reboot命令,重启系统使修改生效。

可以看到重启之后的主机名已经生效了:
file

3、新建资源目录

在目录 /opt/ 下创建两个文件夹 softwaresmodules,分别用于存放软件安装包和软件安装后的程序文件,命令如下:

# mkdir /opt/softwares
# mkdir /opt/modules

将目录/opt 及其子目录中所有文件的所有者和组更改为 hadoop 和 hadoop,命令如下:

su hadoop
[hadoop@centos01 opt]$ sudo chown -R hadoop:hadoop /opt/*

查看:

[root@centos01 opt]# ls -l
总用量 0
drwxr-xr-x. 2 hadoop hadoop 6 1月  30 22:46 modules
drwxr-xr-x. 2 hadoop hadoop 6 1月  30 22:46 softwares

二、 安装JDK

Hadoop等大数据框架使用Java开发,依赖于Java环境,因此在搭建Hadoop集群之前需要暗转好JDK。
JDK的安装步骤如下:

1、卸载系统自带的JDK

[hadoop@centos01 opt]$ sudo rpm -qa|grep java
$ rpm -qa | grep -i java | xargs -n1 sudo rpm -e –nodeps # 卸载

2、安装JDK

(1)、上传解压安装包

去Java官网下载Linux版本的 jdk-8u211-linux-x64.tar.gz ,然后用X发图片工具将JDK导入到opt目录下面的softwares文件夹下面,如图所示

file

然后解压到目录 /opt/modules 中,解压命令如下:

[hadoop@centos01 softwares]$ tar -zxvf jdk-8u211-linux-x64.tar.gz  -C /opt/modules/

(2)、配置JDK环境变量

执行以下命令,修改文件 /etc/profile ,配置JDK系统环境变量:

$ sudo vi /etc/profile

在文件末尾加入以下内容:

#JAVA_HOME
export JAVA_HOME=/opt/modules/jdk1.8.0_211
export PATH=$PATH:$JAVA_HOME/bin

执行以下命令,刷新 profile 文件,使修改生效:

$ source /etc/profile

执行 java -version 命令,若能成功输出以下JDK版本信息,说明安装成功:

[root@centos01 modules]# java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

为者常成,行者常至