前言一、Hadoop是什么?二、使用步骤
1.所需环境及软件2.测试集群服务器规划3.前置软件安装或者准备工作4.安装Hadoop 总结
前言
`最近大数据又兴起了,我们公司也入了大数据的项目,大数据这玩意范围广,涉及到的知识也不局限一个方面,国内的大数据平台,基本上都是基于Hadoop的这框架而衍生来的,所以Hadoop是基础
提示:以下是本篇文章正文内容,下面案例可供参考
一、Hadoop是什么?Hadoop是由java语言编写的,在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架,其核心部件是HDFS与MapReduce。
HDFS是一个分布式文件系统:引入存放文件元数据信息的服务器Namenode和实际存放数据的服务器Datanode,对数据进行分布式储存和读取。
MapReduce是一个计算框架:MapReduce的核心思想是把计算任务分配给集群内的服务器里执行。通过对计算任务的拆分(Map计算/Reduce计算)再根据任务调度器(JobTracker)对任务进行分布式计算。
Hadoop集群中各个角色的名称如下:
还有个SecondaryNameNode,其实是NameNode的备用节点,定时合并和处理日志并且反馈到NameNode上。一般NameNode和SecondaryNameNode尽量不要放在同一个节点。
具体也不详细多说,网上多的是
二、使用步骤 1.所需环境及软件操作系统:Windows 10
虚拟机:VMware 15.5
集群系统:Centos 7 64位
Hadoop版本:hadoop-3.3.1
代码如下(示例):
master 192.168.74.88 CentOS7 NameNode,DataNode,NodeManager slave1 192.168.74.89 CentOS7 DataNode,NodeManager slave2 192.168.74.90 CentOS7 SecondaryNameNode,DataNode, ResourceManager,NodeManager3.前置软件安装或者准备工作
代码如下(示例):
1.关闭防火墙(为了避免出现部分端口无法访问,内网环境下每台虚拟机都可以直接关闭防火墙) 2.JDK安装 3.修改主机名 # 节点192.168.74.88 hostnamectl set-hostname hadoop01 reboot # 节点192.168.74.89 hostnamectl set-hostname hadoop02 reboot # 节点192.168.74.90 hostnamectl set-hostname hadoop03 reboot 4.修改hosts文件 192.168.74.88 hadoop01 192.168.74.89 hadoop02 192.168.74.90 hadoop03 5.设置集群机器SSH免登 5.1使用ssh-keygen -t rsa命令 5.2把master机器的公钥文件放入授权文件中 cat id_rsa.pub >> authorized_keys 5.3收集集群中所有节点的/home/hadoop/.ssh/id_rsa.pub内容,汇总合并成一个authorized_keys文件,再拷贝该文件到所有集群节点的/home/hadoop/.ssh/目录下4.安装Hadoop
主要在hadoop01节点中安装即可,安装完毕可以通过scp命令直接拷贝文件分发到不同的节点中
代码如下(示例):
1.解压安装 2.环境变量配置 vim ~/.bashrc gedit ~/.bashrc export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre export PATH=$JAVA_HOME/bin:$PATH export HADOOP_HOME=/data/hadoop/app export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH source ~/.bashrc 3.Hadoop配置 配置core-site.xml gedit /data/hadoop/app/etc/hadoop/core-site.xml配置hdfs-site.xml gedit /data/hadoop/app/etc/hadoop/hdfs-site.xml fs.defaultFS hdfs://hadoop01:9000 hadoop.tmp.dir /data/hadoop/temp 配置mapred-site.xml gedit /data/hadoop/app/etc/hadoop/mapred-site.xml dfs.namenode.name.dir /data/hadoop/dfs/name dfs.datanode.data.dir /data/hadoop/dfs/data dfs.replication 3 dfs.secondary.http.address hadoop03:50090 dfs.http.address 192.168.74.88:50070 配置yarn-site.xml gedit /data/hadoop/app/etc/hadoop/yarn-site.xml mapreduce.framework.name yarn yarn.app.mapreduce.am.env HADOOP_MAPRED_HOME=${HADOOP_HOME} mapreduce.map.env HADOOP_MAPRED_HOME=${HADOOP_HOME} mapreduce.reduce.env HADOOP_MAPRED_HOME=${HADOOP_HOME} 配置workers文件 gedit /data/hadoop/app/etc/hadoop/workers hadoop01 hadoop02 hadoop03 4.分发Hadoop安装包到其他节点 ## 分发节点2 scp -r /data/hadoop/app hadoop@hadoop02:/data/hadoop ## 分发节点3 scp -r /data/hadoop/app hadoop@hadoop03:/data/hadoop 5.格式化NameNode 规划中是hadoop01作为NameNode,在该机器下进行格式化: hadoop namenode -format 格式化NameNode成功的控制台日志如下: 2022-03-19 10:08:39,844 INFO common.Storage: Storage directory /data/hadoop/dfs/name has been successfully formatted. 6.启动和停止HDFS 可以在任意一个节点中启动和停止HDFS,为了简单起见还是在hadoop01节点中操作: 启动:start-dfs.sh 停止:stop-dfs.sh yarn.resourcemanager.hostname hadoop02 yarn.nodemanager.aux-services mapreduce_shuffle
7.启动和停止YARN YARN集群的启动命令必须在ResourceManager节点中调用,规划中的对应角色的节点为hadoop03,在该机器执行YARN相关命令: 启动:start-yarn.sh 停止:stop-yarn.sh
8.查看所有节点的进程状态 [hadoop@hadoop01 hadoop]$ jps 8673 NameNode 8823 DataNode 9383 NodeManager 9498 Jps [hadoop@hadoop02 hadoop]$ jps 4305 DataNode 4849 Jps 4734 NodeManager [hadoop@hadoop03 data]$ jps 9888 Jps 9554 NodeManager 5011 DataNode 9427 ResourceManager 5125 SecondaryNameNode 9.通过WEB管理界面查看集群状态 HDFS入口:http://192.168.74.88:50070(来自于hdfs-site.xml的dfs.http.address配置项) YARN入口:http://192.168.74.90:8088/cluster(ResourceManager所在节点的8088端口)
记录每天的点点滴滴,中途出现好些问题,反反复复装了好几遍,通过找问题加深理解



