`
weitao1026
  • 浏览: 1047741 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Cloudera Manager、CDH零基础入门、线路指导

 
阅读更多

问题导读:
1.什么是cloudera CM 、CDH?
2.CDH、CM有哪些版本?
3.CDH、CM有哪些安装方式?
4.CDH如何开发?



<ignore_js_op>1.jpg

我们知道cloudera CDH 是为简化hadoop的安装,也对对hadoop做了一些封装。那么我们就像尝试学习cloudera。
cloudera本质hadoop的封装,那么学起来,应该不难。不就是下载下来,然后自动安装,最后管理hadoop生态系统的一些服务。
的确是这样的,但是也没有我们想象的那么简单。

基础知识
那么我们就开始第一步吧,第一步之前,那就是你的基础,这个是很关键的,如果不会使用Linux,那么你需要看一下另外一篇文章:零基础学习hadoop到上手工作线路指导(初级篇)。可以看看Linux的基础知识模块。需要掌握的内容还是不少的:




Linux掌握了,那么我们是否需要掌握虚拟机的基础知识,在搭建hadoop集群中,可以这些是必须掌握的,那么cloudera是否需要,也是需要的,这里就不在罗列了,详细参考零基础学习hadoop到上手工作线路指导(初级篇)。但是cloudera CM的安装比起hadoop集群的安装对硬件的要求更高。内存至少10G,为什么会这么多,如果少于10G是否可以,答案是可以的,但是后面你会遇到各种问题,或许都找不到答案。
对于cloudera-scm-server就需要至少4G的内存,cloudera-scm-agent的内存至少也需要1.5G以上。那么如果你的机器是8G的,还是很吃力的。
在安装的过程中,后面有很多的服务安装遇到问题的可能性是很大的。

什么是CDH

hadoop是一个开源项目,所以很多公司在这个基础进行商业化,Cloudera对hadoop做了相应的改变。
Cloudera公司的发行版,我们将该版本称为CDH。


很多新手问的最多的问题是,哪个是收费的,那个是免费的。
Cloudera Express版本是免费的
Cloudera Enterprise是需要购买注册码的

更多内容:
Cloudera Hadoop什么是CDH及CDH版本介绍

CDH(Cloudera)与hadoop(apache)对比

大数据架构师基础:hadoop家族,Cloudera产品系列等各种技术





官网介绍
<ignore_js_op>clouder.png
当我们学习的时候,我们该如何学习,有两种方式:第一种:先理论,后实践
第二种:先实践,后理论

上面两种方式各有各的场合,如果你要去面试、考试、搞理论思想类,第一种方式是没有问题的。因为这些都是停留在思想层面的。
对于一个编程技术人员来讲,本人觉得第二种方式更加的短平快。
上面两种方式都有些绝对,最佳的方式就是实践与理论相结合。
这里撰文一下,引用孔子的一句话

学而不思则罔 思而不学则殆


只看书,不实践,或则只倒腾部署、停留在某些问题得不到解决,但是又不去看书、百度、谷歌查找解决问题,这样也是不行的。



好了,开始我们的官网:
官网是我们学习标准,所以我们首先要记住官网地址:
主页:
http://www.cloudera.com/content/cloudera/en/home.html
进入官网我们可以做些什么事情:
1.提供API
2.查看部署文档
3.下载安装包
那么我们如何查找API,如何查找部署文档,如何下载安装包?
详细可以查看
cloudera(CDH)官网介绍:安装包、离线包该如何下载、官方文档等介绍






安装包下载:
同时附上各个版本包的地址:
Cloudera文档汇总
http://www.cloudera.com/content/support/en/documentation.html
CDH4、CDH5包汇总
http://archive.cloudera.com/cdh4/
http://archive.cloudera.com/cdh5/
CM4、CM5包汇总
http://archive.cloudera.com/cm4/
http://archive.cloudera.com/cm5/

官网CDH5下载
http://www.cloudera.com/content/ ... /cdh/cdh-5-1-0.html

以前版本地址:
CDH1~CDH3
http://archive-primary.cloudera.com/cdh/


当我们看到安装的时候,同时也困扰着我们,我们该选择哪个安装包。

首先需要介绍下CM(Cloudera Manager)及CDH的安装方式:

CM(Cloudera Manager)有三种安装方式:

1.第一种使用cloudera-manager-installer.bin安装
这种安装方式,只要从官网下载cloudera-manager-installer.bin,然后执行这个bin文件,剩下的就是等待下载和安装。但是这个时间不是一般的长,最好吃个饭,睡个觉,最后看到还在安装过程中。此帖安装步骤及遇到问题记录很详细,可参考
Cloudera Manager5及CDH5在线(cloudera-manager-installer.bin)安装详细文档


Cloudera Manager5及CDH5安装指导(终极在线安装)

遇到的问题:
当我们安装完毕CM,那么我们就要添加主机,主机添加完毕,我们会看到安装进度:

<ignore_js_op>安装进度7.png


但是并不是每个人都能看到上面进度,而是看到下面错误:

Detecting Cloudera Manager Server...
Detecting Cloudera Manager Server...
BEGIN host -t PTR 192.168.1.198
198.1.168.192.in-addr.arpa domain name pointer localhost.
END (0)
using localhost as scm server hostname
BEGIN which python
/usr/bin/python
END (0)
BEGIN python -c 'import socket; import sys; s = socket.socket(socket.AF_INET); s.settimeout(5.0); s.connect((sys.argv[1], int(sys.argv[2]))); s.close();' localhost 7182
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "<string>", line 1, in connect
socket.error: [Errno 111] Connection refused
END (1)
could not contact scm server at localhost:7182, giving up
waiting for rollback request


上面错误该如何解决:
可以使用下面方法解决:

  1. mv /usr/bin/host /usr/bin/host.bak
复制代码




2.第二种使用rpm、yum、apt-get方式在线安装
这种安装方式,在网上看的有点眼花缭乱,可能是因为我们对yum、apt、rpm了解的不多造成的,对于Linux基础缺乏的,可以参考:yum与rpm、apt的区别:rpm的缺陷及yum的优势,总的来说:由于rpm依赖关系不好,所以产生了yum,而yum和apt则都是Linux的包管理工具,并且解决了包与包的依赖关系。

这里列出一些安装文档
ubuntu 12.04 安装 Cloudera Manager5及CDH5(Mysql)【添加yum源方式安装集群】

遇到问题1:内存过小
使用yum安装因为mysql的配置至少需要对Cloudera server 4G的内存,否则mysql的重启过程中,就会遇到unknown instance.

遇到问题2:界面无法访问
界面无法访问,分为两种情况
一种是Cloudera-manager-server没有完全起来

当我们运行下面命令:
<ignore_js_op>cmd.png


如果现在,输入url,访问web,可能会是无法访问
host/ip:7180,我这里是172.16.77.60:7180

<ignore_js_op>桌面.png


大概需要等10分钟左右,界面就可以访问了。

<ignore_js_op>denglu.png

一种则是权限问题
所以我们初次安装尽量使用root.还有我们需要会看日志。

Linux日志的位置:
下面为server日志

<ignore_js_op>logserver.png


下面为agent日志
<ignore_js_op>agent.png

同时在我们安装服务的过程中,我们还需要会查看角色日志,这样从web界面就是可以看到,因为在我们安装过程中,服务的安装没有那么顺利。
这里暂时没有截图,我们只要记住角色日志,在界面中找到即可。


遇到问题3:无法找到cloudera agent客户端

我们使用下面命令安装了agent

  1. sudo apt-get install cloudera-manager-agent cloudera-manager-daemons
复制代码

当然还有很多其它需要安装,当我们的agent安装成功后,为什么我们的的界面中不能发现agent.


本来我们有三台,但是却只有一台,而且是cloudera server本地的agent





这是因为我们的在安装的过程中,agent都指向了本地localhost.
我们打开配置文件

 

  1. sudo nano  /etc/cloudera-scm-agent/config.ini
复制代码



修改
server_host为server ip地址
server_port为7180

下图CDH即为cloudera server的hostname



修改完毕:
首先重启Agent
sudo service cloudera-scm-agent restart
然后重启server
sudo service cloudera-scm-server restart
这时候会发现已经生效。
更详细内容可以参考
记录cloudera Manager安装Cloudera-Scm-Agent如何指向Cloudera-Scm-Server


更多文档可以参考:
Cloudera Manager 和 CDH 4 终极安装(一)

ClouderaManager以及CHD5.1.0集群部署安装

Cloudera Manager (centos)离线安装详细介绍

CM5、CDH5安装(CDH5半自动离线安装)

Cloudera Manager 5 和 CDH5 本地(离线)安装指南

Cloudera Manager 和 CDH5 本地(离线)安装指导




3.第三种使用是Tarballs的方式

这种方式网上资料很少
安装的命令如下:

  1. $ tar xzf cloudera-manager*.tar.gz -C /opt/cloudera-manager
复制代码

这个跟hadoop的安装方式是一样的
安装的方法详细可参考:


这里在列出官网给出的三种安装方式:



如果想安装CM,这次再次强调一定要有足够的内存。并且我们安装完毕CM,一般会

4.安装失败处理
上面如果我们安装失败该如何处理:
使用 cloudera-manager-installer.bin(Parcles)安装失败后卸载cloudera

卸载 Cloudera Manager 5.1.x.和 相关软件【官网翻译:高可用】
5.目录结构:
由于我们大多采用在线安装的方式,所以出血,我们根本不知道cloudera安装在了什么位置,详细可以参考下面内容

解析Cloudera Manager内部结构、功能包括配置文件、目录位置等
亦可参考下面帖子:
卸载 Cloudera Manager 5.1.x.和 相关软件【官网翻译:高可用】









CDH安装方式:

Yum/Apt包,Tar包,RPM包,CM安装
这些包的下载,可以在上文安装包汇总中可以找到。
CDH1~CDH3
http://archive-primary.cloudera.com/cdh/

CDH4~CDH5
http://archive.cloudera.com/cdh4/
http://archive.cloudera.com/cdh5/


安装文档,下面可以参考
Linux(ubuntu12.04)单节点伪分布安装CDH5.1.X及提交wordcount到yarn高可靠文档
各个版本Linux单节点伪分布安装CDH5.1.X及提交wordcount到yarn高可靠文档


Hadoop CDH5 手动安装伪分布式模式
通过CM方式安装,大多在安装CM的时候,已经安装了CDH。




CDH开发

安装完毕,我们还想开发提到开发,我们就想到eclipse插件,其实我们在开发过程中,插件作用就是帮助我们能够方便的看到在Linux的文件。
所以开发方式也有两种,
一种插件开发
我们如何找到eclipse插件,可以参考
cloudera CDH(5)开发方式及CDH eclipse插件编译总结


一种是无插件开发
无插件开发,也就是直接添加开发包

可以参考:hadoop开发方式总结及操作指导

先总结到此,希望大家有所收获。




有的同学反映写的不够细,这里在补充一些内容:
Cloudera Manager Server启动后又挂掉的原因总结

我们安装CDH的时候,会碰到cloudera server启动后又挂掉了,这是什么原因?
查看日志:包下面问题

可是明明已经安装jdk,并且已经设置了JAVA_HOME

  1. java -version
复制代码



也能返回版本
这是怎么回事,猜测cloudera server(5)认oracle jdk,对于sun jdk也需要是在线安装(至于是不识别sun jdk还未验证)。同时还必须是jdk1.7.









也就是需要执行下面命令:

  1. sudo apt-get -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold -y install oracle-j2sdk1.7
复制代码

原因是在后面执行scm-server数据库配合的时候,如果找不到Java_home可能会初始化失败。
Java_home默认安装路径如下。

  1. /usr/lib/jvm/java-7-oracle-cloudera
复制代码


从上面我们得出,如果想安装顺序,我们最好使用下面命令来安装jdk1.7

sudo apt-get -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold -y install oracle-j2sdk1.7


执行上面命令,那么还需要做下面工作:



然后我们接着执行命令:

  1. service cloudera-scm-server restart
复制代码


认为终于好了,但是不幸的是,这次坚持了不到两分钟又挂掉了。


这次为什么会挂掉,不得不查看日志了:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creati
ng bean with name 'entityManagerFactoryBean': FactoryBean threw exception on obj

ect creation; nested exception is javax.persistence.PersistenceException: org.hi
bernate.exception.GenericJDBCException: Could not open connection
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.
doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:149)
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.
getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:102)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getObje
ctForBeanInstance(AbstractBeanFactory.java:1440)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBe
an(AbstractBeanFactory.java:247)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:192)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveReference(BeanDefinitionValueResolver.java:322)
        ... 17 more
Caused by: javax.persistence.PersistenceException: org.hibernate.exception.Gener
icJDBCException: Could not open connection
        at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityMan
agerImpl.java:1387)
        at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityMan
agerImpl.java:1310)
        at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException
(AbstractEntityManagerImpl.java:1397)
        at org.hibernate.ejb.TransactionImpl.begin(TransactionImpl.java:62)
        at com.cloudera.enterprise.AbstractWrappedEntityManager.beginForRollback
AndReadonly(AbstractWrappedEntityManager.java:85)
        at com.cloudera.enterprise.dbutil.DbUtil.isInnoDbEnabled(DbUtil.java:472
)



2014-09-22 17:51:27,328 ERROR [main:spi.SqlExceptionHelper@147] An attempt by a
client to checkout a Connection has timed out.
2014-09-22 17:51:27,339  INFO [main:support.DefaultListableBeanFactory@422] Dest
roying singletons in org.springframework.beans.factory.support.DefaultListableBe
anFactory@715dcdeb: defining beans [commandLineConfigurationBean,entityManagerFa
ctoryBean,com.cloudera.server.cmf.TrialState,com.cloudera.server.cmf.TrialManage
r,com.cloudera.cmf.crypto.LicenseLoader]; root of factory hierarchy
2014-09-22 17:51:27,341 ERROR [main:cmf.Main@202] Server failed.
org.springframework.beans.factory.BeanCreationException: Error creating bean wit
h name 'com.cloudera.server.cmf.TrialState': Cannot resolve reference to bean 'e
ntityManagerFactoryBean' while setting constructor argument; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean wi
th name 'entityManagerFactoryBean': FactoryBean threw exception on object creati
on; nested exception is javax.persistence.PersistenceException: org.hibernate.ex
ception.GenericJDBCException: Could not open connection
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveReference(BeanDefinitionValueResolver.java:328)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
        at org.springframework.beans.factory.support.ConstructorResolver.resolve
ConstructorArguments(ConstructorResolver.java:616)
        at org.springframework.beans.factory.support.ConstructorResolver.autowir
eConstructor(ConstructorResolver.java:148)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1003)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:907)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBean(AbstractAutowireCapableBeanFactory.java:456)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb
ject(AbstractBeanFactory.java:293)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.getSingleton(DefaultSingletonBeanRegistry.java:222)


看完日志,你是否还是云里雾里,这不得不说一下,我们该如何利用日志。

日志的作用是什么?日志的作用是提示,它大部分会给我们明确说遇到了什么问题,比如权限拒绝,等,但是有些你是看不明白的,那我们该如何处理?只能靠你的灵感了,没有灵感怎么办?那就需要自己缕顺序,自己是怎么安装、怎么操作的,然后从中能够发现问题。渐渐的你就能培养出灵感了。


上面其实我只知道报的是一个Java异常,而且还跟链接有关系。
灵感来了,就像到了,是因为没有执行下面命令:

配置cloudera-manager-server数据库

  1. sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql  -uroot -p --scm-host localhost scm scm scm_password
复制代码

但是又出问题了,如下:





其实这个问题已经解决了,安装我们可以进入上面步骤。
当我们安装完毕,ok了,终于好了:

当我们看到下面内容的时候,all done,说明我们配置成功了。



然后我们再次重启

  1. service cloudera-scm-server restart
复制代码


ok始终在坚挺着,没有挂机,问题得到解决

分享到:
评论

相关推荐

    零基础(Cloudera_CDH)入门线路指导

    cloudera(CDH) 官网介绍:安装包、离线包该 如何下载、官方文档等介绍 问题导读: 1. 如何进入 cloudera 官网? 2. 如何下载 CM 、CDH 离线包? 3. 如何找到 CM 的在线安装包? 4.cloudera 在哪可以找到? 进入官网...

    CLOUDERA-Manager_中文手册(全 高清)+ CDH安装手册.pdf

    Cloudera Manager是一款基于大数据管理平台,用于管理Hadoop集群和CDH(Cloudera Distribution of Hadoop)集群。该手册详细介绍了Cloudera Manager的产品介绍、基本功能、监控功能等内容。 产品介绍 Cloudera ...

    cloudera manager 安装cdh 搭建大数据集群,详细讲解核心

    Cloudera Manager 安装 CDH 搭建大数据集群核心知识点 一、Cloudera Manager 安装方法 Cloudera Manager 安装 CDH 集群有多种方法,主要分为 Server 端和 Agent 端安装。 1. Server 端安装: * 使用 yum 安装 cm...

    Centos 7 离线安装Cloudera Manager6 和CDH6.3.1.docx

    本文将指导您在 CentOS 7 环境中离线安装 Cloudera Manager 6 和 CDH 6.3.1。整个安装过程可以分为多个步骤,包括环境准备、系统配置、Java 环境配置、SSH 无密码登录、MySQL 安装、Cloudera Manager 安装等。 一、...

    Cloudera Manager 6.3.1 (文件1)

    cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm, cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm, cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm, cloudera-manager-server-db-2-6.3.1-...

    ClouderaManager_CDH升级手册

    1. 本手册仅适用于 Cloudera Manager 5 以及 CDH5 以上的版本 2. Cloudera Enterprise 的是通过 parcel 包的形式进行安装的 3. Cloudera Enterprise 安装是基于外部数据库的 4. 若是由 CDH 5.3 升级至 CDH 5.4,则...

    ubuntu完全分布式搭建CDH集群(Cloudera Manager)

    ### Ubuntu 完全分布式搭建 CDH 集群(Cloudera Manager) #### 搭建环境概述 本文档旨在详细介绍如何在 Ubuntu 14.04.3 系统下构建一个完整的 Cloudera Manager (CM) 管理的 CDH 集群。该集群将使用三台物理...

    CLOUDERA-Manager-中文手册

    Cloudera Manager是CDH(Cloudera Distribution Including Apache Hadoop)的重要组成部分,CDH是一个全面的数据管理平台,集成了各种Hadoop组件,如HDFS、MapReduce、HBase等。作为市场领先的管理平台,Cloudera ...

    Cloudera Manager CDH 5.12部署安装

    CDH部署安装文档,纯手敲非复制,有截图,一看就懂

    Cloudera Manager6.2.1及CDH最新版本安装全程记录

    Cloudera Manager6.2.1

    java调用Cloudera Manager Api实例

    首先,理解Cloudera Manager API的基础知识至关重要。API(应用程序编程接口)是一组定义了软件之间交互规则的协议、工具和接口。Cloudera Manager提供了RESTful API,允许开发者通过HTTP请求来获取集群信息、配置...

    Cloudera Manager API v14 中文

    ### Cloudera Manager API v14 关键知识点 #### 一、概述 Cloudera Manager API v14 是用于管理 Cloudera Data Platform (CDP) 和其他 Cloudera 产品的强大工具。它允许管理员通过 API 调用来监控、管理和配置集群...

    Cloudera-Manager3安装步骤

    以上步骤是安装Cloudera Manager 3和CDH3的基础流程,实际操作中可能还需要根据网络环境、安全策略和具体需求进行适当的调整。在后续的使用中,Cloudera Manager允许管理员轻松地扩展集群,管理数据流动,优化资源...

    基于Cloudera-CDH的安装说明文档

    它不仅提供了详细的步骤和指导,用于帮助用户在生产环境中高效地安装和配置Cloudera软件,包括Cloudera Manager、CDH(Cloudera Distribution Including Apache Hadoop)以及其他托管服务,还涵盖了从基础设置到高级...

    ClouderaManager-中文手册-实战总结.pdf

    Cloudera Manager是CDH市场领先的管理平台,作为业界第一的端到端Apache Hadoop的管理应用,Cloudera Manager对CDH的每个部件都提供了细粒度的可视化和控制,从而设立了企业部署的标准。通过Cloudera Manager,运维...

    ClouderaManager运维_中文手册

    Cloudera Manager是CDH市场中领先的管理平台,由Cloudera公司开发,它是一个端到端的Apache Hadoop管理应用,提供了对CDH每个部件的细粒度可视化和控制功能。Cloudera Manager的目的是简化企业数据中心的管理,它...

    cloudera manager的运行机制及目录

    Cloudera Manager是Cloudera公司提供的一套用于管理Apache Hadoop集群的软件,它简化了Hadoop集群的安装、部署和运维工作。Cloudera Manager使用C/S结构,包含一个Server端和若干Agent端。Server端负责集群的管理、...

    Cloudera CDH集群运维手册

    Cloudera CDH(Cloudera Distribution Including Apache Hadoop)是Cloudera公司提供的一款开源大数据平台,它包含了Hadoop生态系统中的多个组件,如HDFS、MapReduce、YARN、Hive、HBase等,为企业级大数据处理提供...

    Cloudera Manager 6.3.1.el7-part1

    适用于CDH最后的一个免费版本的CDH6.3.2,用于CDH的本地源搭建.这部分是Cloudera Manager部分

    cdh7.5 cloudera manager 安装全套软件和视频推荐

    ### CDH7.5 Cloudera Manager 安装全套软件及视频推荐知识点解析 #### 一、Cloudera Data Platform (CDP) 概述 根据所提供的内容,“CDH7及以上版本已经更名为CDP”,这表明Cloudera对其产品线进行了调整。Cloudera...

Global site tag (gtag.js) - Google Analytics