大数据之Hadoop3.2 三节点完全分布式部署
大数据:指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。
大数据5V特点:Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。
Hadoop:有Apache基金会所开发的分布式系统基础架构。主要用来解决海量数据的存储和分析计算,本身来说,Hadoop指Hadoop生态圈。
Hadoop的优势:
1、高可靠性(底层维护多个数据副本,即使hadoop的某计算原件出现故障,不会导致数据丢失)
2、高扩展性:在集群分配任务数据,方便扩招数千节点。
3、高效性:在MapReduce的思想下,hadoop并行工作的,加快任务处理速度。
4、高容错率:能够将失败的任务重新分配。
安装部署:Hadoop3.1
卸载默认的jdk

Hadoop集群的三种模式:本地模式,伪分布式模式,完全分布式模式,区别如下:

进入正题:完全分布式:
节点规划:
由于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配置文件:
![0]() 
<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(参与集群的节点)。

配置完了之后,将node1 Hadoop的配置参数同步到node2和node3
随后格式化在node1上namenode,(做初始化)
[root@node1 current]# hdfs namenode -format(是否成功,可从日志看)
启动集群:
先启动node1上的hdfs,再启动node2上的yarn
启动的常见报错一:

因为是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环境未找到

解决方法:
配置hadoop-env.sh文件,将java环境再次写入

现在在node1上启动dfs(start-dfs.sh),再去node2上启动yarn(start-yarn.sh)
启动完成之后,用jps命令查看进程。对比一下是否与之前的规划一致。

关闭系统的防火墙。
浏览器访问node1:9870端口。
yarn则为node2:8088

最后我总结了一下端口号:如下图

 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号