hadoop 3.3.3集群安装部署

前言

大数据开发涉及的组件和方向比较多,由于之前项目使用的都是成熟的大数据产品CDH或者HDP,里面封装了多个大数据组件,对于企业而言,无论是体验还是维护都比较友好,但对于开发人员来说,太过于集成,反而不太好了解各个组件具体的配置细节,本篇文章就从hadoop开始来深入探讨。


提示:以下案例仅供参考

一、hadoop简介

hadoop从发布至今,已经更新到第三个大版本,除了从1.0到2.0版本有着非常大的改进更新外,到3.0后的版本都是不断的改善优化。1.0版本yarn和mr引擎都是在一起的,对于资源的调优不透明也不太便利,2.0版本后yarn和mr引擎解耦,用户可用根据自身环境资源的情况自行配置参数调优,mr专门负责处理计算,yarn专门负责资源管理,另外还增强了高可用性以及hdfs响应速度等,之后的版本就没怎么关注,也没怎么听过关于hadoop的一些特别大的改进,如有疏漏的地方,大家可用及时补充讨论。

二、准备步骤

1.服务器分配

提示:也可用根据自身情况创建三台虚拟机

        Node1	   Node2  	  Node3
cpu	    16core	   16core	  16core
内存	32G	       32G	      32G
硬盘	500G	   500G	      500G	
OS      centos7	   centos7    centos7

2.安装jdk

安装步骤跟之前的文章类似,都是下载好对应系统的安装包,然后解压安装,由于我这边的服务器环境系统是centos,所以安装包以xxx.tar.gz结尾(.rpm格式的也可以安装,但安装路径是默认的,为了方便指定路径安装,所以现在tar格式安装包),到安装路径下,执行命令 tar -zxvf jdk-8u391-linux-x64.tar.gz 解压,
hadoop 3.3.3集群安装部署_第1张图片

3.配置环境变量

不知道大家平时都喜欢怎样配置环境变量,我一般都是在/etc/profile.d/目录下创建一个xxx.sh文件保存所有的环境变量配置,以避免配置文件的冲突,其实仔细看下/etc/profile里面的代码可以知道,其实每次读取环境变量时,是会遍历/etc/profile.d目录下的所有sh文件,因此可以在/etc/profie.d目录下建立个人的环境变量配置
hadoop 3.3.3集群安装部署_第2张图片
提示:以下是我在/etc/profile.d目录下创建的my_env.sh
hadoop 3.3.3集群安装部署_第3张图片

4.免密登录

做免密登录是为了节点之间能够相互访问,以及主备切换等,先将各个节点的主机名(可通过hostname命令查看,如果觉得主机名不合适,可通过hostname-ctl set-hostname xxx来修改主机名)添加到/etc/hosts文件中,然后分别在三台机器上执行ssh-keygen -t rsa生成公钥和私钥(可通过ls ~/.ssh命令查看生成的密钥,如果服务器上没有ssh服务,可通过yum -y install openssh openssh-clients openssh-server 命令安装ssh服务),接着执行ssh-copy-id cdp1 ssh-copy-id cdp2 ssh-copy-id cdp3,拷贝到目标服务器
提示:sh-keygen -t rsa 和 ssh-copy-id cdp1 ssh-copy-id cdp2 ssh-copy-id cdp3三台机器都需要执行
在这里插入图片描述
提示:ip地址做了涂抹,可根据自身环境信息进行更改
在这里插入图片描述

三、hadoop安装

1.下载安装包

登录hadoop官网地址 https://hadoop.apache.org/releases.html,下载hadoop安装包hadoop-3.3.3.tar.gz,执行解压命令tar -zxvf hadoop-3.3.3.tar.gz到指定安装目录,然后将安装目录添加到环境变量,此处跟上一步功能类似。

#hadoop
export HADOOP_HOME=/application/soft/hadoop-3.3.3
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

2.hadoop配置

hadoop中需要配置的文件有四个,分别是core-site.xml、hdfs-site.xml、yarn-site.xml和mapred-site.xml,以下是各个文件的配置详情
1.core-site.xml

<configuration>
<!-- 把多个NameNode的地址组装成一个集群mycluster -->
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://cdp1:8020</value>
  </property>
<!-- 指定hadoop运行时产生的文件的存储目录 -->
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/application/soft/hadoop-3.3.3/data</value>
  </property>
  <!-- 表示代理用户的组所属-->
  <property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
  </property>
  <!-- 表示任意节点使用hadoop集群的代理用户 hadoop都能访问hdfs集群-->
  <property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
  </property>
</configuration>

2.hdfs-site.xml

<configuration>
<!-- 不开启权限检查 -->
  <property>
    <name>dfs.permissions.enabled</name>
    <value>false</value>
  </property>
<!--nn web端访问地址 -->
  <property>
    <name>dfs.namenode.http-address</name>
    <value>cdp1:9870</value>
  </property>
<!--2nn web端访问地址-->
  <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>cdp3:9868</value>
  </property>
  </configuration>

3.yarn-site.xml

<configuration>
<!-- 指定MR走shuffle -->
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
<!--指定ResourceManager地址-->
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>cdp2</value>
  </property>
<!--环境变量的继承-->
  <property>
    <name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
  </property>
</configuration>

4.mapred.xml

<configuration>
  <!-- 指定Mapreduce程序运行在Yarn-->
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

3.namenode初始化

执行hdfs namenode -format命令,对namenode进行初始化,看到输出信息有"successfully formatted"字样,则证明初始化成功
hadoop 3.3.3集群安装部署_第4张图片

4.启动服务

进入hadoop安装目录,比如我的安装目录是/application/soft/hadoop-3.3.3,然后执行 sbin/start-dfs.sh,启动namenode、secondarynamenode、datanode进程,可通过jps命令查看,因为我的配置文件中写的是节点2作为yarn的资源管理器,所以在节点2执行sbin/start-yarn.sh命令启动resourcemanager、nodemanager进程,可通过jps命令查看进程,然后打开浏览器,输入地址http://cdp1:9870,查看是否能正常访问,也可以通过命令hds dfsadmin -report命令,根据报告信息查看是否正常。
提示:此处地址可根据自身环境不同,自行修改
hadoop 3.3.3集群安装部署_第5张图片

总结

至此,三个节点的hadoop集群已经搭建完成,当然,其中还有很多待完善的地方,比如HA高可用,history服务等配置,由于本篇文章旨在介绍hadoop的安装部署,该集群也是为了后续的技术测试及验证,加上时间有限,目前就写到这里,欢迎大家一起来积极讨论交流。

你可能感兴趣的:(hadoop,大数据,分布式)