大数据开发基础-环境配置篇-Hadoop集群安装

鼠鼠接下来将更新一系列自己在学习大数据开发过程中收集的资源、和自己的总结、以及面经答案、LeetCode刷题分析题解。

首先是大数据开发基础篇 环境搭建、组件面试题等
其次是更新大数据开发面经的java面试基础
最后更新一个大数据开发离线数仓的实战项目,自己写入简历的项目。
关注不迷路,学习要进步!!!!!!

集群规划

node01node02node03
角色主节点从节点从节点
NameNode
DataNode
ResourceManager
NodeManager
SecondaryNameNode
Historyserver

上传安装包到node01

解压到指定目录

tar -zxvf /bigdata/soft/hadoop-3.3.3.tar.gz -C /bigdata/server/

创建软链接

cd /bigdata/server

ln -s hadoop-3.3.3/ hadoop

常见的Hadoop软件目录说明

目录作用说明
bin/Hadoop最基本的管理脚本和使用脚本hdfs: 文件上传命令
hadoop文件管理基础命令
yarn: 资源调度相关
mapred: 程序运行, 启动历史服务器
etc/Hadoop配置文件的目录core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
include/对外提供的编程库头文件对外提供的编程库头文件(具体动态库和静态库在lib目录中),
这些头文件均是用C++定义的,通常用于C++程序访问HDFS或者编写MapReduce程序
lib/动态库和静态库该目录包含了Hadoop对外提供的编程动态库和静态库,
与include目录中的头文件结合使用。
libexec/shell配置文件各个服务对用的shell配置文件所在的目录,
可用于配置日志输出、启动参数(比如JVM参数)等基本信息。
sbin/Hadoop管理命令主要包含HDFS和YARN中各类服务的启动/关闭脚本
share/官方自带示例Hadoop各个模块编译后的jar包所在的目录

Hadoop配置文件修改

Hadoop安装主要就是配置文件的修改,一般在主节点进行修改,完毕后scp分发给其他各个从节点机器

hadoop-env.sh

文件中设置的是Hadoop运行时需要的环境变量。JAVA_HOME是必须设置的,即使我们当前的系统中设置了JAVA_HOME,它也是不认识的,因为Hadoop即使是在本机上执行,它也是把当前的执行环境当成远程服务器

vim hadoop-env.sh

54行的JAVA_HOME的设置

export JAVA_HOME=/bigdata/server/jdk1.8

在文件末尾添加如下内容

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

core-site.xml

hadoop的核心配置文件,有默认的配置项core-default.xml
core-default.xml与core-site.xml的功能是一样的,如果在core-site.xml里没有配置的属性,则会自动会获取core-default.xml里的相同属性的值。

cd /bigdata/server/hadoop/etc/hadoop/
vim core-site.xml

在文件的configuration的标签中添加以下内容:

<property><name>fs.defaultFS</name><value>hdfs://node01:8020</value>
</property><property><name>hadoop.tmp.dir</name><value>/bigdata/data/hadoop</value>
</property><!-- 设置HDFS web UI用户身份 -->
<property><name>hadoop.http.staticuser.user</name><value>root</value>
</property><!-- 整合hive -->
<property><name>hadoop.proxyuser.root.hosts</name><value>*</value>
</property><property><name>hadoop.proxyuser.root.groups</name><value>*</value>
</property>

hdfs-site.xml

HDFS的核心配置文件,有默认的配置项hdfs-default.xml

hdfs-default.xml与hdfs-site.xml的功能是一样的,如果在hdfs-site.xml里没有配置的属性,则会自动会获取hdfs-default.xml里的相同属性的值。

cd /bigdata/server/hadoop/etc/hadoop/

vim hdfs-site.xml

 <!-- 指定secondarynamenode运行位置 --><property><name>dfs.namenode.secondary.http-address</name><value>node02:50090</value></property>

mapred-site.xml

MapReduce的核心配置文件,有默认的配置项mapred-default.xml

mapred-default.xml与mapred-site.xml的功能是一样的,如果在mapred-site.xml里没有配置的属性,则会自动会获取mapred-default.xml里的相同属性的值。

cd /bigdata/server/hadoop/etc/hadoop/

vim mapred-site.xml

 <property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>yarn.app.mapreduce.am.env</name><value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value></property><property><name>mapreduce.map.env</name><value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value></property><property><name>mapreduce.reduce.env</name><value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value></property>

yarn-site.xml

YARN的核心配置文件,有默认的配置项yarn-default.xml

yarn-default.xml与yarn-site.xml的功能是一样的,如果在yarn-site.xml里没有配置的属性,则会自动会获取yarn-default.xml里的相同属性的值。

cd /bigdata/server/hadoop/etc/hadoop/

vim yarn-default.xml

