蓝的成长记——追逐DBA(14): 难忘的“云”端,起步的hadoop部署

原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。

深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/44050117

 

【简介】

        个人在oracle路上的成长记录,其中以蓝自喻,分享成长中的情感、眼界与技术的变化与成长。敏感信息均以其它形式去掉,不会泄露任何企业机密,纯为技术分享。

        创作灵感源于对自己的自省和记录。若能对刚刚起步的库友起到些许的帮助或共鸣,欣慰不已。

        欢迎拍砖,如有关技术细节表述有错误之处,请您留言或邮件([email protected])指明,不胜感激。

【前言】

       这是一部个人记录的成长杂记,既然步入到oracle的这片蓝海,免不了一路的奔波与不断的考验。借由此杂记与库友们分享蓝的成长历程。

       不知何时起对蓝有了一种说不出来的痴迷,痴迷其广博,痴迷其深邃,痴迷于近在咫尺却又遥不可及。

       而又说不清从何时起,注视于oracle的红色耀眼,照亮出眼前的一道光,未知与迷惑在自己的脚下开始初露些许人生的充实与青春的回馈。

       在追逐于DBA梦想的道路上步步前行。

 

篇章一:忘不掉的地平线,云端初探

没有目标的人走到哪里都感觉是在流浪,反之,确立目标,漂泊中亦会感受到靠近梦想的充实。

                                                                                                                                                            ——深蓝

2014年追忆于淄博

安静怡然,按计而施,

平台改造,云端的初探,

简单的问题,经验的代价。

 

        初来淄博,便被这里的宁祥所折服,没有庸碌的人群,没有嘈杂的争吵,有着一份慢节奏的生活态度与泰然处之的生活原则。

技术分享

        这次的任务还算比较简单,是把WAS应用服务迁移到云平台上的一台服务器中。根据之前的实施经验,还算顺利。但是对于“云”这个概念,我是完全不了解。就在完成了本职工作的同时,与另外一家开发公司的开发人员交流过程中,让我第一次接触到了hadoop的有关知识。虽说有点迷茫,有点忙乱,听起来的云,有那么点悬乎~~真像描述的那样,轻飘飘,似乎难以触及。

        迷糊归迷糊,但还是有了些收获,知道了几个名词,了解了什么是“云战略部署”。

        说到“云”,它所实现的目标,有了第一次的认识,简要总结如下四点:

         1、共享资源,集中分散的硬件资源,提高软件资源利用率、硬件资源利用率;

         2、共享数据,数据集中存储,提高信息共享、统计分析、数据深度挖掘能力;

         3、共享服务,计算超大数据、超强计算、超大存储能力;

         4、共享应用,基于云平台开发升级应用系统。

        接下来是另一个任务,济南的迁移任务。带着尚留余温的“云”思绪,踏上了前往济南的大巴。

        济南的任务,依旧是向云平台迁移。但这次并没有更多的了解到“云”,留下了些许的遗憾,作为一个纯纯的看客,匆匆而去。

篇章二:有幸触碰分布式,学习hadoop实施

拥抱大数据,拥抱分布式数据库。

                                                                    ——深蓝

        在年轻的IT行业里,oracle出现在这个时代里,因为时代赋予了其使命。未来围绕数据发展的技术或许会翻天覆地,正如我们眼前的hadoop,我们可能无法预见。但在这一切来临之前,我们要尽快跟上这波“大数据”的助推剂。未来的数据形态必然遵循历史的发展脉络,发展始于理论,但最终必然落地于实用性。另一方面,相信对于技术开发而言,终究有一天会被完善而又高效的技术所“大一统”,那个时候,想必也正是IT领域真正进入到鼎盛期的标志。而伴随其中数据库技术,相信也会由硝烟弥漫的技术纷争归于平静,呈现给我们一种清晰、明确、高效的后台数据架构。

        对于未来,我们无从把握,只能立足于现在,厚积薄发。

        由于公司系统针对hadoop的开发改造,比较幸运的,第一次接触到了hadoop。接下来就简单捋顺下搭建思路,对于犯下的错误做一个简单总结。

        具体的部署细节,这里暂时不做列举,只列出搭建的大致思路,希望可以对hadoop的部署有一个初步的认识:

1、安装CentOS 6.4操作系统(64bit);
2、配置网络,远程连接操作系统
3、安装JDK
4、修改主机名并配置host文件(多节点IP解析)
5、关闭防火墙
6、关闭SElinux
7、配置JAVA_HOME
8、配置yum源
9、添加云用户
10、安装云管理控制台
11、通过管理控制台安装nameNode节点(主节点)
12、通过管理控制台安装dataNode节点(分布式多节点)

        看看这样的流程下来,能否感觉到,好像“云”并不是那样神秘和难以捉摸。但在这一路安装流程下,还是犯了几个低级的错误,做个简单总结:

