Cloudera Manager 和 CDH 4 终极安装

2019-03-27 00:48|来源: 网路

 转载请注明出处:http://www.cnblogs.com/thinkCoding/p/3567408.html

 

系统环境

  操作系统:CentOS 6.5

  Cloudera Manager 版本:4.8.1

  CDH版本:4.5.0

各机器准备工作:

  yum -y groupinstall "Development tools"

  yum -y install wget 

Cloudera-manager压缩包地址:     http://archive.cloudera.com/cm4/cm/4/cloudera-manager-el6-cm4.8.1_x86_64.tar.gz 

CDH 下载地址:             http://archive.cloudera.com/cdh4/parcels/

IMPALA 下载地址:           http://archive.cloudera.com/impala/parcels/

Cloudera Search(SOLR)下载地址:   http://archive.cloudera.com/search/parcels/latest/

 

官方安装参考 

  http://www.cloudera.com/content/cloudera-content/cloudera-docs/CM4Ent/latest/Cloudera-Manager-Installation-Guide/cmig_install_path_C.html

  官网介绍的安装方式有三种:

  

  我们选择了第三种方法。

  理由是第一种方法必须要求所有机器都能连网,而且外国网站不太稳定。一旦失败,重装非常痛苦。

  第二种方法还没仔细研究,看上去要下载很多包。

  第三种方法对系统侵入性最小,最大优点可实现全离线安装,而且重装什么的都非常方便。后期的集群统一包升级也非常好。

 

准备工作

以下所有操作都以root进行。

0 修改主机名

  修改/etc/sysconfig/network文件

    NETWORKING=yes

    HOSTNAME=yc01

 

  重启后生效:service network restart

 

  修改/etc/hosts文件,类似

    192.168.1.191 yc01  
    192.168.1.192 yc02
    192.168.1.193 yc03
    192.168.1.194 yc04
    192.168.1.195 yc05

 

1 安装 salt (可忽略)

  略。

2 打通 ssh 

  所有机器,使用   ssh-keygen -t rsa    一路按回车就行了。

  刚才都作甚了呢?主要是生成ssh的密钥和密钥的存放路径。 在 ~/.ssh下。

  打开~/.ssh 下面至少有两个文件

  id_rsa,私钥

  id_rsa.pub,公钥 

  在主结点上:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

  scp文件到其他机器:

 scp ~/.ssh/authorized_keys root@yc02:~/.ssh/

  现在登陆到其他机器就不用密码了。

3 安装 java

  由于 CDH4 支持 JAVA7 ,考虑到 CDH5 只支持 JAVA7,果断上。(后面的Mysql也用了最新的5.6.16,后来发现悲剧了,不知道是哪个原因,于是JDK又改成了官方推荐版,还是不行,又把Mysql回退到5.1.X版本,最终可以了。个人猜测JDK还是可以用7的,Mysql只能用5.5,再往上就不行了。参考 http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Requirements-and-Supported-Versions/cdhrsv_topic_2.html)

  从Oracle官网下载解压JDK 。 tar zxvf jdk-7u51-linux-x64.gz 放到 /opt/java 下。

  以前好像在哪看到过说,CDH 需要一个 /usr/java/default 的软链,才会识别。以防万一,建了一个,至少这样也更容易管理:

mkdir -p /usr/java ; cd /usr/java ;
ln -s /opt/java/jdk1.7.0_51 latest ; ln -s latest default

  最后JAVA添加环境变量

export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

   使配置生效  

source /etc/profile

 

4 安装Mysql数据库(安装过程后来直接跳过了,直接 yum -y install mysql-server  再建需要的数据库)

  Cloudera Manager 自身的需要数据库,它现在支持 Mysql 、PostgreSQL 和 Oracle ,本人没用过PostgreSQL ,Oracle 兴师动众,果断上 Mysql 。

  Installing and Configuring a MySQL Database

  官网上说了很多,总结起来三句话:

    1) 安装一个 Mysql 

     下载地址 http://dev.mysql.com/downloads/mysql/

     下载了客户端和服务端

     rpm -ivh MySQL-server-5.6.16-1.el6.x86_64.rpm

     rpm -ivh MySQL-client-5.6.16-1.el6.x86_64.rpm

     安装server是会提示 生成 root 的随机码。

     

    

    SET PASSWORD = PASSWORD('ycmedia_2014');

    默认mysql不会生成 /etc/my.cnf 文件,cp  /usr/my.cnf  /etc/my.cnf 

    2) 配置MySql 自身的一些参数,和 CDH 没任何关系。只着重强调了一下 max_connections 的值。建议是 数据库数*100+50。大集群(50台以上)建议必须分开放。

     过程: vi /etc/my.cnf ,修改哪些参数,参考上面那个链接。只为一般性目的的可直接跳过此步骤。

    3) 建数据库,授权。需要哪些库呢,免费版:amon、hmon、hive、smon、scm(Cloudera Manager 自身,我自己命名的)

      这些库的名字其实是可以自定义的。其它都是官网示例的名字,就这样吧。保持一致。只有最后一个库是我自己命名的。

    create database hive   DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

    create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;    

    create database smon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;   

    create database hmon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;   

    给用户授权,类似如下:

    grant all on *.* to root@"%" Identified by "123456";

 

 5 关闭防火墙 和 SELinux

  关闭防火墙:

    service iptables stop (临时关闭)

    chkconfig iptables off (重启后生效)

  关闭SELINUX:

    setenforce 0 (临时生效)  

    修改 /etc/selinux/config 下的 SELINUX=disabled (重启后永久生效) 

 

