Centos6.7 + CDH5.4.5 集群环境离线安装

来源:互联网 发布:数据透视并列显示 编辑:程序博客网 时间:2024/05/19 14:34

一、集群系统环境准备

1. 环境介绍

  • 机器IP及hostname配置:
192.168.58.44 cdh1 192.168.58.45 cdh2 192.168.58.46 cdh3
  • 集群内所以机器以root用户安装,使用统一密码 **
  • 操作系统: Centos6.7
  • CDH版本:CDH-5.4.5

2. 安装文件准备:

CDH下载 | Cloudrea Manager5下载

文件 下载链接 CDH-5.4.5-1.cdh5.4.5.p0.7-el6.parcel 点击下载 CDH-5.4.5-1.cdh5.4.5.p0.7-el6.parcel.sha1 点击下载 cloudera-manager-agent-5.4.5-1.cm545.p0.5.el6.x86_64.rpm 点击下载 cloudera-manager-daemons-5.4.5-1.cm545.p0.5.el6.x86_64.rpm 点击下载 cloudera-manager-el6-cm5.4.5_x86_64.tar.gz 点击下载 manifest.json 点击下载 jdk-7u80-linux-x64.tar.gz 点击下载 mysql-5.5.50-linux2.6-x86_64.tar.gz 点击下载 mysql-connector-java-5.1.25.jar 点击下载

注:支持系统及JDK版本参考官网

3. hostname配置

 编辑/etc/sysconfig/network,修改hostname, (需重启使其生效)

NETWORKING=yesHOSTNAME=qbcdhserv1 // 每台机器给出不同机器名

4. hosts文件修改

 修改集群内所有机器/etc/hosts文件, 添加如下配置 (需重启使其生效)

192.168.58.44 cdh1 192.168.58.45 cdh2 192.168.58.46 cdh3

 修改/etc/selinux/config文件 ,将SELINUX=enforcing改为SELINUX=disabled

这里写图片描述

5. 检查系统防火墙

  • 首先查看防火墙状态:
[root@cdh1 .ssh]# service iptables status iptables: Firewall is not running.    //已经关闭
  • 关闭防火墙
service iptables stop
  • 永久性生效,重启后不会复原
Chkconfig iptables off   //永久关闭

6. 硬盘挂载(如果有)

  • 检查系统是否有未挂载硬盘: fdisk -l
[root@i-A4A21CB9 ~]# fdisk -l    //查看硬盘分区信息Disk /dev/vda: 64.4 GB, 64424509440 bytes //第一块硬盘(vda)大小16 heads, 63 sectors/track, 124830 cylindersUnits = cylinders of 1008 * 512 = 516096 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x000afe6b//第一块硬盘分成三个区 vda1 vda2  vda3    Device Boot      Start         End      Blocks   Id  System/dev/vda1   *           3         409      204800   83  LinuxPartition 1 does not end on cylinder boundary./dev/vda2             409       17053     8388608   82  Linux swap / SolarisPartition 2 does not end on cylinder boundary./dev/vda3           17053      124831    54320128   83  LinuxPartition 3 does not end on cylinder boundary.Disk /dev/vdb: 536.9 GB, 536870912000 bytes  //第二块硬盘(vdb)大小16 heads, 63 sectors/track, 1040253 cylindersUnits = cylinders of 1008 * 512 = 516096 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x650ed6ce//第二块硬盘未分区   Device Boot      Start         End      Blocks   Id  System
  • 给第二块硬盘vdb创建分区 :fdisk /dev/vdb ,进入分区交互对话状态. 键入m命令可以查看此交换状态的命令帮助,其中n:创建分区 d:删除分区 p:打印分区信息 w:保存
[root@i-6CBF585F ~]# fdisk  /dev/vdbWARNING: DOS-compatible mode is deprecated. It's strongly recommended to         switch off the mode (command 'c') and change display units to         sectors (command 'u').Command (m for help): mCommand action   a   toggle a bootable flag   b   edit bsd disklabel   c   toggle the dos compatibility flag   d   delete a partition  //删除一个分区    l   list known partition types   m   print this menu   n   add a new partition   //增加一个分区    o   create a new empty DOS partition table   p   print the partition table  //打印分区信息   q   quit without saving changes   //退出交互状态    s   create a new empty Sun disklabel   t   change a partition's system id   u   change display/entry units   v   verify the partition table   w   write table to disk and exit   //将所有的操作写入磁盘即保存   x   extra functionality (experts only) Command (m for help): 
  • 输入n增加一个分区:
