分享

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

pig2 发表于 2014-9-9 16:21:06 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 10 126307
本帖最后由 pig2 于 2014-9-18 12:00 编辑

问题导读
1.如何配置yum?
2.运行./cloudera-manager-installer.bin之后,yum会产生什么文件?
3.Cloudera Manager安装CDH有哪两种?







0.集群规划
说明:由于CDH可以方便的动态添加删除主机,动态改变主机上的服务,所以后面再对各机器上跑得服务进行分配。
共三台机器
操作系统: centos6.5
机器名:work01、work02、work03
work03运行Cloudera Manager

1.关闭防火墙 和 SELinux
说明:如果不关闭,集群间通信可能会出问题,造成服务不能正常启动。生产环境如果要做为在线服务还是需要。
  1.1 关闭防火墙:
    service iptables stop (临时关闭)
    chkconfig iptables off(重启后生效)

  1.2 关闭SELINUX:
    setenforce 0 (临时生效)(这个方法我没有运行成功)  
    修改 /etc/selinux/config 下的 SELINUX=disabled (重启后永久生效 )该方法测试有效。
查看selinux状态:/usr/sbin/sestatus -v
注意:三台机器都需要进行相同操作

2. FQDN 修改主机名
说明:
a. 三台机器都需要进行相同操作
b./etc/sysconfig/network 配置对应的主机名
c./etc/hosts 三台机器内容相同,来实现三台机器相互可以通过主机名访问
d. 如果机器较多可以通过配置DNS服务器来解析主机名

  1)修改/etc/sysconfig/network文件
NETWORKING=yes    
HOSTNAME=work01

  2)修改/etc/hosts文件
192.168.1.185 work01 work01
192.168.1.141 work02 work02
192.168.1.198 work03 work03
  3)重启网络服务后生效:service network restart
测试中重启网络服务会断网,而且不会自动连接,需要点击一下连接图标才能再次连接,请谨慎操作

3. 集群间机器无密码ssh登录
说明:
a. 机器之间会通过ssh拷贝一些文件,发送一些服务启动命令,建立集群间的无密码ssh登录,不用你每次启动服务都输入一大堆密码了。
b. 貌似Cloudera Manager已经管理登录密码了,这一步可能可以跳过,感兴趣的可以试试。
c. ssh无密码登录原理是生成一对公钥和密钥,把公钥给别人,别人就可有无密码访问自己了。比如A把生成的公钥给B那B就可以无密码访问A了。
d.生成的公钥为id_rsa.pub,将要访问的机器公钥保存在authorized_keys文件中
e.为了保存多台机器的公钥,以追加的方式添加到authorized_keys中

1)work01机器上切换root帐号
su

2)生成root帐号在work01上的密钥和公钥
ssh-keygen -t rsa
一路回车下去生成公钥id_rsa.pub和密钥id_rsa

3)生成root帐号在work02、work03上的密钥和公钥

4)将work02和work03上的公钥文件拷贝到work01上
[root@work02 ~]#scp ~/.ssh/id_rsa.pub root@work01:~/.ssh/work02.pub
[root@work03 ~]# scp ~/.ssh/id_rsa.pub root@work01:~/.ssh/work03.pub
拷贝时注意区分文件名

5)将work01、work02和work03三台机器的公钥都加入work01的authorized_keys文件中
catid_rsa.pub >>authorized_keys
cat work02.pub >>authorized_keys
catwork03.pub >>authorized_keys

6)将work01上的authorized_keys文件拷贝到work02、work03上
[root@work01 ~]# scp ~/.sshauthorized_keys root@work02:~/.ssh/
[root@work01 ~]# scp ~/.sshauthorized_keys root@work03:~/.ssh/
注意:无密码登录只对生成公钥的帐号有效,注意这里产生公钥的帐号要与之后需要远程启动服务的帐号一致

4.yum源配置
说明:系统自带的yum源在国外,安装软件时会很慢,配置国内的yun源,可以提高安装速度
1)进入yum源配置目录
cd /etc/yum.repos.d

2)备份系统自带的yum源
mv CentOS-Base.repo CentOS-Base.repo.bk

3)下载163的yum源:
mv CentOS6-Base-163.repo CentOS-Base.repo

4)更新完yum源后,执行下边命令更新yum配置,使操作立即生效
yum makecache
yum clean all