第一道坎:HTTP服务

错误认识的yum配置

         在部署hadoop时需要配置yum源来完成后续的安装。对于熟悉linux的老鸟来说,yum源配置是非常简单的。但我这次犯得错误来自于对于yum配置理解不全面。在以往,使用yum是安装oracle时配置yum工具安装需要的包。使用的是“file:///cdrom1”这种以file作为开头的路径文件。这样当然简单,只需要把光盘挂载到cdrom1目录下即可。而这次从研发那里拿来的repo源文件中使用到的是“http://...”这种路径。这个其实也不难,需要搭建一个http服务器,然后在hosts解析文件中映射http服务器的IP地址即可。

         这里使用apache搭建http服务器,网站上下载如下文件:

技术分享

技术分享

一路点击下一步,到达如下配置界面,进行本机配置。

技术分享

        安装结束时,会弹出cmd错误提示框,按esc退出即可,弹出错误是因为http服务器默认端口80被计算机其它设备所占用的原因。安装完成后在配置文件修改端口号即可。

        如下图,安装完成后无法启动apache服务。

技术分享

找到配置文件,用编辑器打开,如下图:

技术分享

将端口号由80改为8080,如下图:

技术分享

修改后,再次启动apache服务即可,如下图:

技术分享

浏览器中输入http服务器地址,出现下图即为安装成功(这里验证本地服务器所以输入localhost即可,远程时输入IP地址),如下图:

技术分享

这时,只需要把默认路径下的文件替换为yum源所指向的文件即可。

例如这样:

技术分享

试着访问一下就可以看到效果,如下图:

技术分享

以上是在win7下操作,建议使用win2008进行配置http服务器,并且配置使其使用80端口。

配置http服务器后,就可以在yum源中配置诸如“http://”格式的路径地址了,例如:

baseurl = http://archive.cloudera.com/cloudera-hadoop/search/redhat/6/x86_64/search/1.1.0/,其中需要把archive.cloudera.com添加到hosts文件中,如下:

<span style="font-size:14px;"># vi /etc/hosts

192.168.56.1  archive.cloudera.com</span>

第二道坎: cloudera管理控制台安装错误——http路径不正确

这是在配置完yum源后,执行安装cloudera控制台的bin文件时,报错如下:

技术分享
 

根据上图提示,查看报错日志,如下:

[root@master opt]# cat /var/log/cloudera-manager-installer/3.install-cloudera-manager-server.log

Loaded plugins: fastestmirror, refresh-packagekit, security

Loading mirror speeds from cached hostfile

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Package cloudera-manager-server.x86_64 0:4.8.0-1.cm480.p0.50.el6 will be installed

--> Processing Dependency: cloudera-manager-daemons = 4.8.0 for package: cloudera-manager-server-4.8.0-1.cm480.p0.50.el6.x86_64

--> Running transaction check

---> Package cloudera-manager-daemons.x86_64 0:4.8.0-1.cm480.p0.50.el6 will be installed

--> Finished Dependency Resolution

Dependencies Resolved

================================================================================

 Package                  Arch   Version                 Repository        Size

================================================================================

Installing:

 cloudera-manager-server  x86_64 4.8.0-1.cm480.p0.50.el6 cloudera-manager 7.7 k

Installing for dependencies:

 cloudera-manager-daemons x86_64 4.8.0-1.cm480.p0.50.el6 cloudera-manager 147 M

Transaction Summary

================================================================================

Install       2 Package(s)

Total download size: 147 M

Installed size: 201 M

Downloading Packages:

http://archive.cloudera.com/cm4/redhat/6/x86_64/cm/4.8.0/RPMS/x86_64/cloudera-manager-daemons-4.8.0-1.cm480.p0.50.el6.x86_64.rpm: [Errno -1] Package does not match intended download. Suggestion: run yum --enablerepo=cloudera-manager clean metadata

Trying other mirror.

http://archive.cloudera.com/cm4/redhat/6/x86_64/cm/4.8.0/RPMS/x86_64/cloudera-manager-server-4.8.0-1.cm480.p0.50.el6.x86_64.rpm: [Errno -1] Package does not match intended download. Suggestion: run yum --enablerepo=cloudera-manager clean metadata

Trying other mirror.

Error Downloading Packages:

  cloudera-manager-daemons-4.8.0-1.cm480.p0.50.el6.x86_64: failure: RPMS/x86_64/cloudera-manager-daemons-4.8.0-1.cm480.p0.50.el6.x86_64.rpm from cloudera-manager: [Errno 256] No more mirrors to try.

  cloudera-manager-server-4.8.0-1.cm480.p0.50.el6.x86_64: failure: RPMS/x86_64/cloudera-manager-server-4.8.0-1.cm480.p0.50.el6.x86_64.rpm from cloudera-manager: [Errno 256] No more mirrors to try.