Command (m for help): n     //增加一个分区Command action   e   extended                            //扩展分区   p   primary partition (1-4)      //主分区 e   //输入的e键,即创建一个扩展分区 Partition number (1-4): 1        //分区的id号,此为第一个分区First cylinder (1-1040253, default 1): //分区的起始柱面大小,默认直接回车就行 Using default value 1  //默认卷标Last cylinder, +cylinders or +size{K,M,G} (1-1040253, default 1040253):Using default value 1040253Command (m for help): p    //打印分区信息Disk /dev/vdb: 536.9 GB, 536870912000 bytes16 heads, 63 sectors/track, 1040253 cylindersUnits = cylinders of 1008 * 512 = 516096 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0xc5d68871//分区信息列表 刚刚创建的为扩展分区,   Device Boot      Start         End      Blocks   Id  System/dev/vdb1               1     1040253   524287480+   5  ExtendedCommand (m for help): n   l   logical (5 or over)    p   primary partition (1-4)l    //接下来在扩展分区上创建逻辑分区First cylinder (1-1040253, default 1): //分区的起始柱面大小,默认直接回车就行Using default value 1Last cylinder, +cylinders or +size{K,M,G} (1-1040253, default 1040253):Using default value 1040253Command (m for help): p   //打印分区信息Disk /dev/vdb: 536.9 GB, 536870912000 bytes16 heads, 63 sectors/track, 1040253 cylindersUnits = cylinders of 1008 * 512 = 516096 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0xc5d68871//一个扩展分区,在扩展分区上的逻辑分区     Device Boot      Start         End      Blocks   Id  System/dev/vdb1               1     1040253   524287480+   5  Extended/dev/vdb5               1     1040253   524287449   83  LinuxCommand (m for help): w    //w保存修改The partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.
  • 在新分区上建立文件系统(格式化)
mkfs.ext4  /dev/vdb5
  • 手动分区挂载到系统中
[root@i-6CBF585F ~]# mkdir  /data1            //创建要挂载的目标目录[root@i-6CBF585F ~]# mount /dev/vdb5  /data1  //手动挂载到创建的目录 
  • 修改系统配置,开机自动挂载。将挂载信息写入/etc/fstab文件中
root@i-6CBF585F ~]# vim /etc/fstab  //编辑# /etc/fstabtmpfs     /dev/shm  tmpfs   defaults        0 0devpts    /dev/pts  devpts  gid=5,mode=620  0 0sysfs     /sys      sysfs   defaults        0 0proc      /proc     proc    defaults        0 0/dev/vdb5 /data1    ext4    defaults        0 0
  • 检查挂载是否成功:输入df -h 列出磁盘分区
[root@i-6CBF585F ~]# df -h Filesystem      Size  Used Avail Use% Mounted on/dev/vda3        51G  2.2G   47G   5% /tmpfs            32G     0   32G   0% /dev/shm/dev/vda1       190M   40M  141M  22% /boot/dev/vdb5       493G   70M  467G   1% /data1

二、JDK安装(集群内机器都要安装)

1、卸载系统自带JDK

  • 查看已安装版本:java -version
[root@cdh3 tools]# java -versionjava version "1.7.0_79"OpenJDK Runtime Environment (rhel-2.5.5.4.el6-x86_64 u79-b14)OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)[root@cdh3 tools]# 
  • 查看相关安装包: rpm -qa | grep openjdk
[root@cdh3 tools]# rpm -qa | grep openjdkjava-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.x86_64java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.x86_64[root@cdh3 tools]# 
  • 卸载系统自带JDK安装包
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.x86_64rpm -e --nodeps  java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.x86_64

2、安装自选版本JDK

  • 将下载的JDK解压到指定目录:/usr/java
tar -zxvf jdk-7u80-linux-x64.gz -C /usr/javachown -R  root   /usr/java/jdk1.7.0_80 
  • 配置环境变量,修改/etc/profile 文件增加以下内容
export JAVA_HOME=/usr/java/jdk1.7.0_80export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
  • 生效 profile(或重启机器)
