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
注意:三台机器都需要进行相同操作
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/
注意:无密码登录只对生成公钥的帐号有效,注意这里产生公钥的帐号要与之后需要远程启动服务的帐号一致
1)进入yum源配置目录
cd /etc/yum.repos.d
2)备份系统自带的yum源
mv CentOS-Base.repo CentOS-Base.repo.bk
3)下载163的yum源:
wget http://mirrors.163.com/.help/CentOS-Base-163.repo
mv CentOS6-Base-163.repo CentOS-Base.repo
3)更新完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步介绍
下载链接:http://archive.cloudera.com/cdh5/parcels/latest/
6. 安装 Cloudera Manager
说明:
a. Cloudera Manager的安装文件会自动下载所需要的rpm文件,但是由于这些文件的yum源在国外所以安装过程很慢,因此这里通过手动下载这些rpm文件来提高下载速度。
b. 需要先运行Cloudera Manager的安装文件得到需要的rpm文件的地址
6.1下载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
-
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
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
11-Jun-2014 18:09
669K
11-Jun-2014 18:09
68M
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
安装中出现如下问题,具体解决方式见 “问题列表” 问题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. 添加服务
参考文档:
说明:尽量把所有的参考文档都列了出来,如果有遗漏欢迎提醒。Cloudera Manager 和CDH 4 终极安装http://www.tuicool.com/articles/AnuiUra
ClouderaManager和CDH4安装:http://wenku.baidu.com/link?url=SOOI3r56NN7Un55Z3jsNprQp9PpOc-F8_ByXPJ7v4GJmAioEMLM6vL0Hkc2c0HSxztlWWvPOA13Grs1vf2-0wJdbueQfbEAvuNbGIldxxou
CDH套件半手动安装流程http://www.douban.com/note/352772895/
使用yum安装CDH Hadoop集群(cdh5 禁用ipv6、hostname设置、设置yum源、时钟同步): http://blog.javachen.com/2013/04/06/install-cloudera-cdh-by-yum/
查看 SELinux状态及关闭SELinux:http://bguncle.blog.51cto.com/3184079/957315
CentOS6.5中修改yum源:http://www.cnblogs.com/liuling/p/2014-4-14-001.html
问题列表:
描述:
DNS反向解析错误,不能正确解析Cloudera Manager Server主机名
日志:
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
不优雅的解决方案:
将连不上的机器 /usr/bin/host 文件删掉
BEGIN host -t PTR 192.168.1.198
/tmp/scm_prepare_node.8OX5y7is/scm_prepare_node.sh: line 100: /usr/bin/host: 权限不够
END (126)
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();' 192.168.1.198 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)
说明:
不明白cloudera的初衷,这里已经得到 Cloudera Manager Server的ip了,却还要把ip解析成主机名来连接
由于DNS反向解析没有配置好,根据Cloudera Manager Server 的ip解析主机名却得到了localhost,造成之后的连接错误
这里的解决方案是直接把/usr/bin/host删掉,这样Cloudera Manager就会直接使用 ip进行连接,就没有错了
参考:
cloudera manager 4.8 添加设备DNS反向解析有关问题
http://www.reader8.cn/jiaocheng/20140419/2307406.html
问题 2.1
问题描述:
Bad Health --Clock Offset
The host's NTP service did not respond to a request for the clock offset.
解决:
配置NTP服务
步骤参考:
CentOS配置NTP Server:
http://www.hailiangchen.com/centos-ntp/
国内常用NTP服务器地址及IP
http://www.douban.com/note/171309770/
修改配置文件:
[root@work03 ~]# vim /etc/ntp.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server s1a.time.edu.cn prefer
server s1b.time.edu.cn
server s1c.time.edu.cn
restrict 172.16.1.0 mask 255.255.255.0 nomodify <===放行局域网来源
启动ntp
#service ntpd restart <===启动ntp服务
客户端同步时间(work02,work03):
ntpdate work01
说明:NTP服务启动需要大约五分钟时间,服务启动之前,若客户端同步时间,则会出现错误“no server suitable for synchronization found”
定时同步时间:
在work02和 work03上配置crontab定时同步时间
crontab -e
00 12 * * * root /usr/sbin/ntpdate 192.168.56.121 >> /root/ntpdate.log 2>&1
问题 2.2
描述:
Clock Offset
- Ensure that the host's hostname is configured properly.
- Ensure that port 7182 is accessible on the Cloudera Manager Server (check firewall rules).
- Ensure that ports 9000 and 9001 are free on the host being added.
- Check agent logs in /var/log/cloudera-scm-agent/ on the host being added (some of the logs can be found in the installation details).
问题定位:
解决:
在对应host(work02、work03)上运行 'ntpdc -c loopinfo'
[root@work03 work]# ntpdc -c loopinfo
ntpdc: read: Connection refused
开启ntp服务:
三台机器都开机启动 ntp服务
chkconfig ntpd on
问题 3 heartbeat:
错误信息:
Installation failed. Failed to receive heartbeat from agent.
解决:关闭防火墙
问题 4 Unknow Health:
Unknow Health
重启后:Request to theHost Monitor failed.
service --status-all| grep clo
机器上查看scm-agent状态:cloudera-scm-agent dead but pid file exists
解决:重启服务
service cloudera-scm-agent restartservice cloudera-scm-server restart
问题 5 canonial name hostname consistent:
Bad Health
The hostname and canonical name for this host are not consistent when checked from a Java process.
canonical name:
4092 Monitor-HostMonitor throttling_logger WARNING (29 skipped) hostname work02 differs from the canonical name work02.xinzhitang.com
解决:修改hosts 使FQDN和 hostname相同
ps:虽然解决了但是不明白为什么主机名和主机别名要一样
/etc/hosts
192.168.1.185 work01 work01
192.168.1.141 work02 work02
192.168.1.198 work03 work03
问题 6 Concerning Health:
Concerning Health Issue
-- Network Interface Speed --
描述:The host has 2 network interface(s) that appear to be operating at less than full speed. Warning threshold: any.
详细:
This is a host health test that checks for network interfaces that appear to be operating at less than full speed.
A failure of this health test may indicate that network interface(s) may be configured incorrectly and may be causing performance problems. Use the ethtool command to check and configure the host's network interfaces to use the fastest available link speed and duplex mode.
解决:
本次测试修改了 Cloudera Manager 的配置,应该不算是真正的解决
相关推荐
cm5 cdh5 安装
CDH5提供了高效的数据存储、处理和分析功能,适合大规模数据处理场景。 首先,安装Hadoop CDH5前需要进行一系列的准备工作。这包括规划好你的集群架构,例如确定多少台服务器将作为数据节点或名称节点,并确保这些...
### CDH5离线安装与配置详解 #### 一、CDH5简介 **CDH**(Cloudera's Distribution including Apache Hadoop)是由Cloudera公司维护并开发的一个Hadoop发行版。它基于Apache Hadoop的稳定版本构建,并集成了大量的...
本教程将详细介绍如何在CDH5(Cloudera Distribution Including Apache Hadoop)平台上安装并配置Phoenix,确保在实际开发环境中顺畅运行。 一、Phoenix下载与安装 首先,你需要从官方镜像站点下载Phoenix的对应...
大数据平台CDH6.2.0安装部署 大数据平台CDH6.2.0安装部署是指使用Cloudera Manager 6.2.0版本安装和部署大数据平台的过程。该过程包括安装Cloudera Manager Server、配置MySQL数据库、部署CDH Parcel文件、配置...
在这个CDH5.14的安装过程中,我们将关注如何在CentOS7.4环境下离线安装CDH,同时包括Spark2和Kafka。 首先,你需要下载以下组件: 1. JDK:这是Java Development Kit,用于运行和开发Java应用程序,CDH中的服务依赖...
《CDH5简要安装教程》 CDH5(Cloudera Distribution Including Apache Hadoop, Version 5)是Cloudera公司提供的一款基于Apache Hadoop的开源大数据平台,包含了Hadoop生态系统中的多个组件,如HDFS、MapReduce、...
cdh7.1.7包括: CDH-7.1.7-1.cdh7.1.7.p0.15945976-el7.parcel CDH-7.1.7-1.cdh7.1.7.p0.15945976-el7.parcel.sha1 CDH-7.1.7-1.cdh7.1.7.p0.15945976-el7.parcel.sha256 manifest.json cm7.4.7包括: cloudera-...
在本文中,我们将深入探讨HBase的安装过程及其在CDH环境中的集成。HBase是Apache Hadoop生态系统中的一个核心组件,它是一个分布式、版本化的、支持列族的NoSQL数据库,特别适合处理大规模的数据存储。CDH(Cloudera...
3. **安装过程**:在安装CDH5-Phoenix时,通常需要先确保已经安装了CDH5,并且HBase服务已经正常运行。然后,可以通过Cloudera Manager添加Phoenix服务,按照向导步骤进行配置,包括设置JDBC驱动路径、配置Phoenix...
本篇将详细阐述使用Cloudera Manager在CDH5上安装和配置Hive、HBase、Impala以及Spark的服务步骤。 **一、安装前准备工作** 在开始安装CDH5之前,确保完成以下准备工作: 1. **下载安装所需文件**:这包括...
5. CDH集群管理 在CDH安装和配置完成后,需要管理CDH集群。包括: * 节点管理:使用Cloudera Manager管理CDH集群的节点。 * 服务管理:使用Cloudera Manager管理CDH集群的服务。 通过以上步骤,即可完成CDH5.12.2...
1、cdh6.3.2安装部署文档; 2、cdh6.3.2 cm6.3.1安装包
4. **运行安装脚本**:使用`./cloudera-manager-installer.bin`启动安装过程,按照提示进行操作,选择安装Cloudera Manager和CDH5。 5. **配置Manager服务器**:安装完成后,需要在Web浏览器中输入服务器IP和默认...
5. **安装注意事项**:CDH6.0不兼容CDH5.12,升级前需备份数据,且不能直接平滑升级。 三、学习与交流 这些安装文档不仅适用于初次安装,也适用于集群扩展和故障排查。通过学习这些文档,你可以掌握大数据集群的...
### CDH上安装Spark2的操作说明 #### 一、引言 随着大数据处理技术的不断发展,Apache Spark作为一款快速、通用的大数据处理引擎,在实际应用中的需求也日益增长。为了更好地利用Spark的强大功能,有时我们需要在...