Hadoop集群环境配置及安装配置(详细过程包含安装包)_hadoop安装与配置

107 阅读11分钟

img img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

注意:对于主节点,由于软件运行较多,所以主节点的内存一般会比其他节点内存大。

二、克隆

 在首台虚拟机创建完成后,可以通过克隆的方式快速创建其他虚拟机。

1.右键虚拟机名称,点击管理,选择克隆选项

4f3850ecb78c4968b53020253c33be9b.png

 2.点击克隆后,点击下一页

8f8b2377b3f1460fbebed7a7da60901a.png

 3.选择克隆对象,一共有两种方式,第一种是直接克隆虚拟机的当前状态,第二种是选取虚拟机的快照,克隆指定快照的虚拟机状态。

dc248ff753e046d48c35280790e7aece.png

 4.选择克隆类型,一般为完整克隆

1fc29f3df41f4af6849d936be10c81fb.png

5.设置克隆虚拟机的名称以及存放位置

ee3cedc36e9941ce820aa1134882b131.png

6.设置完成后点击完成,克隆结束。 

三、快照

        快照,是对虚拟机的当前状态进行保存,在虚拟机出现问题无法解决,可以通过返回快照,使虚拟机返回到快照拍摄状态。可以在执行易出错操作前对虚拟机进行快照拍摄,建议快照拍摄时,虚拟机处于关机状态,否则拍摄时间可能较长。

1.右键虚拟机,选择快照

c2aaca3c02d14415bccc6ab9a243928b.png

 2.快照命名以及描述

ac07e96b903a4163b082e24ae53f535a.png

3.点击拍摄快照即可完成拍摄。 

二、主机名,IP,ssh免密登录

注意如果虚拟机有其他用途,通常为了安全会为大数据专门设置一个Hadoop用户然后配置免密登录

在root用户下执行下列操作

添加用户:useradd hadoop

设置密码:passwd hadoop

1.修改主机名

命令:hostnamectl set-hostname [名称],将主机名分别改为node1,node2,node3,也可以自行设置名称。

f67444c188d34988b4567b7cdc88512c.png

 2.设置IP(各节点的IP从主节点依次排序,node1为30,node2则为31,以此类推)

sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33

进入到网络配置文件中。将文件BOOTPROTO改为static,添加IPADDR(处于子网IP范围之间),GATEWAY(与子网IP一致),NETMASK(子网掩码)和DNS1。 配置完成后需要重启网卡(systemctl  restart network)。

7b2b9c99c27046989b79f81d632693dd.png

cde6d35c25d94a0fb349084313b7e791.png

网络配置完成后,ping一下www.baidu.com,如果结果为如下结果,则表示网络配置成功。

eb7365ab766e4d32840bbb2b58f37d2f.png

3.主机映射

本地Windows的hosts文件修改  文件存放路径:C:\Windows\System32\drivers\etc

如果无法修改请看另外一篇文章Hadoop集群安装常见问题以及解决方法_菜鸟工程师10086的博客-CSDN博客

修改每台节点的hosts文件

命令为sudo vim /etc/hosts ,依次添加node1,node2,node3

f502774b66ba4854adc537c9b9572496.png

4.ssh免密登录

 1.命令:ssh-keygen -t rsa -b 4096   然后一路回车到底

在三台虚拟机依次执行

 2.依次执行 ssh-copy-id node1 、ssh-copy-id node2 、ssh-copy-id node3。执行每一个命令后需要输入yes和id对应虚拟机的密码。

 三、JDK安装部署(三台虚拟机都要安装)

JDK安装包链接:pan.baidu.com/s/1QxVCRdLc… 
提取码:1111 
也可自行下载

1.创建一个文件夹 命令: mkdir -p /export/servers

 2.上传文件,进入刚刚创建的文件夹,输入rz,找到JDK存放路径,选择JDK

 3.解压文件 命令:  tar  -zxvf  jdk-8u361-linux-x64.tar.gz  -C  /export/servers

 4.配置jdk软连接 命令:ln -s /export/servers/jdk1.8.0_361 /export/servers/jdk

 5.配置JAVA_HOME环境变量

更改环境变量:sudo vim /etc/profile

#jdk环境变量
export JAVA_HOME=/export/servers/jdk
export PATH=PATH:PATH:JAVA_HOME/bin

6.生效环境变量,删除原有jdk,构建新的jdk软连接

生效环境变量: source /etc/profile

删除原因jdk: rm -f /usr/bin/java

构建软连接: ln -s /export/servers/jdk/bin/java /usr/bin/java