source /etc/profile(只对当前终端有效,最好重启系统)
  • 检查是否安装成功 :终端输入 java -version
[root@cdh3 usr]# java -versionjava version "1.7.0_80"Java(TM) SE Runtime Environment (build 1.7.0_80-b15)Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)[root@cdh3 usr]# 

三、mysql安装(只安装在master节点)

1. 删除系统自带版本

  • 检查当前系统是否已安装 : rpm -qa | grep -i mysql
[root@cdh1 software]# rpm -qa|grep -i mysqlmysql-libs-5.1.73-5.el6_6.x86_64[root@cdh1 software]# 
  • 删除已经安装
rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64

2. 添加mysql组和mysql用户

  • 用于设置mysql安装目录文件所有者和所属组。
groupadd mysql //添加用户组useradd -r -g mysql mysql// -r参数表示mysql用户是系统用户,不可用于登录系统。

3. 解压安装

  • 解压到指定的安装目录,我们这里指定为/usr/local。
tar -zxvf /data1/bxji/software/tools/mysql-5.5.50-linux2.6-x86_64.tar.gz -C  /usr/local
  • 解压后在/usr/local/生成了解压后的文件夹mysql-5.5.50-linux2.6-x86_64,这名字太长,我们为它建立一个符号链接mysql,方便输入。
[root@cdh1 local]# cd /usr/local [root@cdh1 local]# ln -s mysql-5.5.50-linux2.6-x86_64/  mysql
  • 改mysql所在的目录所属的组和用户,为之前创建的mysql用户。
chown -R mysql /usr/local/mysql-5.5.50-linux2.6-x86_64 chgrp -R mysql /usr/local/mysql-5.5.50-linux2.6-x86_64chown -R mysql mysqlchgrp -R mysql mysql

4. 数据库初始化

  • 执行mysql_install_db脚本,对mysql中的data目录进行初始化并创建一些系统表格。注意mysql服务进程mysqld运行时会访问data目录,所以必须由启动mysqld进程的用户(就是我们之前设置的mysql用户)执行这个脚本,或者用root执行,但是加上参数--user=mysql
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
  • mysql/目录下除了data/目录的所有文件,改回root用户所有,mysql用户只需作为mysql/data/目录下所有文件的所有者。
chown -R root /usr/local/mysql-5.5.50-linux2.6-x86_64 chown -R mysql /usr/local/mysql-5.5.50-linux2.6-x86_64/data
  • 复制配置文件到/etc/my.cnf
cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

5. 设置开机自启动项

  • 将mysqld服务加入开机自启动项。

  首先需要将scripts/mysql.server服务脚本复制到/etc/init.d/,并重命名为mysqld。

cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld

  通过chkconfig命令将mysqld服务加入到自启动服务项中。注意服务名称mysqld就是我们将mysql.server复制到/etc/init.d/时重命名的名称

chkconfig --add mysqld

  查看是否添加成功:chkconfig --list mysqld

[root@cdh1 mysql-5.5.50-linux2.6-x86_64]# chkconfig --list mysqldmysqld         0:off 1:off 2:on 3:on 4:on 5:on 6:off

  重启系统,mysqld就会自动启动了。

  • 直接手动启动
service mysqld start

6. 添加系统环境变量

  • 配置环境变量,修改/etc/profile 文件增加以下内容
export  MYSQL_HOME=/usr/local/mysql export PATH=$PATH:$MYSQL_HOME/bin

  使 profile生效,执行命令source /etc/profile(当前终端生效), 这样就可以在shell中直接输入mysql命令来启动客户端程序了。

7. 修改root用户密码

  进入mysql客户端口命令行,用root用户登录后,执行如下命令,修改root密码为hadoop

use mysql;UPDATE user SET password=PASSWORD('hadoop') WHERE user='root';FLUSH PRIVILEGES;

8. 修改字符集utf-8

  使用 SHOW VARIABLES LIKE 'character_set_%';查看,发现数据库编码均已改成utf8,说明就不需要修改了。

Variable_name Value character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results utf8 character_set_server utf8 character_set_system utf8 character_sets_dir D:”mysql-5.0.37”share”charsets”

使用mysql的命令,修改mysql默认字符集的方法:

