CDH 搭建_ Hadoop _ HDFS _主节点|学习笔记

简介: 快速学习 CDH 搭建_ Hadoop _ HDFS _主节点

开发者学堂课程【2020版大数据实战项目之 DMP 广告系统(第二阶段)  CDH 搭建_ Hadoop _ HDFS _主节点】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/677/detail/11771


CDH 搭建_ Hadoop _ HDFS _主节点


内容介绍:

一、配置文件的思路

二、在所有节点中复制原始配置文件并生成新的配置目录,让 Hadoop 使用使用新的配置目录

三、在所有节点的新配置目录 /etc/hadoop/conf.itcas 中,修改配置文件

四、在所有节点中,创建配置文件指定的 HDFS 的 NameNode 和 DataNode 存放数据的目录,并处理权限

五、格式化 NameNode ,当然,这个命令只能在 cdh 01上执行,只能执行一次

六、启动 HDFS

 

刚才把整个包都已经安装成功,所有的节点都已经安装了对应的 Hadoop 的组件,比如 Hadoop 体系已经安装完成。对应的 avro 、 bigtop 、 hdfs 、 yarn 全部安装成功。进入笔记,接下来,查看配置 HDFS 的思路。

首先,在整个的 Hadoop 当中 cdh 当中的配置文件基本上都是在 /etc/xxx/conf 下, 这里的xxx指代具体的某一个服务。比如 Zookeeper 、 Hadoop 。 conf 是第一个配置文件的目录,如果仔细去看的话它是一个软链接,它链接到/etc/xxx/conf.dist 下,就是配置的一个目标。它是如何进行管理的?不是单纯的只是做一个软链接,而是有一整套的关联体系;将这一整套关联体系称为 alternatives ,这是 Linux 本身一个超级强大的机制。目前, conf 指向 conf.dist ,就可以创建出 /etc/xxx/conf.itcast 新的目录。 conf.itcast 可以从 conf.dist 当中去拷贝。那么 conf 的软连接可以直接引用 /etc/xxx/conf.dist 和 /etc/xxx/conf.itcast 两个目录,通过一些机制去选择当前引用哪一个目录。比如首先指向了 /etc/xxx/conf.dist 目录,去修改目录里的内容就会直接体现到 conf 目录当中;然后也可以指向 /etc/xxx/conf.itcast 目录,那么这时就可以创建出 conf.itcast 的目录,之后重新配置一个新目录,让 conf 目录直接指向配置目录。到时候 Hadoop 会直接使用 conf 目录;所以 conf 目录指向谁,谁就是配置文件最终所在的目录。

使用了 alternatives 的功能,这个功能提供了以下指令:第一,可以安装一个目录让它和某一个软链接产生联系。第二,可以通过 set 让这个软链接指向某一个目录。第三,可以通过 display查看当前软链接指向哪个目录。首先,拷贝 conf.empty , conf.itcast ,使用 alternatives 关联 itcast 和conf 目录。接下来,设置conf 目录当前指向关联的目录,最终查看是否指向成功。之后就可以在所有的节点中,修改 conf.itcast 当中的配置文件。上述内容就是整个配置文件的思路。配置文件大概有需要修改两部分,一个是 core-site ,还有一个是 hdfs-site 。修改完这两个配置文件以后,就可以进行相应的目录创建,创建好目录以后,需要给定相应的权限。还要启动 NameNode ,格式化 NameNode 。格式化完之后,执行相应的启动。这个视频是把整个流程完成。

 

一、配置文件的思路

进入到 cdh 01当中,输入 cd /etc/hadoop 目录下,看到里面有 conf.empty 和 conf.inpala ,如下图。

image.png

它也可以做到对应不同程序,执行不同的配置文件,那么这就是一个非常方便的管理。并不是说 conf 可以指向多个配置文件,只是说可以动态的调整。

 

二、在所有节点中复制原始配置文件并生成新的配置目录,让 Hadoop 使用使用新的配置目录

接着输入 cp -r conf.empty 拷贝一个新的 conf.itcast ,在前面指定 -r 。如下图。

image.png

拷贝之后多了一个 conf.itcast ,关联的步骤,首先是让 conf.itcast 配置文件和前面的 conf 软链接产生一些关系,输入 alternatives  -- install /etc/hadoop/conf  hadoop conf  /etc/hadoop/conf.itcast 50产生关系, alternatives 使用 -- install 去装载关系。让 /etc/hadoop/conf 和 /etc/hadoop/conf.itcast 产生关联。但是需要为关联命名,叫做 hadoop conf 。最后,指定一个优先级,此时就已经创建完成。这种关联关系在关联以后并没有及时生效,因为 conf 目录可能指向多个目录。这时需要去主动进行一些设置,输入 alternatives --set hadoop-conf /etc/hadoop/conf.itcast 。这里的 hadoop-conf 其实就是前一步的命名, set hadoop-conf 指向 /etc/hadoop/conf.itcast ,如下图。