验证jdk:java -version

                javac -version

 四.关闭防火墙和SElinux

1.关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

2.关闭selinux

         selinux,是用以限制用户和程序的相关权限,来确保系统的安全稳定。

命令:sudo vim /etc/sysconfig/selinux

将SELINUX=enforcing修改为SELINUX=disabled

 五、修改时区并配置自动时间同步

1.安装ntp软件

yum install -y ntp

2.更新时区

删除原有时区:sudo rm -f /etc/localtime

加载新时区:sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

更新时区: ntpdate -u ntp.aliyun.com

 3.设置开机自启动

systemctl start ntpd

systemctl enable ntpd

 Hadoop的前置环境基本配置完成,建议快照保存

六、Hadoop安装与部署

 一、Hadoop安装包下载

Hadoop有自己官网(Apache Hadoop),可直接点击链接前往官网下载,或者链接:      链接:pan.baidu.com/s/1LFvqn7ad… 
提取码:1111 

1.进入官方网站

        在网站首页就有Download选项,点击download

2.进入download界面

        会出现好几个版本,一般第一个为最新的版本,点击3.3.6的Binary download的第一个binary,这个是Hadoop的二进制发行版本包,source download是Hadoop的源代码。​  3.点击下图框选部分链接下载Hadoop安装包

二、Hadoop安装以及配置

1.上传Hadoop安装包(node1进行)

        进入/export/servers目录,输入rz,选择Hadoop下载文件夹进行上传。

2.解压Hadoop压缩包

命令:tar -zxvf hadoop-3.3.4.tar.gz -C /export/servers 

3.构建软连接

命令: cd /export/servers
ln -s /export/servers/hadoop-3.3.4 hadoop

4.进入Hadoop目录,查看文件是否正确

各个文件夹含义如下
• bin ,存放 Hadoop 的各类程序(命令)
• etc ,存放 Hadoop 的配置文件
• include , C 语言的一些头文件
• lib ,存放 Linux 系统的动态链接库( .so 文件)
• libexec ,存放配置 Hadoop 系统的脚本文件( .sh和 .cmd )
• licenses-binary ,存放许可证文件
• sbin ,管理员程序( super bin )
• share ,存放二进制源码( Java jar 包)

5.修改配置文件

配置 HDFS 集群,我们主要涉及到如下文件的修改:
• workers : 配置从节点( DataNode )有哪些
• hadoop-env.sh : 配置 Hadoop 的相关环境变量
• core-site.xml : Hadoop 核心配置文件
• hdfs-site.xml : HDFS 核心配置文件

上述文件存放在以下目录

(1)workers文件配置
#填充内容如下
node1
node2
node3

表明集群记录了三个从节点(DataNode)

(2)配置hadoop-env.sh文件
#填充内容如下(在任意空白处填充即可)
export JAVA_HOME=/export/servers/jdk                         
export HADOOP_HOME=/export/servers/hadoop           
export HADOOP_CONF_DIR=HADOOP_HOME/etc/hadoop    exportHADOOP_LOG_DIR=HADOOP\_HOME/etc/hadoop        export HADOOP\_LOG\_DIR=HADOOP_HOME/logs          


(3)配置core-site.xml文件
#填充内容如下(在configuration内填充即可)


fs.defaultFS
hdfs://node1:8020     

   
io.file.buffer.size
131072

解释:

·key:fs.defaultFS
含义:HDFS文件系统的网络通信路径
值:协议为hdfs://  
namenode为node1
namenode通讯端口为8020
·key:io.file.buffer.size
含义:io操作文件缓冲区大小
值:131072bit

hdfs://node1:8020为整个HDFS内部的通讯地址,应用协议为hdfs://(Hadoop内部协议)
表明DataNode将和node1的端口通讯,node1是NameNode所在机器
此配置固定了node1必须启动NameNode进程

(4)配置hdfs-site.xml文件
#填充内容如下


dfs.datanode.data.dir.perm  #hdfs文件系统默认创建文件权限设置
700


dfs.namenode.name.dir  #NameNode元数据的存储位置
/data/nn


dfs.namenode.hosts  #NameNode运行哪些节点的DataNode连接
node1,node2,node3


dfs.blocksize   #hdfs默认大小256MB
268435456


dfs.namenode.handler.count   #namenode处理的开发线程数
100


dfs.datanode.data.dir  #从节点datanode的数据存储目录
/data/dn

    

5.准备数据目录

• namenode 数据存放 node1 的 /data/nn
• datanode 数据存放 node1 、 node2 、 node3 的 /data/dn

在node1执行:

img img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!