大数据之Hadoop3.2 三节点完全分布式部署

大数据:指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。
大数据5V特点:Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。
Hadoop:有Apache基金会所开发的分布式系统基础架构。主要用来解决海量数据的存储和分析计算,本身来说,Hadoop指Hadoop生态圈。
 
Hadoop的优势:
1、高可靠性(底层维护多个数据副本,即使hadoop的某计算原件出现故障,不会导致数据丢失)
2、高扩展性:在集群分配任务数据,方便扩招数千节点。
3、高效性:在MapReduce的思想下,hadoop并行工作的,加快任务处理速度。
4、高容错率:能够将失败的任务重新分配。
 
安装部署:Hadoop3.1
卸载默认的jdk
0
Hadoop集群的三种模式:本地模式,伪分布式模式,完全分布式模式,区别如下:
0
 
进入正题:完全分布式:
节点规划:
由于namenode、resourcenamenode、secondarynamenode比较吃内存资源,因此三台机器分开配置
本出操作系统为centos7.8,内存2G,磁盘40G,注意三台机器之间的免密互信。
名称
node1
node2
node3
HDFS
NameNode
DataNode
DataNode
SecondaryNameNode
DataNode
YARN
NodeManager
ResourceManager
NodeManager
NodeManager
 
参数配置开始:
core-site.xml参数以及说明:
<configuration>

        <property>
        <!--  指定NameNode的内部通信地址 -->
                <name>fs.defaultFS</name>
                <value>hdfs://node1:8020</value>
        </property>
        <property>
        <!--  指定Hadoop数据的存储目录 -->
                <name>hadoop.tmp.dir</name>
                <value>software/hadoop3.2/data</value>
        </property>

</configuration>

  

hdfs-site.xml配置参数以及说明:
<configuration>

        <property>
        <!-- namenode web端访问的地址 -->
                <name>dfs.namenode.http-address</name>
                <value>node1:9870</value>
        </property>
        <property>
        <!-- secondarynamenode(简称2nn) web端访问的地址 -->
                <name>dfs.namenode.secondary.http-address</name>
                <value>node3:9868</value>
        </property>

</configuration>

  

yarn-site.xml配置参数以及说明:
<configuration>
        <property>
        <!-- 开启日志聚集功能 -->
                <name>yarn.log-aggregation-enable</name>
                <value>true</value>
        </property>
        <property>
        <!-- 设置日志聚集服务器地址 -->
                <name>yarn.log.server.url</name>
                <value>http://192.168.10.102:19888jobhistory/logs</value>
        </property>
        <property>
        <!-- 设置日志保留时间为7天 -->
                <name></name>
                <value604800></value>
        </property>
</configuration>

  

mapred-site.xml配置文件:
<configuration>
        <property>
        <!-- 指定MapReduce程序运行在yarn上 -->
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
        <!-- 历史服务器端地址 -->
                <name>mapreduce.jobhistory.adress</name>
                <value>node1:10020</value>
        </property>
        <property>   
        <!-- 历史服务器web端地址 -->
                <name>mapreduce.jobhistory.webapp.adress</name>
                <value>node1:19888</value>
        </property>                     
</configuration>

  

最后配置node1上的workers(参与集群的节点)。
0
 
配置完了之后,将node1 Hadoop的配置参数同步到node2和node3
随后格式化在node1上namenode,(做初始化)
[root@node1 current]# hdfs namenode -format(是否成功,可从日志看)
 
启动集群:
先启动node1上的hdfs,再启动node2上的yarn
 
 
启动的常见报错一:
0
因为是root用户,启动报错,是用户变量的问题,解决方法(两种):
 
方法一:
vim /etc/profile
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
 
方法二:
将start-dfs.sh,stop-dfs.sh(在hadoop安装目录的sbin里)两个文件顶部添加以下参数
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
将start-yarn.sh,stop-yarn.sh(在hadoop安装目录的sbin里)两个文件顶部添加以下参数
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

启动常见报错二:

java环境未找到
0

解决方法:

配置hadoop-env.sh文件,将java环境再次写入
0
 
现在在node1上启动dfs(start-dfs.sh),再去node2上启动yarn(start-yarn.sh)
启动完成之后,用jps命令查看进程。对比一下是否与之前的规划一致。
0

关闭系统的防火墙。

浏览器访问node1:9870端口。
yarn则为node2:8088
0
 
 
最后我总结了一下端口号:如下图
0
 
 
posted on 2021-01-21 16:36  寒江孤影!  阅读(560)  评论(0编辑  收藏  举报