解决:

1)、最后将问题锁定在目录上,如下:

http://archive.cloudera.com/cm4/redhat/6/x86_64/cm/4.8.0/RPMS/x86_64/ cloudera-manager-server-4.8.0-1.cm480.p0.50.el6.x86_64.rpm

2)、到http服务器查看发现路径,如下:

http://archive.cloudera.com/cm4/redhat/6/x86_64/cm/4.8.0/RPMS/ cloudera-manager-server-4.8.0-1.cm480.p0.50.el6.x86_64.rpm

对比(1)、(2)可以发现,在http服务器中缺少了第二个x86_64目录,于是到http服务器中添加x86_64目录。

再次执行,不再报此错误。

 

补充:

对于http服务器中,在添加目录时,如果某访问目录中存在引导的索引文件(html目录文件),如下图,需要将其删除,否则将无法创建新的目录。

技术分享

补充完毕。

 

第三道坎:cloudera管理控制台安装错误——缺少postgresql

当解决了路径问题后,再次执行安装clouderabin文件时,又一次报错了,如下:

技术分享

提示查看日志文件,于是再一次查看配置文件,如下:

[root@master opt]# cat /var/log/cloudera-manager-installer/4.install-cloudera-manager-server-db.log

Loaded plugins: fastestmirror, refresh-packagekit, security

Loading mirror speeds from cached hostfile

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Package cloudera-manager-server-db.x86_64 0:4.8.0-1.cm480.p0.50.el6 will be installed

--> Processing Dependency: postgresql-server >= 8.0 for package: cloudera-manager-server-db-4.8.0-1.cm480.p0.50.el6.x86_64

--> Finished Dependency Resolution

Error: Package: cloudera-manager-server-db-4.8.0-1.cm480.p0.50.el6.x86_64 (cloudera-manager)

           Requires: postgresql-server >= 8.0
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles –nodigest

解决:

查看日志发现,提示安装需要postgresql-server8.0以上版本,于是使用yum方式(postgresql-server包存在依赖关系,需要使用yum安装)进行安装。如下操作:

[root@master yum.repos.d]# yum install -y postgresql-server*

Loaded plugins: fastestmirror, refresh-packagekit, security

Loading mirror speeds from cached hostfile

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Package postgresql-server.x86_64 0:8.4.13-1.el6_3 will be installed

--> Finished Dependency Resolution

Dependencies Resolved

================================================================================================================

 Package                         Arch                 Version                         Repository           Size

================================================================================================================

Installing:

 postgresql-server               x86_64               8.4.13-1.el6_3                  debug               3.4 M

Transaction Summary

================================================================================================================

Install       1 Package(s)

Total download size: 3.4 M

Installed size: 14 M

Downloading Packages:

Running rpm_check_debug

Running Transaction Test

Transaction Test Succeeded

Running Transaction

Warning: RPMDB altered outside of yum.

  Installing : postgresql-server-8.4.13-1.el6_3.x86_64                                                      1/1 

  Verifying  : postgresql-server-8.4.13-1.el6_3.x86_64                                                      1/1 

Installed:

  postgresql-server.x86_64 0:8.4.13-1.el6_3                                                                     

Complete!

        至此,经过了三次周折后,终于管理控制台顺利安装完成。

        接下来完成配置(步骤略),最后完成hadoop配置后,进入到了管理界面,如下图所示:

技术分享

        对于hadoop的学习,这是一个起步,面对红火的“数据库”领域,看来除了oracle,也应该补充些新兴的技术了。

 

 

系列链接:

蓝的成长记——追逐DBA(1):奔波于路上,挺进山东 

蓝的成长记——追逐DBA(2):安装!安装!久违的记忆,引起我对DBA的重新认知

蓝的成长记——追逐DBA(3):古董上操作,数据导入导出成了问题 

蓝的成长记——追逐DBA(4):追忆少年情愁,再探oracle安装(Linux下10g、11g) 

蓝的成长记——追逐DBA(5):不谈技术谈业务,恼人的应用系统

蓝的成长记——追逐DBA(6): 做事与做人:小技术,大为人

蓝的成长记——追逐DBA(7):基础命令,地基之石 

蓝的成长记——追逐DBA(8):重拾SP报告,回忆oracle的STATSPACK实验

蓝的成长记— —追逐DBA(9):国庆渐去,追逐DBA,新规划,新启程

蓝的成长记——追逐DBA(10):飞刀防身,熟络而非专长:摆弄中间件Websphere 

蓝的成长记——追逐DBA(11):回家后的安逸,晕晕乎乎醒了过来 

蓝的成长记——追逐DBA(12):七天七收获的SQL

蓝的成长记——追逐DBA(13):协调硬件厂商,六个故事:所见所感的“服务器、存储、交换机......”

 

 

原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。

深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/44050117

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。