开发者学堂课程【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 ,如下图。
它也可以做到对应不同程序,执行不同的配置文件,那么这就是一个非常方便的管理。并不是说 conf 可以指向多个配置文件,只是说可以动态的调整。
二、在所有节点中复制原始配置文件并生成新的配置目录,让 Hadoop 使用使用新的配置目录
接着输入 cp -r conf.empty
拷贝一个新的 conf.itcast ,在前面指定 -r 。如下图。
拷贝之后多了一个 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 ,如下图。
这步之后就确定了关联关系,它现在指向 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 保存并退出。如下图。
这时 HDFS 相关的配置已经完成。
四、在所有节点中,创建配置文件指定的 HDFS 的 NameNode 和 DataNode 存放数据的目录,并处理权限
接下来,进行对应文件的创建,大家可以看到,这里指定了 name.dir 和 data.dir 并且将它们创建出来。、进入到窗口当中, Paste 进行拷贝,完成之后,返回笔记,已经创建的文件夹并不好用,需要指定拥有者,是 hdfs 组下的 hdfs 用户。因为到时候启动 hdfs 时依然会使用这个用户,在指定用户之后,还要在指定权限。复制粘贴下图四行内容。
五、格式化 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
在输入第二个命令之前,看看是否会报错。接下来启动第二个命令,可以看到两个服务都已经启动成功。如下图。
启动完成后没有任何问题,在主节点上成功配置 HDFS 。