<!-- 指定YARN的主角色(ResourceManager)的地址 --><property><name>yarn.resourcemanager.hostname</name><value>node01</value></property><!-- NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序默认值:"" --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- 是否将对容器实施物理内存限制 --><property><name>yarn.nodemanager.pmem-check-enabled</name><value>false</value></property><!-- 是否将对容器实施虚拟内存限制。 --><property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value></property><!-- 开启日志聚集 --><property><name>yarn.log-aggregation-enable</name><value>true</value></property><!-- 设置yarn历史服务器地址 --><property><name>yarn.log.server.url</name><value>http://node02:19888/jobhistory/logs</value></property><!-- 保存的时间7天 --><property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value></property>

workers

workers文件里面记录的是集群主机名。主要作用是配合一键启动脚本如start-dfs.sh、stop-yarn.sh用来进行集群启动。这时候workers文件里面的主机标记的就是从节点角色所在的机器。

cd /bigdata/server/hadoop/etc/hadoop/

vim workers

node01
node02
node03

同步hadoop软件包到node02和node03

scp -r hadoop-3.3.3/ node02:$PWD

scp -r hadoop-3.3.3/ node03:$PWD

在node02节点配置软链接

ln -s hadoop-3.3.3/ hadoop

在node03节点配置软链接

ln -s hadoop-3.3.3/ hadoop

[所有节点]配置环境变量

vim /etc/profile

export HADOOP_HOME=/bigdata/server/hadoop

export PATH= P A T H : PATH: PATH:HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile

Hadoop集群启动

启动方式

要启动Hadoop集群,需要启动HDFSYARN两个集群。
注意:首次启动HDFS时,必须在主节点node01对其进行格式化操作。本质上是一些清理和准备工作,因为此时的HDFS在物理上还是不存在的。

hadoop namenode -format

手动单个节点启动

主节点node01启动namenode

cd /bigdata/server/hadoop/bin

./hdfs --daemon start namenode

node02启动secondarynamenode

cd /bigdata/server/hadoop/bin

./hdfs --daemon start secondarynamenode

所有节点启动datanode

cd /bigdata/server/hadoop/bin

./hdfs --daemon start datanode

查看进程情况

jpg

netstat -ntlp

其中hdfs的web端口: node01:9870已经可以正常访问

主节点node01启动ResouceManager

cd /bigdata/server/hadoop/bin

./yarn --daemon start resourcemanager

所有节点启动Nodemanager

cd /bigdata/server/hadoop/bin

./yarn --daemon start nodemanager

如果想要停止某个节点上某个角色,只需要把命令中的start改为stop即可。

一键脚本启动

如果配置了etc/hadoop/workersssh免密登录,则可以使用程序脚本启动所有Hadoop两个集群的相关进程,在主节点所设定的机器上执行。

hdfs:/bigdata/server/hadoop/sbin/start-dfs.sh

yarn:/bigdata/server/hadoop/sbin/start-yarn.sh

停止脚本

hdfs:/bigdata/server/hadoop/sbin/stop-dfs.sh

yarn:/bigdata/server/hadoop/sbin/stop-yarn.sh

完整的一键启动hdfs和yarn脚本

start-all.sh: 启动所有的hdfs和yarn的脚本

stop-all.sh: 停止所有的hdfs和yarn的脚本

启动后的效果

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

集群Web访问UI

hdfs: http://node01:9870

在这里插入图片描述

yarn:http://node01:8088

在这里插入图片描述

MapReduce JobHistory

JobHistory用来记录已经finished的mapreduce运行日志,日志信息存放于HDFS目录中,默认情况下没有开启此功能,需要在mapred-site.xml中配置并手动启动。

修改mapred-site.xml

cd /bigdata/server/hadoop/etc/hadoop/

vim mapred-site.xml

	<property><name>mapreduce.jobhistory.address</name><value>node02:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>node02:19888</value></property>

scp mapred-site.xml node02: P W D s c p m a p r e d − s i t e . x m l n o d e 03 : PWD scp mapred-site.xml node03: PWDscpmapredsite.xmlnode03:PWD

在node02节点启动JobHistory

cd /bigdata/server/hadoop/bin

./mapred --daemon start historyserver

访问web管理界面

http://node02:19888/jobhistory

运行演示程序

在hdfs创建一个目录:

hdfs dfs -mkdir /input

上传文件到hdfs的/input目录

hdfs dfs -put start-all.sh /input

运行示例程序

hadoop jar /bigdata/server/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.3.jar wordcount /input /output

在这里插入图片描述

在这里插入图片描述

http://node02:19888/jobhistory`

运行演示程序

在hdfs创建一个目录:

hdfs dfs -mkdir /input

上传文件到hdfs的/input目录

hdfs dfs -put start-all.sh /input

运行示例程序

在这里插入图片描述

hadoop jar /bigdata/server/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.3.jar wordcount /input /output

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/1040.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis的数据类型及对应的数据结构(二)