mysql> SET character_set_client = utf8 ;  mysql> SET character_set_connection = utf8 ;   mysql> SET character_set_database = utf8 ;   mysql> SET character_set_results = utf8 ;    mysql> SET character_set_server = utf8 ;   mysql> SET collation_connection = utf8 ;  mysql> SET collation_database = utf8 ;   mysql> SET collation_server = utf8 ;

四、配置SSH免密码登陆

  我用的是root用户,每台服务器都生成公钥,合并到authorized_keys后,分发到集群内各节点 。

1. 生成公钥/私钥

  在集群内每台机器上生成公钥/私钥对,执行命令

 ssh-keygen -t rsa -P ''

P表示密码, -P ” 就表示空密码, 也可以不用-P参数, 这样就要个车回车, 用-P就一次回车

  这里写图片描述

  在当前用户目录/root下生成.ssh目录, .ssh下有id_rsaid_rsa.pub

2. 收集所有公钥写入authorized_keys

  将cdh1、 cdh2 生成公钥文件/root/.ssh/id_rsa.pub复制到cdh1下, 在cdh1机的.ssh/authorized_keys文件里

  在cdh1上,新建authorized_keys文件, 并修改权限为600

touch /root/.ssh/authorized_keys      chmod 600 /root/.ssh/authorized_keys  //authorized_keys的权限要是600 

  分别复件cdh2、cdh3密钥文件到cdh1

scp /root/.ssh/id_rsa.pub root@192.168.58.45:/root/.ssh/cdh2_id_rsa.pub // cdh2 机器上执行scp /root/.ssh/id_rsa.pub root@192.168.58.46:/root/.ssh/cdh3_id_rsa.pub  // cdh3 机器上执行

  将复制来的密钥添加到authorized_keys

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keyscat /root/.ssh/cdh2_id_rsa.pub >> /root/.ssh/authorized_keyscat /root/.ssh/cdh3_id_rsa.pub >> /root/.ssh/authorized_keys

3. 分发authorized_keys到集群内节点

  将cdh1上的authorized_keys文件, 分发到集群内其它机器

scp /root/.ssh/authorized_keys root@192.168.58.45:/root/.ssh/authorized_keysscp /root/.ssh/authorized_keys root@192.168.58.46:/root/.ssh/authorized_keys

4. 测试配置是否成功

  测试集群间机器ssh免密码登陆:第一次要输入 yes

ssh 192.168.58.44

五、安装NTP服务

  集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。 具体思路如下 :

  • master节点作为ntp服务器与外界对时中心同步时间,随后对所有datanode节点提供时间同步服务。
  • 所有datanode节点以master节点为基础同步时间。

1. 安装ntp服务

  查看是否已经安装:

rpm -qa | grep ntp

  如果已安装就不需要再安装了,如果没安装,使用:yum install ntp安装

2. 设置开机启动

chkconfig ntpd on

3. 修改/etc/ntp.conf:

  将restrict default kod nomodify notrap nopeer noquery注释掉,这个对客户端的限制太多。添加,restrict default nomodify notrust(允许任何IP的客户机都可以进行时间同步)以允许所有客户端获取时间数据。notrust参数的功能是并需通过认证才能同步,也就是客户端同步命令中必须有keyidkey才能通过。

  注释掉所有的trustedkey, 添加 trustedkey 1 2 3,后边指定数字任意,但必须与/etc/ntp/keys文件中的 值保持一致。也就是说1 2 3 这三个数分别作为认证 的 keyid。

  配置时间源, 指定同步参考的服务器时间。如果连接不了外网就把所有外网时间服务器都注释掉。

server 192.168.58.44 // 局域网(GA网)内,客户机(slaver)配置为集群内master服务器IPserver ntp.api.bz               // 连接不了外网就注释掉server 2.centos.pool.ntp.org    // 连接不了外网就注释掉

  加如下配置项目,以让NTP Server和其自身保持同步,如果在/ntp.conf中定义的server都不可用时,将使用local时间作为ntp服务提供给ntp客户端。 客户端不需要配置,只在服务端配置即可。

server  127.127.1.0     # local clock    //服务端如果连接不了外网,使用本地时间提供给客户端同步fudge   127.127.1.0 stratum 2

  最后保存退出.

4. 修改/etc/ntp/keys文件(集群内所在节点)

  添加如下配置, 前面的数字必须与 /etc/ntp.conf 文件中 trustedkey 后边指定的数字一致才行,字符串任意。

