【黑马2023大数据实战教程】VMWare虚拟机部署HDFS集群详细过程

news2024/10/2 12:28:59

文章目录

  • 部署HDFS集群
    • 1.配置workers:
    • 2.配置hadoop-env.sh文件
    • 3.配置core-site.xml文件
    • 4.配置hdfs-site.xml文件
    • 准备数据目录
    • 分发Hadoop文件夹
    • 配置环境变量
    • 授权为hadoop用户
    • 格式化文件系统
    • 错误排查方法!!

视频:黑马2023 VMWare虚拟机部署HDFS集群
注意!这些操作的前提是完成了前置准备中的服务器创建、固定IP、防火墙关闭、Hadoop用户创建、SSH免密、JDK部署等操作!!!

操作在这里 大数据集群环境准备过程记录(3台虚拟机)

部署HDFS集群

1.上传Hadoop安装包到node1节点中
rz -bey
2.解压缩安装包到/export/server/中
tar -zxvf hadoop-3.3.4.tar.gz -C /export/server
3构建软链接
cd /export/server
ln -s /export/server/hadoop-3.3.4 hadoop
4.进入hadoop安装包内
cd hadoop

ls -l查看文件夹内部结构:
各个文件夹含义如下:

bin ,存放Hadoop的各类程序 (命令 etc,存放Hadoop的配置文件
include,C语言的一些头文件lib,存放Linux系统的动态链接库 (.so文件)libexec,存放配置Hadoop系统的脚本文件
(.sh和.cmd licenses-binary,存放许可证文件 sbin,管理员程序 (super bin)
share,存放二进制源码 (Javajar包)


主要配置的是
etc中的一些文件:!!!
cd /export/server/hadoop/etc/hadoop

这里要注意,我一开始把配置全写在/export/server/hadoop 文件中,最后启动时无法启动节点,排查了好久>_<!!

1.配置workers:

vim workers
先删掉内置的localhost
输入:

node1
node2
node3

2.配置hadoop-env.sh文件

vim hadoop-env.sh
填入如下内容

export JAVA_HOME=/export/server/jdk
export HADOOP_HOME=/export/server/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_LOG_DIR=$HADOOP_HOME/logs

JAVA HOME,指明JDK环境的位置在哪
HADOOP_HOME,指明Hadoop安装位置
HADOOP_CONF_DIR,指明Hadoop配置文件目录位置
HADOOP_LOG DIR,指明Hadoop运行日志目录位置
通过记录这些环境变量,来指明上述运行时的重要信息

3.配置core-site.xml文件

vim core-site.xml
在文件内部填入如下内容

<configuration>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://node1:8020</value>
	</property>
	<property>
		<name>io.file.buffer.size</name>
		<value>131072</value>
	</property>
</configuration>

key: fs.defaultFS 含义:HDFS文件系统的网络通讯路径 值:hdfs://nodel:8020
协议为hdfs:// namenode为node1 namenode通讯端口为8020 key:
jo.file.buffer.size 含义: io操作文件缓冲区大小 值:131072bit

hdfs://node1:8020为整个HDFS内部的通讯地址,应用协议为hdfs:// (Hadoop内置协议)
表明DataNode将和node1的8020端口通讯,node1是NameNode所在机器
此配置固定了node1必须启动NameNode进程

4.配置hdfs-site.xml文件

在文件内部填入如下内容

<configuration>
	<property>
		<name>dfs.datanode.data.dir.perm</name>
		<value>700</value>
	</property>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>/data/nn</value>
	</property>
	<property>
		<name>dfs.namenode.hosts</name>
		<value>node1,node2,node3</value>
	</property>

	<property>
		<name>dfs.blocksize</name>
		<value>268435456</value>
	</property>
	<property>
		<name>dfs.namenode.handler.count</name>
		<value>100</value>
	</property>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>/data/dn</value>
	</property>
</configuration>


这里我出现了HDFS部署成功但是网页端打不开的情况,通过显示指定端口解决了
,即加入了:

dfs.namenode.http-address node1:9870

详细问题记录在这篇博客:HDFS集群部署成功但网页无法打开如何解决中。

准备数据目录

namenode数据存放node1的/data/nn
datanode数据存放node1、node2、node3的/data/dn所以应该
在node1节点:
mkdir -p /data/nn
mkdir /data/dn
在node2和node3节点
mkdir -p /data/dn

分发Hadoop文件夹

分发

在node1执行如下命令
cd /export/server (或者当前步骤cd… 就回到server目录)

scp -r hadoop-3.3.4 node2:`pwd`/
scp -r hadoop-3.3.4 node3:`pwd`/

在node2执行,为hadoop配置软链接
ln -s /export/server/hadoop-3.3.4 /export/server/hadoop
在node3执行,为hadoop配置软链接
ln -s /export/server/hadoop-3.3.4 /export/server/hadoop

配置环境变量

vim /etc/profile
在/etc/profile文件底部追加如下内容:

export HADOOP_HOME=/export/server/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

注:PATH是追加的,不会和之前的冲突

环境变量生效 source /etc/profile

授权为hadoop用户

hadoop部署的准备工作基本完成
为了确保安全,hadoop系统不以root用户启动,我们以普通用户hadoop来启动整个Hadoop服务所以,现在需要对文件权限进行授权。

以root身份,在node1、node2、node3三台服务器上均执行如下命令
su - root
cd /data/

chown -R hadoop:hadoop /data
chown -R hadoop:hadoop /export

ll 查看已经授权给hadoop了
在这里插入图片描述

格式化文件系统

前期准备全部完成,现在对整个文件系统执行初始化
1.格式化namenode
确保以hadoop用户执行
su - hadoop
格式化namenode
hadoop namenode -format
2.启动
一键启动hdfs集群
start-dfs.sh
一键关闭hdfs集群
stop-dfs.sh
如果遇到命令未找到的错误,表明环境变量未配置好,可以以绝对路径执行
export/server/hadoop/sbin/start-dfs.sh
export/server/hadoop/sbin/stop-dfs.sh

jps
查看正在运行的java程序·

在这里插入图片描述

错误排查方法!!

理解start-dfs.ah执行:
在当前机器去启动SecondaryNameNode,并根据core-site.xml的记录启动NameNode
根据workers文件的记录,启动各个机器的datanode

执行脚本不报错,但是进程不存在:
查看日志:

cd /export/server/hadoop/logs
ll--查看有哪些log可以排查
tail -100 hadoop-hadoop-namenode-node3.log--这里是你要检查的日志

清理:
rm -rf /export/server/hadoop/logs/*
rm -rf /data/nn/;rm -rf /data/dn/

出现权限问题时:
chown -R hadoop:hadoop /data
chown -R hadoop:hadoop /export

返回上一级 cd …

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux代码检测工具valgrind之内存检测memcheck

1、安装命令&#xff1a; $ sudo apt-get install valgrind 安装成功如下&#xff1a; 检测版本命令&#xff1a;$ valgrind --version 2、valgrind检测工具tool介绍 &#xff08;1&#xff09;Memcheck是一个内存错误检测器。 &#xff08;2&#xff09;Cachegrind是缓存…

C++语法(19)---- 模拟AVL树

C语法&#xff08;18&#xff09;---- set和map_哈里沃克的博客-CSDN博客https://blog.csdn.net/m0_63488627/article/details/130228232?spm1001.2014.3001.5501 目录 1.AVL树的概念 2.节点定义 3.AVL树的类实现 1.类定义 2.insert 1.全代码实现 2.思考角度 3.平衡因…

【Redis】Redis十大数据类型—哈希hash

介绍 Hash 是一个键值对&#xff08;key - value&#xff09;集合&#xff0c;其中 value 的形式入&#xff1a;value[{field1&#xff0c;value1}&#xff0c;...{fieldN&#xff0c;valueN}]。Hash 特别适合用于存储对象。 Hash和String对象的区别 内部实现 Hash 类型的底…

SpringMVC 接收前端传递的参数

SpringMVC 接受前端传参 1、前端传参需要注意请求的Content-type, 主要使用的有两种&#xff1a; application/x-www-form-urlencodedapplication/json application/x-www-form-urlencoded是浏览器的默认编码格式 &#xff0c;对于原生的form 表单提交参数&#xff0c;就是使用…

【大数据之Hadoop】十六、MapReduce之Join

1 Reduce Join Map端&#xff1a; 为来自不同表或文件的key/value对&#xff0c;打标签以区别不同来源的记录。然后用连接字段作为key&#xff0c;其余部分和新加的标志作为value&#xff0c;最后进行输出。 Reduce端&#xff1a; 在每一个分组当中将那些来源于不同文件的记录…

【剑指 offer】调整数组顺序使奇数位于偶数前面

✨个人主页&#xff1a;bit me&#x1f447; ✨当前专栏&#xff1a;算法训练营&#x1f447; 调 整 数 组 顺 序 使 奇 数 位 于 偶 数 前 面 核心考点&#xff1a;数组操作&#xff0c;排序思想的扩展使用 描述&#xff1a; 输入一个整数数组&#xff0c;实现一个函数来调…

vue2数据响应式原理(3) 带你手写一个defineReactive响应式函数并理解其本质

然后 我们来学一下defineReactive函数 defineReactive其实是一个要声明的函数 基本都是作为一个响应式函数 因为vue的使用比较经典 因此 也成了 响应式的一个代表函数 而定义它的意义在于 defineProperty不好用 具体不好用在哪呢&#xff1f; 我们打开上文用到的项目 将output…

第六讲 循环结构

我们在写程序的时候&#xff0c;极有可能遇到需要重复执行某条指令或某些指令的场景&#xff0c;例如我们需要每隔1秒钟在屏幕上输出一次“hello, world”并持续输出一个小时。如下所示的代码可以完成一次这样的操作&#xff0c;如果要持续输出一个小时&#xff0c;我们就需要把…

Javaee spring jdbctemplate查询数据库,基于纯注解实现

为啥要用纯注解方式呢&#xff1f;因为xml中代码还是有点多&#xff0c;纯注解可以解决该问题 现在要做的很简单&#xff0c;就是用新建的SpringConfig这个类去替代xml 在测试类中加载核心配置类 SpringConfig类中 Configuratio Spring.xml配置类 ComponentScan <!--开…

Linux搭建Web服务器(三)——服务器编程基本框架以及事件处理模式

目录 0x01 服务器编程基本框架 0x02 两种高效的事件处理模式 Reactor 模式 Proactor 模式 模拟Proactor 模式 0x01 服务器编程基本框架 虽然服务器程序的种类繁多&#xff0c;但是其基本框架都是一样的&#xff0c;不同之处是在于处理逻辑。对于我们在这个服务器的搭建可以…

基于Jenkins实现Docker应用的持续集成与部署

先决条件 1. 服务器部署安装有docker 在docker应用开发中最常见的就是开发Dockerfile文件&#xff0c;可以使用代码仓库来管理它。 而在企业私有开发环境中是无法访问公有代码仓库&#xff08;如Github&#xff09;的。这时可以搭建私有代码仓库。 部署安装svn私有仓库 安…

GPT-4 验明真身的三个经典问题:快速区分 GPT-3.5 与 GPT-4

现在已经有很多 ChatGPT 的套壳网站&#xff0c;以下分享验明 GPT-4 真身的三个经典问题&#xff0c;帮助你快速区分套壳网站背后到底用的是 GPT-3.5 还是 GPT-4。 测试问题 1&#xff1a;What is tomorrow in relation to yesterday’s today&#xff1f;&#xff08;昨天的当…

《Shunted Transformer: Shunted Self-Attention》CVPR 2022 oral

论文链接&#xff1a;https://openaccess.thecvf.com/content/CVPR2022/papers/Ren_Shunted_Self-Attention_via_Multi-Scale_Token_Aggregation_CVPR_2022_paper.pdf 代码链接&#xff1a;https://github.com/OliverRensu/Shunted-Transformer​ 1. 动机 视觉转换器(ViT)模型…

vscode怎么对选定的代码格式化?ctrl+k,ctrl+f(格式化代码)

先选中代码&#xff1a; 然后按CTRL K 再按CTRLF 也可以先选择要格式化的代码块&#xff0c;ctrlshiftp&#xff0c;搜索format&#xff0c;然后第二个就是&#xff1a;

助你掌握搜索神器,10个实用的Elasticsearch查询技巧

前言 Elasticsearch是一个非常流行的搜索引擎&#xff0c;已经成为了许多企业的首选解决方案。然而&#xff0c;我们要想成为一个优秀的程序员&#xff0c;就必须掌握各种查询技巧。本文将向大家介绍10个实用的Elasticsearch查询技巧&#xff0c;并配上详细的代码示例&#xff…

Python基础实战1-简单介绍python

1 Python介绍 Python是一门优雅而健壮的编程语言&#xff0c;它继承了传统编程语言的强大性和通用性&#xff0c;同时也借鉴了脚本语言和解释语言的易用性。 1.1 Python的历史 Python是由创始人贵铎范罗萨姆&#xff08;Guido van Rossum&#xff09;在阿姆斯特丹于1989年圣…

在数字化质变“奇点”时刻,看数字生产力跃升的华为观

&#xff08;华为轮值董事长孟晚舟&#xff09; 进入2023年&#xff0c;以大语言模型为代表的新AI&#xff0c;打开了全球对于数字生产力的全新认知&#xff1a;高盛集团经济学家认为&#xff0c;ChatGPT等生成式AI最终可能在10年的时间里使得全球年GDP增长7%&#xff08;近7万…

pinia持久化存储方案——pinia-storage(自己写的,持续更新)

pinia持久化存储方案——pinia-storage pinia-storagepinia-storage Introduction版本更新说明(update introduction)安装(install)npm 安装&#xff08;npm install&#xff09; QuickStartcreate piniastore/indexstore/indexPinia.tsstore/indexPinia.js main.ts | main.jsA…

Direct3D 12——几何着色器——几何着色器概念

几何着色器 几何着色器这个可选阶段便位于顶点着色器与像素着色器之间。几何着色器所输出的图元由顶点列表定义而成。在退岀几何着色器时&#xff0c;必将顶点的位置变换到齐次 裁剪空间。换言之&#xff0c;经过几何着色器阶段的处理后&#xff0c;我们就得到了位于齐次裁剪空…

MySQL 8.0 OCP (1Z0-908) 考点精析-性能优化考点3:EXPLAIN ANALYZE

文章目录 MySQL 8.0 OCP (1Z0-908) 考点精析-性能优化考点3&#xff1a;EXPLAIN ANALYZEEXPLAIN ANALYZE介绍EXPLAIN ANALYZE的特性EXPLAIN 和EXPLAIN ANALYZE的结果对比例题例题解析参考 MySQL 8.0 OCP (1Z0-908) 考点精析-性能优化考点3&#xff1a;EXPLAIN ANALYZE EXPLAIN…