本帖最后由 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
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个文件) | Name | Last modified | Size | Description |
| | Parent Directory | | | | | cloudera-manager-agent-5.0.2-1.cm502.p0.297.el6.x86_64.rpm | | | | | cloudera-manager-daemons-5.0.2-1.cm502.p0.297.el6.x86_64.rpm | | | | | cloudera-manager-server-5.0.2-1.cm502.p0.297.el6.x86_64.rpm | | | | | cloudera-manager-server-db-2-5.0.2-1.cm502.p0.297.el6.x86_64.rpm | | | | | enterprise-debuginfo-5.0.2-1.cm502.p0.297.el6.x86_64.rpm | | | | | jdk-6u31-linux-amd64.rpm | | | | | oracle-j2sdk1.7-1.7.0+update45-1.x86_64.rpm | | | |
|
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. 添加服务时会提示依赖的服务是否已经安装
|