1 M gao2 M tian3 M di

5. 修改时区

rm -f  /etc/localtimecp -f /usr/share/zoneinfo/Asia/Shanghai   /etc/localtime

6. 重启 ntp 服务 :

service ntpd restart

  要注意ntp的重启是有延迟的,所以有的时候重启以后没发现修改配置生效,是因为这个延迟导致的, 这是因为NTP server还没有和其自身或者它的server同步上。

  如果集群内所在节点都安装了NTP服务,服务端时间源外网时间源不可用时,可与本地时间同步,且客户端时间源配置了集群内服务端,那么启动所有节点NTP服务,集群内节点即可实现时间同步。

  如果客户端NTP服务未启动,或者未配置集群内时间源,可通过执行 ntpdate<ntp server> 来同步,我们只要指定与master节点同步就可以了。

  手动在集群内所客户端系统上执行 ntpdate 192.168.58.44 ,测试服务器是否成功配置, 成功返回:

ntpdate[15522]: adjust time server 192.168.84.29 offset 0.290456 sec

六、安装Cloudera Manager 5(master)

1. 解压到/opt目录

  上传并解压cloudera-manager-el6-cm5.4.5_x86_64.tar.gz到master(cdh1)节点/opt目录下(不能解压到其他地方,因为cdh5的源会默认在/opt/cloudera/parcel-repo寻找)

tar -zxvf /data1/bxji/software/tools/ cloudera-manager-el6-cm5.4.5_x86_64.tar.gz  -C /opt

2. 添加mysql驱动

  将mysql驱动 mysql-connector-java-5.1.25.jar 放到/opt/cm-5.4.5/share/cmf/lib/目录, CM连接mysql数据需要提供jdbc驱动。(已有)

cp /data1/bxji/software/tools/mysql-connector-java-5.1.25.jar /opt/cm-5.4.5/share/cmf/lib/

3. 给所有节点添加cloudera-scm用户

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

4. 修改cloudera-scm-agent配置

  修改/opt/cm-5.4.5/etc/cloudera-scm-agent/config.ini 下面的serer_host为主节点的hostname

5. 初始化mysql数据库

  进入mysql数据库控制台,创建以下数据库

--hive数据库 create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci ;--集群监控数据库create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci ;--hue数据库create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;-- oozie数据库create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

  检查创建的数据库:

mysql> show databases;
Database information_schema amon hive hue mysql performance_schema test

  以上数据库,可能会根据安装组件的不同略有差别。 给root用户授权(密码为hadoop),后面安装CDH组件hive、hue、集群监控时要用到这里设置 的用户及密码。

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

6. 为Cloudera Manager 5建立数据库

  格式:scm_prepare_database.sh [数据库类型] [数据库] [主节点服务器] [用户名] [密码] [–scm-host Cloudera_Manager_Server所在的机器] 后面那三个直接照抄官网。

[root@qbcdhserv1 ~]# /opt/cm-5.4.5/share/cmf/schema/scm_prepare_database.sh mysql cm -hqbcdhserv1 -uroot -phadoop  --scm-host qbcdhserv1  scm  scm  scmJAVA_HOME=/usr/java/jdk1.7.0_67Verifying that we can write to /opt/cm-5.4.5/etc/cloudera-scm-serverCreating SCM configuration file in /opt/cm-5.4.5/etc/cloudera-scm-serverExecuting:  /usr/java/jdk1.7.0_67/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/opt/cm-5.4.5/share/cmf/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /opt/cm-5.4.5/etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.[main] DbCommandExecutor      INFO  Successfully connected to database.All done, your SCM database is configured correctly!

7. 开启Cloudera Manager 5 Server端

/opt/cm-5.4.5/etc/init.d/cloudera-scm-server  start

注意server首次启动不要立即关闭或重启,因为首次启动会自动创建相关表以及数据,如果因为特殊原因中途退出,请先删除所有表以及数据之后再次启动,否则将会出现启动不成功的情况。

8. 开启Cloudera Manager 5 Agents端

  将主节点/opt/cm-5.4.5集群内分发scp/opt/cm-5.4.5到所有datanode节点上,然后在每台机器上开启Agents端:

scp -r /opt/cm-5.4.5  root@192.168.58.45:/opt scp -r /opt/cm-5.4.5  root@192.168.58.46:/opt 

  在所有datanode节点上,创建cloudera-scm-agent目录,否则启动报错。

