hadoop3.2安装手册-准备工作

虚拟机软件:VMware
centos7操作系统:CentOS-7-x86_64-DVD-1810
JDK 1.8
hadoop 3.2.0

虚拟机安装

参考文章centos7安装手册

JDK安装

hadoop3.2.0需要安装JDK1.8
下载路径:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
或者直接使用yum安装JDK
1、检查是否安装

yum list installed | grep java
image.png

2、检查发现已经有安装JDK,如果需要重新安装需要卸载

yum -y remove java-1.7.0-openjdk*
yum -y remove tzdata-java.noarch

3、查看yum列表中的JDK

yum search java | grep -i --color jdk
image.png

4、安装需要的jdk版本

yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

5、查看JDK是否安装成功

java -version
image.png

6、配置环境变量

ls /usr/lib/jvm

JDK默认安装路径/usr/lib/jvm


image.png

7、在/etc/profile文件添加如下命令(profile 为全局环境信息,如果想在固定用户下设置jdk环境变量, 可以设置~/.bash_profile)

# set java environment  
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64
PATH=$PATH:$JAVA_HOME/bin  
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  
export JAVA_HOME  CLASSPATH  PATH

8、保存关闭profile文件,执行如下命令生效

source  /etc/profile

9、查看JDK变量

echo $JAVA_HOME
echo $PATH
echo $CLASSPATH
image.png

配置免密码登录

更改主机名

hadoop安装,我们这里集群部署,需要准备三个虚拟机,分别为node1,node2,node3

为什么需要三个虚拟机?具体三个虚拟机分别是什么角色?详细参考本文最后部分。

三个虚拟机分别的IP地址如下

主机名 IP地址
node1 192.168.199.220
node2 192.168.199.221
node3 192.168.199.222

1、查看当前主机名

hostname
image.png

2、更改/etc/sysconfig下的network文件

vi /etc/sysconfig/network
image.png
image.png

3、配置主机名与IP映射关系
192.168.199.220 node1
192.168.199.221 node2
192.168.199.222 node3

vi /etc/hosts
image.png

4、重启虚拟机,查看主机名是否修改


image.png

克隆虚拟机

以上修改主机名为node1;node2\node3需要分别根据node1虚拟机克隆出来
1、设置node1虚拟机配置(考虑单个主机运行三个虚拟机环境,每个虚拟占用最低资源)

image.png

2、克隆node2虚拟机

image.png
image.png

image.png

image.png

image.png

3、启动node2虚拟机,更改主机名,更改步骤见上部分


image.png

4、查看node2的使用的网卡
ifconfig
image.png

5、更改IP地址(我的网卡名 ifcfg-ens33) 然后保存

vi /etc/sysconfig/network-scripts/ifcfg-ens33
image.png
image.png

6、重启服务器查看IP地址及hostname


image.png

7、node3配置与node2方式一致

配置SSH免密码登录

主要步骤主要是生成密钥和复制公钥

配置node1对node1的免密登录

1、登录node1 生成密钥,连续按回车

ssh-keygen
image.png

2、执行完会在当前目录生成.ssh文件夹,根据上图的提示可以看出 (id_rsa. 密钥) (id_rsa.pub 公钥)
3、把公钥复制到node1\node2\node3;注意node1同样需要设置
以下设置node1 对node1的免密登录设置

ssh-copy-id -i ./id_rsa.pub root@node1
image.png

上图输入指令后,按默认选择yes执行,输入目标node1的root密码

4、测试免密登录配置是否成功,如果未提示输入密码,则成功

ssh node1
image.png

5、查看node1 下.ssh文件夹,多两个文件


image.png

authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥
id_rsa : 生成的私钥文件
id_rsa.pub : 生成的公钥文件
know_hosts : 已知的主机公钥清单

配置node1对node2的免密登录

1、生成密钥,如果执行过,直接复制公钥至node2,上一步我已经生成公钥与密钥,此时可以直接拷贝公钥至node2中,执行命令

cd /root/.ssh
ssh-copy-id -i ./id_rsa.pub root@node2
image.png

命令输入后按照顺序,回车,输入yes,输入node2的root密码
2、测试免密登录是否成功

ssh node2
image.png

3、接下来配置
-- node1=> node3 方法同上

为什么这样配置服务器,node1为什么需要免密登录node2和node3

我们此处只需要配置node1至其他服务器的免密登录即可。node1为NameNode 作为主节点和服务节点,node2作为存储数据的数据节点

以下介绍三个虚拟机服务器的分工与结构

NameNode: 接受客户端的读写服务,比如文件的上传和下载,保存元数据,比如文件的大小、文件创建时间、文件的拥有者、权限、路径和文件名。元数据存放在内存中,不会和磁盘发生交互。
DataNode: 简称DN,与NameNode对应,主要用来存储数据内容,本地磁盘目录存储数据块(Block),以文件形式分别存储在不同的DataNode节点上,同时存储Block的元数据信息文件。
Secondary NameNode:上面提到的NameNode 的元数据存储在内存中,为了保证数据不丢失,需要将数据保存起来,这里涉及的文件包括fsimage和edits。fsimage是整个元数据文件,在集群刚开始搭建时是空的,对元数据增删改的操作放到edits文件中。Secondary NameNode完成数据的合并操作,每隔3600秒更新一次

Hadoop 3的HDFS的完全分布式搭建
在搭建Hadoop3的完全分布式之前需要准备三台机器作为三个节点,当然我们使用的是三个虚拟机;这里假设三台服务器的名字为node1、node2、node3,其中node1为NameNode(简写NN),node2为Secondary NameNode 简写(SN),同时node1、node2、node3都设置为DataNode简写为(DN),如下表。
最后如果在node1上启动集群,需要node1免密码登录到node2、node3上开启相应的服务,下一章节说明如何设置:hadoop3.2安装手册

node1 node2 node3
NN SN --
DN DN DN

至此完成三个虚拟机的环境搭建,后面我们安装部署hadoop3.x

你可能感兴趣的:(hadoop3.2安装手册-准备工作)