正式开工

1 安装 Cloudera Manager Server 和 Agents 

  解压压缩包:

    tar xzf /opt/package/cloudera-manager*.tar.gz -C /opt/; mv /opt/cm-4.8.1 /opt/cloudera-manager-4.8.1

  添加 cloudera-scm 用户 

    useradd --system --home=/opt/cloudera-manager-4.8.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

  为了方便,下面称 /opt/cloudera-manager-4.8.1 为 <tarball root>

  修改<tarball root>/etc/cloudera-scm-agent/config.ini  下面的 server_port 和 server_host ,把server_port 改成ClouderaManager运行的主机名或ip, 默认server_port 端口是 7182

  Cloudera Manager 会在下面目录保存一些玩意。

  

2 为Cloudera Manager 建立数据库

  

  建立数据库前要下载 jdbc驱动,放到 <tarball root>/share/cmf/lib/ 下。

  生成数据库

<tarball root>/share/cmf/schema/scm_prepare_database.sh mysql scm  -hlocalhost -uroot -p123456  --scm-host localhost scm scm scm

  格式是:  scm_prepare_database.sh 数据库类型  数据库 服务器 用户名 密码  --scm-host  Cloudera_Manager_Server所在的机器  ....... 

  后面那三个不知道代表什么,直接照抄官网的了。详细说明:

  

 

3 开启Cloudera Manager Server 端

  在你上面安装的那台机器上开启Server端:

    

<tarball root>/etc/init.d/cloudera-scm-server start

  设置成开机启动:

    cp <tarball root>/etc/init.d/cloudera-scm-server /etc/init.d/cloudera-scm-server
    chkconfig cloudera-scm-server on

4 开启Cloudera Manager Agents 端

  先SCP <tarball root> 到所有机器上 ,然后在每台机器上开启Agents端:

sudo <tarball root>/etc/init.d/cloudera-scm-agent start

  设置开机启动:

  cp <tarball root>/etc/init.d/cloudera-scm-agent /etc/init.d/cloudera-scm-agent
  chkconfig cloudera-scm-agent on

5 启动 Cloudera Manager 管理控制台

  地址类似  http://example.com:7180/ ,默认端口是 7180,如果上面没改的话。

  用户名密码都是 admin

   

至此:Cloudera Manager 安装完毕。

------------------------------------------------------------------------------------分割线不够华丽----------------------------------------------------------------------------------

----------------------------------------------------------------------------------此处需要华丽分割线--------------------------------------------------------------------------------

 

6  准备Parcels,用以安装 CDH

  将前面下载的CDH 和 IMPALA 放到 /opt/cloudera/parcel-repo 下,再生成 sha 文件,

  sha文件参照 http://archive.cloudera.com/cdh4/parcels/latest/manifest.json 里面,和每个文件是对应的。把 hash 值拿出来即可,最简单当然是直接计算一下就ok了。

  

     

  

   获取更多信息参阅: Using Parcels

 

7 开始从界面安装 CDH4

  从界面登陆后,选择版本

  

  可以注意到,CDH以前的版本是有最大50个节点限制的,现在没有限制了。继续。

 

  

  继续。

 

 此处需要特别关注,我们明明有N台服务器的,现在只有一台,why ? 是因为我一开始在启动Cloudera Manager Agents 时没有修改 server_host=localhost ,

   vi ./etc/cloudera-scm-agent/config.ini  改成Cloudera Manager  server所在机器名。再重新启动agent( 在 <tarball root> 下  ./etc/init.d/cloudera-scm-agent restart)

   现在所有机器都有了。点击继续。

 

我们选择Parcels 方式,继续。会安装cdh impala solr . 几分钟内应该就完成了。取决于你内网传输速度。

 

  继续。

 

 

选择要安装的服务,特别注意,红框处【检查角色分配】,太不起眼啦!!! 曾经没注意,有点郁闷。点击分配角色。分配好后,继续,当然后期还是可以改的。。

 

测试连接的时候必须成功才能继续,这个地方,有可能会出现,在本地 root + 密码 是可以登陆上 mysql 的,这里测试时却会失败。主要还是因为对于root 的用户比较复杂。

因为你的root 帐户本质上可能是下图这样的,这个地方我对mysql理解的也不深,大意应该就是本地用的虽然也是root ,那是实质上并非同一个用户。

不管三七二十一,统统授权了。

grant all on *.* to root@"yc01" Identified by "123456" ; 
grant all on *.* to root@"localhost" Identified by "123456" ; 
grant all on
*.* to root@"127.0.0.1" Identified by "123456" ;

另外此处有个备注,可观注下。比如说对于某个monitor,在前面我们分配角色时,分到了某一台机器,那么数据库最好也是在同一台机器。

 