5. 下载CDH parcels安装包
说明:
a. centos 6.x应用的CDH版本为CDH-xxxx-el6.parcel,centos 5.x应用的CDH版本为CDH-xxxx-el5.parcel
b. Cloudera Manager 会自动下载该文件,由于网速问题下载过程很慢,可能持续数个小时,而且一旦出错会从头下载,提前下载可以加快安装速度,配置方法第7步介绍

下载 CDH-5.1.0-1.cdh5.1.0.p0.53-el6.parcel
和 manifest.json

6. 安装 Cloudera Manager
说明:
a. Cloudera Manager的安装文件会自动下载所需要的rpm文件,但是由于这些文件的yum源在国外所以安装过程很慢,因此这里通过手动下载这些rpm文件来提高下载速度。
b. 需要先运行Cloudera Manager的安装文件得到需要的rpm文件的地址

6.1下载cloudera Manager 安装文件

6.2 运行Cloudera Manager 安装文件
chmod u+x cloudera-manager-installer.bin
./cloudera-manager-installer.bin

6.3 得到需要安装的rmp文件的下载地址
1)进入 yum 源目录
cd /etc/yum.repos.d

2)查看cloudera-manager yum 源文件是否已经下载下来
多了一个 cloudera-manager.repo 文件

3)得到rpm下载地址
cat cloudera-manager.repo
其中rpm下载地址为:baseurl=http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5/

6.4 关闭Cloudera Manager安装向导
1)关闭 cloudera-manager-installer.bin
2)杀掉 Cloudera Manager安装向导 启动的yum进程
ps aux|grep yum(得到cm安装向导启动的yum的进程号)
kill xxxx (按进程号杀掉相应进程)

6.5 手动下载相应的rpm文件(一共7个文件)
NameLast modifiedSizeDescription

Parent Directory

-

cloudera-manager-agent-5.0.2-1.cm502.p0.297.el6.x86_64.rpm

11-Jun-2014 18:09

3.7M

cloudera-manager-daemons-5.0.2-1.cm502.p0.297.el6.x86_64.rpm

11-Jun-2014 18:09

315M

cloudera-manager-server-5.0.2-1.cm502.p0.297.el6.x86_64.rpm

11-Jun-2014 18:09

8.0K

cloudera-manager-server-db-2-5.0.2-1.cm502.p0.297.el6.x86_64.rpm

11-Jun-2014 18:09

9.6K

enterprise-debuginfo-5.0.2-1.cm502.p0.297.el6.x86_64.rpm

11-Jun-2014 18:09

669K

jdk-6u31-linux-amd64.rpm

11-Jun-2014 18:09

68M

oracle-j2sdk1.7-1.7.0+update45-1.x86_64.rpm

11-Jun-2014 18:09

131M




6.6 手动安装下载的 rpm文件
yum localinstall --nogpgcheck *.rpm

6.7 再次运行Cloudera Manager安装文件
运行中出现了两个错误,分别是:
1)问题描述:fatal erro
解决方法:rm -rf /usr/share/cmf/
2)问题描述:Installation failed. Failed to start Embedded Service and Configuration Database,See vim /var/log/cloudera-manager-installer/5.start-embedded-db.log for details.
bash: /usr/share/cmf/bin/initialize_embedded_db.sh: No such file or directory
解决方法:重启安装向导错误没有复现

7. 配置CDH parcels包
说明:
a. 使用Cloudera Manager安装CDH 也有两种方式,一种是使用rpm包,另一种是使用parcels包,本测试使用parcels包
b. Cloudera Manager 会自动下载需要的parcels包,但是因为连接的是国外站点速度会很慢
c. 配置第5步下载的CDH parcels文件可以使Cloudera Manager直接读取本地的parcels文件

7.1 将前面下载的CDH parcels文件放到 /opt/cloudera/parcel-repo 目录下
7.2 生成对应的sha文件
1)在第5步下载的 manifest.json 文件中按照版本“CDH-5.1.0-1.cdh5.1.0.p0.53-el6.parcel”找到对应的 hash值
"hash": "67fc4c86b260eeba15c339f1ec6be3b59b4ebe30"
2)hash值保存在sha文件中
echo '67fc4c86b260eeba15c339f1ec6be3b59b4ebe30'>CDH-5.1.0-1.cdh5.1.0.p0.53-el6.parcel.sha