mkdir /opt/cm-5.4.5/run/cloudera-scm-agent

  在所有datanode节点上,启动(注意必须以管理员权限启动)

sudo /opt/cm-5.4.5/etc/init.d/cloudera-scm-agent start

9. 浏览器登录Cloudera Manager 5 控制台

  浏览器启动Cloudera Manager 5 控制台(默认端口号是7180),启动成功就会看到登陆页面。http://192.168.58.44:7180/cmf/login 初次登录 用户名:admin 密码:admin

七、安装CDH5(master)

1. 制作CDH本地安装源

  下载完成后,将文件放到master(cdh1)节点的 /opt/cloudera/parcel-repo

cp /data1/bxji/software/tools/ CDH-5.4.5-1.cdh5.4.5.p0.7-el6.parcel /opt/cloudera/parcel-repocp /data1/bxji/software/tools/ CDH-5.4.5-1.cdh5.4.5.p0.7-el6.parcel.sha1 /opt/cloudera/parcel-repocp /data1/bxji/software/tools/manifest.json  /opt/cloudera/parcel-repo 

  新建文件命名为:CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel.sha, 与下载的文件只是后缀名不同

cp /opt/cloudera/parcel-repo/ CDH-5.4.5-1.cdh5.4.5.p0.7-el6.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.4.5-1.cdh5.4.5.p0.7-el6.parcel.sha  

  重启cloudera-scm-server 以识别安装源

sudo /opt/cm-5.4.5/etc/init.d/cloudera-scm-server  restart

2. 正式安装CDH

  • 登陆控制http://192.168.58.44:7180
  • 选择Hadoop及其组件安装选择Cloudera版本, 这里选择安装免费版
  • 选择主机, 这里要保证所有agents节点服务都启动了,才能检测到受控节点
  • 选择安装方式(因为我们是离线安装,Cloudera推荐使用Parcel)
  • 将安装源分发到集群所有主机
  • 选择要安装的服务组件
  • 组件数据库设置

    这里数据库存用户名root,密码之前修改为haoop。如果报mysql数据驱动没找到,就需要上载获取到组件lib目录。

  • 集群基本参数配置。

    这里有几个重要的目录配置,作为hdfs根目录应该指向存储空间较大的硬盘目录(本次安装环境磁盘空间都在/根路径,这里就不修改了)

  • 下一步继续,启动集群
  • 安装成功

常见问题

1. Mysql驱动程序找不到

在安装hive、oozie等需要访问数据库组件时,经常遇到java.lang.ClassNotFoundException: com.mysql.jdbc.Drive。这是因为组件默认lib库存下无驱动jar,需要手动将mysql驱动 mysql-connector-java-5.1.25.jar 放到组件对应的lib目录。如:/opt/cloudera/parcels/CDH-5.4.5-1.cdh5.4.5.p0.7/lib/hive/lib/目录。如果不知道对应的组件在哪个节点,那么最好是所有节点都上传驱动jar。

cp /data1/bxji/software/tools/mysql-connector-java-5.1.25.jar /opt/cloudera/parcels/CDH-5.7.0-1.cdh5.7.0.p0.45/lib/hive/lib

2. Oozie安装创建数据表找不到驱动

  将驱动复制到安装节点的:/var/lib/oozie 目录

cp  /data1/bxji/software/tools/mysql-connector-java-5.1.25.jar   /var/lib/oozie

注意再次重启机器后,启动cloudera-scm-servercloudera-scm-agent会报JAVA_HOMEI没有配置,解决办法如下:修改/opt/cm-5.7.0/etc/defaultcloudera-scm-servercloudera-scm-agent配置文件,添加java环境变量,并将两个文件分发到所有集群。

export JAVA_HOME=/usr/jdk1.7.0_80export PATH=$JAVA_HOME/bin;$PATHexport CLASSPATH=$JAVA_HOME/lib/dt.jar;$JAVA_HOME/lib/tools.jar;$JAVA_HOME/jre/lib/rt.jar

相关链接:
cloudera(CDH)官网介绍:安装包、离线包该如何下载、官方文档等介绍
Cloudera Manager、CDH零基础入门、线路指导
Cloudera Manager (centos)安装详细介绍

原创粉丝点击