关于CDH和Cloudera Manager
CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,并集成了很多补丁,可直接用于生产环境。
Cloudera Manager则是为了便于在集群中进行Hadoop等大数据处理相关的服务安装和监控管理的组件,对集群中主机、Hadoop、Hive、Spark等服务的安装配置管理做了极大简化。
系统环境 安装说明官方共给出了3中安装方式:第一种方法必须要求所有机器都能连网,由于最近各种国外的网站被墙的厉害,我尝试了几次各种超时错误,巨耽误时间不说,一旦失败,重装非常痛苦。第二种方法下载很多包。第三种方法对系统侵入性最小,最大优点可实现全离线安装,而且重装什么的都非常方便。后期的集群统一包升级也非常好。这也是我之所以选择离线安装的原因。
相关包的下载地址CDH安装包地址:,由于我们的操作系统为CentOS6.5,需要下载以下文件:
CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel
CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel.sha1
manifest.json
注意:与CDH4的不同,原来安装CDH4的时候还需要下载IMPALA、Cloudera Search(SOLR),CDH5中将他们包含在一起了,所以只需要下载一个CDH5的包就可以了。
准备工作:系统环境搭建以下操作均用root用户操作。
1. 网络配置(所有节点)vi /etc/sysconfig/network修改hostname:
NETWORKING=yes HOSTNAME=n1通过service network restart重启网络服务生效。
vi /etc/hosts,修改ip与主机名的对应关系
192.168.1.106 n1 192.168.1.107 n2 192.168.1.108 n3注意:这里需要将每台机器的ip及主机名对应关系都写进去,本机的也要写进去,否则启动Agent的时候会提示hostname解析错误。
2.打通SSH,设置ssh无密码登陆(所有节点)在主节点上执行ssh-keygen -t rsa一路回车,生成无密码的密钥对。
将公钥添加到认证文件中:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,并设置authorized_keys的访问权限:chmod 600 ~/.ssh/authorized_keys。
scp文件到所有datenode节点:
scp ~/.ssh/authorized_keys root@n2:~/.ssh/测试:在主节点上ssh n2,正常情况下,不需要密码就能直接登陆进去了。
3.安装Oracle的Java(所有节点)CentOS,自带OpenJdk,不过运行CDH5需要使用Oracle的Jdk,需要Java 7的支持。
卸载自带的OpenJdk,使用rpm -qa | grep java查询java相关的包,使用rpm -e --nodeps 包名卸载之。
去Oracle的官网下载jdk的rpm安装包,并使用rpm -ivh 包名安装之。
由于是rpm包并不需要我们来配置环境变量,我们只需要配置一个全局的JAVA_HOME变量即可,执行命令:
echo "JAVA_HOME=/usr/java/latest/" >> /etc/environment 4.安装配置MySql(主节点)通过yum install mysql-server安装mysql服务器。chkconfig mysqld on设置开机启动,并service mysqld start启动mysql服务,并根据提示设置root的初试密码:mysqladmin -u root password 'xxxx'。
mysql -uroot -pxxxx进入mysql命令行,创建以下数据库:
#hive create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci; #activity monitor create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;设置root授权访问以上所有的数据库:
#授权root用户在主节点拥有所有数据库的访问权限 grant all privileges on *.* to 'root'@'n1' identified by 'xxxx' with grant option; flush privileges;官方MySql配置文档:
5.关闭防火墙和SELinux注意: 需要在所有的节点上执行,因为涉及到的端口太多了,临时关闭防火墙是为了安装起来更方便,安装完毕后可以根据需要设置防火墙策略,保证集群安全。
关闭防火墙:
service iptables stop (临时关闭) chkconfig iptables off (重启后生效)