2.3.1 环境准备
1.网络配置
学习Hadoop一般是在伪分布式模式下进行的。这种模式是在一台机器的各进程上运行 Hadoop 的各个模块。伪分布式的意思是,虽然各个模块是在各进程上分开运行的,但只是运行在一个操作系统上,并不是真正的分布式,这里演示完全分布需要准备三台服务器,其中网络配置环境大致过程如下[20]。
1)永久修改hostname
(1)修改配置文件/etc/sysconfig/network。
命令:[root@bigdata-senior01 ~]vim /etc/sysconfig/network
打开文件后,NETWORKING=yes #使用网络HOSTNAME=bigdata-senior01
(2)配置Host命令:[root@bigdata-senior01 ~]vim /etc/hosts。
添加hosts:192.168.58.124 bigdata-senior01
2)关闭防火墙
学习环境可以直接把防火墙关闭。
(1)用root用户登录后,执行查看防火墙状态。
[root@bigdata-senior01 Hadoop]# systemctl status firewalld.service
(2)永久关闭防火墙。
[root@bigdata-senior01 Hadoop]# systemctl disable firewalld.service
(3)关闭SELinux。
SELinux是Linux一个子安全机制,学习环境可以将它禁用。图2-3给出禁用SELinux安全机制的代码。
图2-3 禁用SELinux安全机制的代码
2.用户创建
(1)创建一个名字为Hadoop的普通用户,代码如图2-4所示。
图2-4 创建一个名字为Hadoop的普通用户
(2)给Hadoop 用户设置sudo权限,代码如图2-5、图2-6、图2-7所示。
图2-5 编辑sudoers文件
设置权限,学习环境可以将 Hadoop 用户的权限设置得大一些,但生产环境一定要注意普通用户的权限限制。
图2-6 修改权限设置
注意:如果root用户无权修改sudoers文件,则手动为root用户添加写权限。
图2-7 手动为root用户添加写权限
(4)切换到Hadoop用户。
[root@bigdata-senior01 ~]# su-hadoop
[hadoop@bigdata-senior01 ~]$
(5)创建存放Hadoop文件的目录,代码如图2-8所示。
图2-8 创建存放Hadoop文件的目录
(6)将Hadoop文件夹的所有者指定为Hadoop用户,代码如图2-9所示。
如果存放Hadoop目录的所有者不是Hadoop,之后Hadoop运行中可能会有权限问题,那么就将所有者改为Hadoop。
图2-9 指定Hadoop目录的所有者
3.JDK安装
在安装和使用Hadoop前,需要做一些准备工作,其中搭建Java环境是必不可少的。Hadoop 3.2.x及更高版本需要Java 8。它是在OpenJDK和Oracle(HotSpot)的JDK/JRE上构建和测试的。Hadoop的早期版本(2.6及更早版本)支持Java 6。
1)查看是否已经安装了Java JDK
[root@bigdata-senior01 Desktop]# java-version
注意:Hadoop 机器上的 JDK最好是Oracle 的 Java JDK,不然会有一些问题,如可能没有 JPS 命令。
如果安装了其他版本的 JDK,则卸载。
2)安装Java JDK
(1)下载Oracle 版本 Java JDK:jdk-8u72-linux-x64.tar.gz。
(2)将jdk-8u72-linux-x64.tar.gz 解压到 /opt/modules 目录下。
[root@bigdata-senior01 /]# tar -zxvf jdk-8u72-linux-x64.tar.gz -C /opt/modules
3)添加环境变量
设置 JDK 的环境变量 JAVA_HOME。需要修改配置文件/etc/profile,追加
export JAVA_HOME="/opt/modules/jdk1.8.0_72"
export PATH=$JAVA_HOME/bin:$PATH
4)修改完毕后执行 source /etc/profile
5)安装后再次执行 java-version,代码及结果如图2-10所示
图2-10 查看JDK版本
从图2-10可以看见已经完成安装。