image.png

这步之后就确定了关联关系,它现在指向 conf.itcast ,接下来就可以 alternatives --display hadoop conf 。可以看到 hadoop conf 首先指向 conf.empty ,优先级为10;其次指向 conf.inpala 优先级为5;其次指向 conf.itcast 优先级为50。 Current  best version 就是  /etc/hadoop/conf.itcast 。上述内容就是第一个配置,完成以后进入到 conf.itcast 目录当中,输入 ls 进行查看。

 

三、在所有节点的新配置目录 /etc/hadoop/conf.itcas 中,修改配置文件

进入 cd  conf.itcast 当中进行相应的编辑,首先, vi core-site.xml ,去修改主配置,完成以后放在这里,进入到笔记中,拷贝配置文件,即配置 hdfs 所在的路径( url ) 。 Paste 粘贴配置文件完成。输入 wq 保存并且退出。接下来,修改 hdfs-site.xml  配置文件。接着输入 </configuration >,在 <configuration > 和 </configuration >之间另起一行修改 hdfs-site 。进入笔记当中,拷贝配置文件的内容,所以大家到时候再进行配置和安装的时候不需要在听一遍视频,只需要通过笔记就可以完成。配置文件中,首先指定了 namenode.dir , datanode.dir 然后指定了 hdfs 的最高权限组 hadoop 。接下来,指定了 HTTP的 Web 端口是50070。还指定了是否检查那权限。不检查,因为这个权限比较复杂,根据当前的用户对当前使用的 Linux 用户有关,因为大家在平常操作时容易出错,所以先暂且把它关掉。这就是配置,完成以后 wq 保存并退出。如下图。

image.png

这时 HDFS 相关的配置已经完成。

 

四、在所有节点中,创建配置文件指定的 HDFS 的 NameNode 和 DataNode 存放数据的目录,并处理权限

接下来,进行对应文件的创建,大家可以看到,这里指定了 name.dir 和 data.dir 并且将它们创建出来。、进入到窗口当中, Paste 进行拷贝,完成之后,返回笔记,已经创建的文件夹并不好用,需要指定拥有者,是 hdfs 组下的 hdfs 用户。因为到时候启动 hdfs 时依然会使用这个用户,在指定用户之后,还要在指定权限。复制粘贴下图四行内容。

image.png

 

五、格式化 NameNode ,当然,这个命令只能在 cdh 01上执行,只能执行一次

执行完成以后,再回到笔记当中,可以直接在主节点上格式化 namenode 。这时使用了一个 sudo 命令,它可以直接切到 hdfs 的用户上执行 hdfs 。这样的话就尽可能使用同一个用户,避免出现权限问题,拷贝sudp-u hdfs hdfs namenode-format命令。

将命令复制,使其运行,完成之后 namenode 就会被格式化。

 

六、启动 HDFS

这时 namenode 已经格式化完成,那么就可以启动主节点;直接启动在 cdh 01上启动namenode 和 secondarynamenode ,复制两个启动命令。

Service  hadoop-hdfs-namenode start

Severce  hadoop-hdfs-secondarynamenode start

在输入第二个命令之前,看看是否会报错。接下来启动第二个命令,可以看到两个服务都已经启动成功。如下图。

image.png

启动完成后没有任何问题,在主节点上成功配置 HDFS 。

相关文章
|
7月前
|
XML 存储 分布式计算
【赵渝强老师】史上最详细:Hadoop HDFS的体系架构
HDFS(Hadoop分布式文件系统)由三个核心组件构成:NameNode、DataNode和SecondaryNameNode。NameNode负责管理文件系统的命名空间和客户端请求,维护元数据文件fsimage和edits;DataNode存储实际的数据块,默认大小为128MB;SecondaryNameNode定期合并edits日志到fsimage中,但不作为NameNode的热备份。通过这些组件的协同工作,HDFS实现了高效、可靠的大规模数据存储与管理。
648 70
|
12月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
440 6
|
12月前
|
SQL 分布式计算 监控
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
170 3
|
12月前
|
SQL 分布式计算 Hadoop
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
188 2
|
12月前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
287 0
|
12月前
|
SQL 分布式计算 关系型数据库
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
139 0
|
12月前
|
SQL 分布式计算 关系型数据库
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
188 0
|
12月前
|
存储 分布式计算 资源调度
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
249 5
|
12月前
|
资源调度 数据可视化 大数据
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
133 4
|
12月前
|
XML 分布式计算 资源调度
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
428 5

相关实验场景

更多