8. 启动Cloudera Manager
说明:

a. 按照Cloudera Manager安装向导的提示在浏览其中打开Cloudera Manager
b. 第一次启动会有CDH安装向导,按照向导来进行配置即可
安装中出现如下问题,具体解决方式见 “问题列表” 问题1:
python -c 'import socket; import sys; s = socket.socket(socket.AF_INET); s.settimeout(5.0); s.connect(("localhost", int(7182))); s.close();'

9. 添加服务
说明:
a. 本次测试只安装了HDFS和HBase
b. 可以使用Cloudera Manager快速的添加和卸载服务 c. 添加服务时会提示依赖的服务是否已经安装

已有(10)人评论

跳转到指定楼层
Joker 发表于 2014-12-9 09:36:27
版主有没有CDH32位的Ubnutu安装包?
回复

使用道具 举报

dulei 发表于 2014-12-17 09:55:44
回复

使用道具 举报

igscn 发表于 2015-4-15 09:54:36
y请问楼主,我运行manager直接结束了,是什么原因呢
回复

使用道具 举报

Hzerppen 发表于 2015-12-15 19:09:33
你这个方法。。。。我不想说太多!  我只想跟你讨论一下如何离线向集群 添加多个新主机,欢迎交流(qq:652274049)
回复

使用道具 举报

starwind18 发表于 2016-4-8 10:45:42
请问教程用root用户创建ssh免密登录会不会出问题,之前我看的教程都是要求用hadoop用户
回复

使用道具 举报

zj220223 发表于 2016-11-24 18:08:43
Joker 发表于 2014-12-9 09:36
版主有没有CDH32位的Ubnutu安装包?

UBUNTU的安装包怎么理解。。。
安装包不都是tar.gz和parce格式吗。。。
回复

使用道具 举报

zj220223 发表于 2016-11-24 18:09:37
starwind18 发表于 2016-4-8 10:45
**** 作者被禁止或删除 内容自动屏蔽 ****

root是必须的 并且到界面的时候有一部是设置root的
回复

使用道具 举报

444897768 发表于 2017-7-27 17:38:51
                                      /tmp/scm_prepare_node.O2Gpdoic
                                                using SSH_CLIENT to get the SCM hostname: 172.16.13.42 41833 22
                                                opening logging file descriptor
                           
        正在启动安装脚本...                            正在获取安装锁...                                        BEGIN flock 4
                                                END (0)
                           
        正在检测根权限...                                        effective UID is 0
                           
        正在检测分配...                                        BEGIN grep Tikanga /etc/redhat-release
                                                END (1)
                                                BEGIN grep 'CentOS release 5' /etc/redhat-release
                                                END (1)
                                                BEGIN grep 'Scientific Linux release 5' /etc/redhat-release
                                                END (1)
                                                BEGIN grep Santiago /etc/redhat-release
                                                END (1)
                                                BEGIN grep 'CentOS Linux release 6' /etc/redhat-release
                                                END (1)
                                                BEGIN grep 'CentOS release 6' /etc/redhat-release
                                                CentOS release 6.5 (Final)
                                                END (0)
                                                /etc/redhat-release ==> CentOS 6
                           
        正在检测 Cloudera Manager Server...                                        BEGIN host -t PTR 172.16.13.42
                                                ;; connection timed out; no servers could be reached
                                                END (1)
                                                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();' 172.16.13.42 7182
                                                END (0)
                                                BEGIN which wget
                                                /usr/bin/wget
                                                END (0)
                                                BEGIN wget -qO- -T 1 -t 1 http://169.254.169.254/latest/meta-data/public-hostname && /bin/echo
                                                END (4)
                           
        正在安装包存储库...                                        validating format of repository file /tmp/scm_prepare_node.O2Gpdoic/repos/rhel6/cloudera-manager.repo
                                                installing repository file /tmp/scm_prepare_node.O2Gpdoic/repos/rhel6/cloudera-manager.repo
                                                repository file /tmp/scm_prepare_node.O2Gpdoic/repos/rhel6/cloudera-manager.repo installed
                           
        正在刷新包元数据...                                        BEGIN yum clean all
                                                Loaded plugins: downloadonly, fastestmirror, security
                                                Cleaning repos: RHEL cloudera-manager
                                                Cleaning up Everything
                                                Cleaning up list of fastest mirrors
                                                END (0)
                                                BEGIN rm -Rf /var/cache/yum/x86_64
                                                END (0)
                                                BEGIN yum makecache
                                                Loaded plugins: downloadonly, fastestmirror, security
                                                https://archive.cloudera.com/cm5 ... epodata/repomd.xml: [Errno 14] PYCURL ERROR 6 - "Couldn't resolve host 'archive.cloudera.com'"
                                                Trying other mirror.
                                                Error: Cannot retrieve repository metadata (repomd.xml) for repository: cloudera-manager. Please verify its path and try again
                                                END (1)
                           
        正在安装 cloudera-manager-agent 包...                                        BEGIN yum list installed cloudera-manager-agent
                                                Loaded plugins: downloadonly, fastestmirror, security
                                                Error: No matching Packages to list
                                                END (1)
                                                BEGIN yum info cloudera-manager-agent
                                                Loaded plugins: downloadonly, fastestmirror, security
                                                Determining fastest mirrors
                                                https://archive.cloudera.com/cm5 ... epodata/repomd.xml: [Errno 14] PYCURL ERROR 6 - "Couldn't resolve host 'archive.cloudera.com'"


