《大数据原理与实践》课程实践教程2:应用的基本使用
上周的TOS教程中,我们以HDFS为例,讲解了应用组件的安装、配置和删除的整个过程。本周将按应用分别介绍每个应用组件的基本使用。
1、HDFS
登录TOS,选择“控制面板”下的HDFS,选择“控制台”,进入如图1的界面,从中
图1 HDFS组件构成
可以看到这套HDFS有3个DataNode,3个JournalNode,2个NameNode(各自包含一个ZKFC服务)的容器。(PS:如果你还没搞清楚它们之间的关系,看下图2吧。)8个容器分布在集群中3台物理主机上。点击其中任意一个容器右侧的“终端”超链接,选择“open”就会在浏览器中打开一个终端的界面,这就进入容器内部了!在这里就可以进行对于HDFS的命令行操作了,如图3就是查看HDFS中文件的例子,其中红框部分是这个容器的Pod号,与图1中蓝框中对应部分相同,关于Pod号的作用会在之后提到。
图2 HDFS HA
图3 Hadoop fs -ls操作
返回图1的界面,单击“概述”,在“组件连接”那一栏列出了当前可用的组件的UI界面,如图4,以“Hdfs Namenode”为例,点击即可进入当前为active状态的NameNode的UI界面,可以浏览各种信息,如图5。
图4 组件链接
图5 DataNode的UI页面
2、MetaStore
MetaStore专门用来存储Inceptor的元数据,由一个专门的服务进程和一个用于存储元数据的MySQL数据库构成。进入MetaSore,点击图6红框中的“终端”链接,即可进入装有MySQL的容器,在终端中输入如图7的命令可以查看Inceptor的元数据信息。
图6 进入MetaStore终端
图7 MySQL中Inceptor的元数据
3、Inceptor
除了之前提到的MetaStore,Inceptor还包含一个Server和多个Executor,点击图8红框中的“终端”链接,进入Server的终端,输入如图9中的命令即可进入Inceptor进行后续操作,这里的连接使用的是Hive2的方式。
图9 连接Inceptor
4、Terminal
这里说的Terminal可不是前面进入应用点击“终端“链接后出现的界面,而是一个独立的应用组件。这个组件作用是什么呢?细心的读者可能会发现,之前点击”终端”的页面后都是直接进入装有某应用的某个容器中的,而各个容器之间如果没有进行特别的设置的情况下,都是互相独立的。也就是说,在HDFS页面进入终端无法对其他应用,如MetaStore、Inceptor进行操作,反之亦然。因此这个Terminal应用的存在就是为了使对所有组件的操作都可以在一个终端里完成。
按照《TOS实践教程2》中安装组件的方法,在安装Terminal的过程中将需要操作的组件添加为依赖。安装完成后点击如图10的“终端“链接,在这里就可以统一对之前那些组件进行操作。但是要注意的是,例如MySQL或者Inceptor的连接字符串中的IP地址参数不是在本地容器里使用“localhost“,而是用Pod号代替。
图10 Terminal应用
例如在Terminal中想要连接Inceptor,输入的应该是”beeline –u jdbc:inceptor2://inceptor2j99pp-1747927132-kwt0x:10000/{database_name}“,如图11。
图11 多个应用在Terminal中操作
几个常用应用的基本命令行操作方法就介绍就到这里了。会不会有读者觉得命令行操作太复杂,命令根本记不住?有没有可视化操作的方法?想知道答案敬请期待下周的教程吧!