点击继续。

 

修改成合适自己的配置。继续之前做下面两个操作。因为下一步HIVE的安装会失败,要提前把 jdbc包放到hive的各lib目录下。如

scp mysql-connector-java-5.1.28.jar root@yc02:/opt/cloudera/parcels/CDH-4.5.0-1.cdh4.5.0.p0.30/lib/hive/lib/

HUE也可能失败,报错如下:

不知道是什么包,所以一开始直接这么搞了:

yum -y install libxslt* libxml2

 

 

耐心等待所有启动成功。 

 

 

恭喜您,安装成功,下一步开始你的Hadoop之旅!

转载请注明出处:http://www.cnblogs.com/thinkCoding/p/3567408.html

 

 

 


转自:http://www.cnblogs.com/thinkCoding/p/3567408

相关问答

更多

linux怎么用cloudera-manager安装cloudera-cdh5

网速太慢, 可以在内网自建一个安装源服务器, 然后修改安装源,把它指内网的服务器完成安装。 网上有很多教程教你如何离纯安装hadoop。

cloudera manager vs Apache(cloudera manager vs Apache)

正如您所提到的,Cloudera Manager和Ambari提供两种类型的服务,安装和监控。 Ambari是开源apache项目。 Hortonworks使用其分发提供支持和服务。 您也可以使用puppet / chef进行安装,并使用Ganglia进行监控。 Ambari内部仅使用这些工具。 As you have mentioned Cloudera Manager and Ambari provides 2 types of services, installation and then ...

CDH 4.1.1。(CDH 4.1.1. Hive JDBC connection)

好的,所以CDH 4.1.1演示映像确实运行了Hive Thrift服务器作为服务。 如果我们正在与Cloudera经理免费托管的CDH集群合作,我们必须这样做: 转到Cloodera经理免费(CMFree) *服务” 服务hue1»* 填写该字段: Hive配置安全阀 <property> <name>hive.server2.thrift.min.worker.threads</name> <value>5</value> </property> <property> <name>hive. ...

CDH管理器在Azure VM中。(CDH Manager in Azure VM. Can't reach CDH Manager's Web portal)

你应该检查如下步骤: 1.使用netstat -ant|grep 7180 ,请确保服务正在运行并在端口7180上运行。 2.如果服务未运行,您可以检查登录/var/log/cloudera-manager-installer 。 3.在VM的防火墙上打开端口7180。 sudo firewall-cmd --zone=public --add-port=7180/tcp --permanent 注意:您似乎已经在Azure NSG上打开了端口7180,我建议您可以再次检查。 You shoul ...

EC2 Redhat Cloudera Manager CDH群集安装|(EC2 Redhat Cloudera Manager CDH Cluster Installation | Hostname Could Not Be Resolved)

在Cloudera Manager中我为“CDH群集安装指定主机”的屏幕上,我尝试输入我的ec2实例地址ec2-xx-xx-xx-xx.compute-1.amazonaws.com,而不是主机IP 。 我现在可以解决这个问题了。 所以,如果你有类似的问题,试试吧。 On the screen where I "Specify hosts for you CDH cluster installation" in the Cloudera Manager, I tried entering my e ...

Cloudera Manager CDH群集安装失败(Cloudera Manager CDH cluster installation failed)

我的错误,我的主机名配置错了。 its my mistake,my hostname configuration was wrong.

如何自动配置Cloudera Manager?(How to auto configure Cloudera Manager?)

Cloudera Manager具有完整的REST API,可让您以编程方式通过UI执行任何操作。 API细节在这里: http : //cloudera.github.io/cm_api/ Cloudera Manager has a full REST API that allows you to programmatically do anything that can do through the UI. API details are here: http://cloudera.gith ...

尝试安装Cloudera Manager 5时,Oozie依赖项不正确(Incorrect Oozie dependencies when trying to install Cloudera Manager 5)

事实证明,其中一个较旧的sources.list文件中存在拼写错误。 一旦这被替换,我就可以运行apt-get update,然后给出了不同的错误。 看起来它试图阻止oozie服务并遇到语法错误。 运行服务oozie stop给出了同样的错误。 然后进入initscript /etc/init.d/oozie并取出给出语法错误的行。 最后,我能够运行apt-get update,卸载冲突的oozie版本并重新安装Trusty版本。 Turns out there was a typo in one ...

Cloudera CDH上的Impala“无法创建日志文件:权限被拒绝”(Impala on Cloudera CDH “Could not create logging file: Permission denied”)

从调试二进制文件运行impala,如下所述: https://issues.cloudera.org/browse/IMPALA-160 似乎与内核12.04.1 LTS中的JVM有关 原始答案: https : //groups.google.com/a/cloudera.org/forum/?fromgroups = #! topic / impala-user / 4MRZYbn5hI0 Run impala from debug binaries as described here: ht ...

cloudera manager只能一次检查一个主机(cloudera manager can only inspect one host at a time)

我找到了它,它在/ var / lib / cloudera-scm / agent / uuid中 I found it, it's in /var/lib/cloudera-scm/agent/uuid