开发者学堂课程【Hue 大数据可视化终端课程:集成 Hadoop 服务(HDFS、YARN)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/719/detail/12849
集成 Hadoop 服务(HDFS、YARN)
内容介绍:
一、Hue 集成 HDFS
二、Hue 集成 YARN
一、Hue 集成 HDFS
在 Hadoop 当中主要分为两大块,第一个是文件存储系统 HDFS 的集成过程。比如通过 hue 可以去浏览访问文件系统。另外一个就是 YARN 集群。YARN 集群主要是作为整个集群的资源管理,运行的很多交互任务希望通过 hue 访问它。接下来需要访问这两个软件集成之前,需要针对 HDFS 的样本做相关修改,开启一些权限。
首先集成 HDFS。在集成的过程中,需要开启 httpfs。因为 hue 跟 HDFS 访问的时候,并不是通过传统的 rpc 调用去访问数据,而是通过自带的 httpfs 方式去访问文件系统。这个功能默认没有开启,就要把它开启配置,必须访问它的相关用户和所处的组。
所以首先需要在 core-site.xml 当中开启两个选项。
1.修改 core-site.xml 配置
第一个叫做允许通过 httpfs 方式访问 hdfs 的主机名。
<property>
<name>Hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
*表示所有,允许访问它的用户组。
另外一块就是在 hdms-site.xml 当中,需要配置是否开启外部页面访问 hdfs 的功能。把它改为 true,开启它。
那么这两种修改之后,注意要给它拷贝。打开服务器,在主节点进行相关修改配置,把它远程拷贝给其它的机器。比如输入 cd/export/servers/Hadoop-2.7.5/,输入 cd etc/Hadoop/。首先进行 cat core-site.xml,之前已经配置好了,可以重点看这两个选项,其它的属性暂且不管。
<property>
<name>Hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>Hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
因为这是其它跟 hs 集成的时候需要的,只需要在已有的配置上新加这两个即可。叫做Hadoop.proxyuser.root.hosts。这当中的标签属性不要少。比如不小心把反斜杠或者其他符号弄丢,编译出来就会有问题。
2.修改 hdms-site.xm 配置
另外一个是 hdms-site.xm 当中,主要是开启一个选项,叫是否开启外部页面访问 hdfs,把 ennoble 变为 true。那么这两个选项是新加的,其它的暂且不管。修改好之后,一定要注意把文件拷贝给其它的机器。输入 scp-r core-site.xml node-2:/export/severs/Hadoop-2.7.5/etc/hadoop/,覆盖即可。
配置修改好之后,就可以去重启 hdfs 集群。使用 gps 来验证,发现并没有启动。接下来使用 start-dfs 命令来启动,按回车键执行。
3.修改 hue.in
启动并没有完成全部,只是优化了 hdfs 相关配置。hue 访问它需要去访问修改编译的 hue.ini 文件,指定 hdfs 集群的相关路径和一些配置文件的环境属于哪个路径。
接下来复制 hdfs_clusters,打开刚才远程编辑的文件,在里面进行搜索。
立刻定位到整个 hdfs 相关的代码。
第一块叫做 fs_default,文件的系统路径要保持一致,位于 node-1机器上。端口配置的是9000。这个端口的指定在刚才c ode-1.xml 上,发现里面配置的\<name>Fs.defaulltFS</name>指定的端口就是要使用的指定。所以跟集群保持一致。
下面是 webhdfs。通过 web 形式访问 hdfs 的路径不要改,要改变的是它的主机,把 localhost 改为 node-1,因为目录都在 node-1上。
4.重启 HDFS、Hue
接着添加配置文件。指定 Hadoop 相关的配置文件,相关的参数第一个叫做 hadoop_conf_dir。那么还有下图所示的参数。把 hadoop_conf_dir、hadoop_bin、hadoop_hdfs_home 参数直接复制。
具体路径可以结合集群安装,简单的修改
比如说第一个 hadoop_hdfs_home 是在安装包根目录下,第二个 bin 目录在于安装包目录下的 bin 目录,第三个配置文件的目录在安装包路径下的 etc hadoop,这三个选项就可以集成到队伍当中。
以上是跟 HDFS 的整合,可以通过 hue 来访问它。
二、Hue 集成 YARN
1.修改 hue.ini
YARN 集群不需要 YARN 本身这种修改,只需要在 hue 当中进行参数配置就即可,叫做 yarn_clusters。复制参数进行搜索。
在下面第一个需要改变的叫做 resourcemanager, yarn 集群当中的主机。rm 在当然在 node-1,也要结合自己的情况决定。
端口默认8032,符合要求保持一致即可。往下看 resource manager_ api 接口。访问是通过 node-1的80888,所以叫做 resource manager_ api_ url。把前面的两个注释给它释放掉,把 local host 改为 node-1。
最后叫做历史服务器的端口。也就是说在去访问 job 的时候,有时候要看一下历史访问的服务,需要把历史服务开启。它是在1988 node-1。所以说接下来最后一个叫做 history _server _api ,释放掉前面注释。后面改一下主机为node -1上,端口没有改变。
此时 yarn 以及修改完成,那事实上发现 hue 跟所有软件整合,几乎都是在这里面进行相关配置,指定主机指令和相关的端口。
2.开启 yarn 日志聚焦服务
还有一个可选项叫做 yarn 日志的聚集功能。yarn 运行的时候,它只负责具体的资源分类,但是并不管理程序内部。比如启动一个 MR 程序,那么五个 pass 可能会被分配到各个不同的机器上去执行,此时程序是在各个不同基站运行,运行日志也会位于不同的机器上。如果要去看可能比较麻烦,比如集群有一两千个机器,那来回跳很麻烦。yarn的日志聚集的服务开启之后,就可以将整个分布式计算过程当中产生的认知,汇总到一台机器上,即通过一个机器查看整个运行过程当中产生的日志。那么这个功能就叫做日志聚集服务。
它会统一的聚集放 在hdfs 指定的路径当中。为了之后去排错或是查看执行情况,建议打开日志聚焦服务。如果不开启,它对 hue 的使用不会干扰。
配置日志聚焦服务有两个选项,第一个叫做是否启用日志聚集功能 yarn.log-aggregation-enable。第二个设置日志保留的时间,单位是秒。如果不配置,则有默认时间。日志存储的时间不要设置非常大,设置的日子大,日志会越来越多,那么 ids 存储就出现问题。所以在企业当中简单配置,比如设置个三天或五天,那这三天之内执行的数据、任务,如果出错的话,都可以方便统一查看。
那么这两个功能做一个简单的配置,首先输入 cat yarn_site.xml,会弹出下图这两个选项。
第一个是开启日志聚集服务,第二个是日志保存的时间。配置中完成还是拷贝给其它机器。