接上篇&#xff1a;Redis的数据类型及对应的数据结构&#xff08;一&#xff09;_鱼跃鹰飞的博客-CSDN博客 本篇主要讨论剩下的几种数据结构的应用场景 应用场景 集合的主要几个特性&#xff0c;无序、不可重复、支持并交差等操作。 因此 Set 类型比较适合用来数据去重和保…

kafka生产者api和数据操作

Kafka 生产者 发送流程 消息发送过程中涉及到两个线程——main线程和Sender线程 main线程 使用serializer&#xff08;并非java默认&#xff09;序列化数据&#xff0c;使用partitioner确认发送分区 在main线程中创建了一个双端队列RecordAccumulator&#xff0c;main线程将…

【半监督医学图像分割 2023 CVPR】BCP

【半监督医学图像分割 2023 CVPR】BCP 论文题目&#xff1a;Bidirectional Copy-Paste for Semi-Supervised Medical Image Segmentation 中文题目&#xff1a;双向复制粘贴半监督医学图像分割 论文链接&#xff1a;https://arxiv.org/abs/2305.00673 论文代码&#xff1a;http…

新星计划2023【Java基础及数据库Mysql】学习方向报名入口!

新星计划2023【Java基础及数据库Mysql】学习方向报名入口&#xff01; 一、关于本学习方向导师二、关于本学习方向官方微信群三、关于活动时间&奖品&要求四、学习计划五、TOP5评选规则六、活动要求七、注意事项 本赛道是针对那些希望从事Java开发并且想要学习如何与数据…

【TCP/IP】多进程服务器的实现(进阶) - 多进程服务器模型及代码实现

经过前面的铺垫&#xff0c;我们已经具备实现并发服务器的基础了&#xff0c;接下来让我们尝试将之前的单任务回声服务器改装成多任务并发模式吧&#xff01; 多任务回声服务器模型 在编写代码前&#xff0c;先让我们大致将多任务&#xff08;回声&#xff09;服务器的模型抽象…

Jenkins自动化构建

自动化构建 Jenkins 是一款开源 CI&CD 软件&#xff0c;用于自动化各种任务&#xff0c;包括构建、测试和部署软件 Jenkins 支持各种运行方式&#xff0c;可通过系统包、Docker 或者通过一个独立的 Java 程序 安装依赖 安装参考&#xff1a;Windows环境下安装Jenkins **…

MySQL数据库——高级查询语句

MySQL数据库——高级查询语句 一、数据库查询二、高效查询方式1.指定指字段进行查询——SELECT2.对字段进行去重查询——DISTINCT3.条件查询——where3.逻辑关系的增加查询——and 和 or4.已知值的数据记录查询——IN5.范围内数据记录查询——BETWEEN6.通配符查询7.关键字排序查…

ng-zorro select Multiple selection 一行展示

问题&#xff1a; ng-zorro 的多项选择组件&#xff0c;选完选项之后不要换行展示&#xff0c;不换行&#xff0c;超出隐藏或者可滚动。这个问题的关键点在于&#xff1a; 各个选项数据字符串长度不确定&#xff0c;不能够准确知道当前容器最大能够渲染多少个选项&#xff0c;…

微服务如何治理

微服务远程调用可能有如下问题&#xff1a; 注册中心宕机&#xff1b; 服务提供者B有节点宕机&#xff1b; 服务消费者A和注册中心之间的网络不通&#xff1b; 服务提供者B和注册中心之间的网络不通&#xff1b; 服务消费者A和服务提供者B之间的网络不通&#xff1b; 服务提供者…

【人工智能】人工智能和双曲几何

一、说明 作为人工智能技术的理论支撑,几何学是必不可少的;目前直接的几何技术有:计算几何--对集合体如点云处理有用;射影几何--对3d重构有用;双曲几何--在自然语言的词嵌入做基础数学模型,另外深度学习国外有双曲网络在应用。本文针对双曲几何进行探讨。 二、各种几何的…

Oracle-抢购活动出现交易耗时飙高案例

问题背景: 接用户保障&#xff0c;他们的核心交易库在理财抢购活动期间出现交易耗时飙高的问题&#xff0c;交易耗时从原来的130毫秒飙高到1秒以上&#xff0c;请求分析交易耗时飙高原因。 问题分析&#xff1a; 通过应用的后台日志记录&#xff0c;发现交易耗时飙高的主要在于…

Unity | HDRP高清渲染管线学习笔记:Lightmapping(光照烘焙)与Lightmap(光照贴图)

目录 相关概念 1.渐进式光照贴图烘焙 1.1 渐进式光照贴图烘焙对模型的要求 1.2 渐进式光照贴图烘焙对硬件的要求 1.3 渐进式光照贴图烘焙支持的Unity渲染管线 1.4 进行渐进式光照贴图烘焙结果 1.5 渐进式光照贴图烘焙的CPU版本和GPU版本 1.6 Lighting窗口Lightmapping …