aaaaaaaaa.PNG
回复

使用道具 举报

444897768 发表于 2017-7-27 17:39:27

/tmp/scm_prepare_node.O2Gpdoic
using SSH_CLIENT to get the SCM hostname: 172.16.13.42 41833 22
opening logging file descriptor
正在启动安装脚本...
正在获取安装锁...
BEGIN flock 4
END (0)
正在检测根权限...
effective UID is 0
正在检测分配...
BEGIN grep Tikanga /etc/redhat-release
END (1)
BEGIN grep 'CentOS release 5' /etc/redhat-release
END (1)
BEGIN grep 'Scientific Linux release 5' /etc/redhat-release
END (1)
BEGIN grep Santiago /etc/redhat-release
END (1)
BEGIN grep 'CentOS Linux release 6' /etc/redhat-release
END (1)
BEGIN grep 'CentOS release 6' /etc/redhat-release
CentOS release 6.5 (Final)
END (0)
/etc/redhat-release ==> CentOS 6
正在检测 Cloudera Manager Server...
BEGIN host -t PTR 172.16.13.42
;; connection timed out; no servers could be reached
END (1)
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();' 172.16.13.42 7182
END (0)
BEGIN which wget
/usr/bin/wget
END (0)
BEGIN wget -qO- -T 1 -t 1 http://169.254.169.254/latest/meta-data/public-hostname && /bin/echo
END (4)
正在安装包存储库...
validating format of repository file /tmp/scm_prepare_node.O2Gpdoic/repos/rhel6/cloudera-manager.repo
installing repository file /tmp/scm_prepare_node.O2Gpdoic/repos/rhel6/cloudera-manager.repo
repository file /tmp/scm_prepare_node.O2Gpdoic/repos/rhel6/cloudera-manager.repo installed
正在刷新包元数据...
BEGIN yum clean all
Loaded plugins: downloadonly, fastestmirror, security
Cleaning repos: RHEL cloudera-manager
Cleaning up Everything
Cleaning up list of fastest mirrors
END (0)
BEGIN rm -Rf /var/cache/yum/x86_64
END (0)
BEGIN yum makecache
Loaded plugins: downloadonly, fastestmirror, security
https://archive.cloudera.com/cm5 ... epodata/repomd.xml: [Errno 14] PYCURL ERROR 6 - "Couldn't resolve host 'archive.cloudera.com'"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: cloudera-manager. Please verify its path and try again
END (1)
正在安装 cloudera-manager-agent 包...
BEGIN yum list installed cloudera-manager-agent
Loaded plugins: downloadonly, fastestmirror, security
Error: No matching Packages to list
END (1)
BEGIN yum info cloudera-manager-agent
Loaded plugins: downloadonly, fastestmirror, security
Determining fastest mirrors
https://archive.cloudera.com/cm5 ... epodata/repomd.xml: [Errno 14] PYCURL ERROR 6 - "Couldn't resolve host 'archive.cloudera.com'"
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条