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

本文详细介绍了如何在Centos6.7环境下,离线安装CDH5.4.5 HADOOP集群。从系统环境准备、JDK安装、mysql安装、SSH免密码登陆、NTP服务配置,到Cloudera Manager 5的安装,最后到CDH5的部署,每个步骤都有详尽的操作指南,包括文件准备、配置修改、服务启动等,适合线下环境搭建Hadoop集群的初学者参考。
摘要由CSDN通过智能技术生成

 

 

 

 

Centos6.7 +CDH5.4.5

HADOOP集群环境离线安装

 

 

 

 

 

 

版本历史:

日期

版本

描述

作者

2016-06-11

1.0

CDH5.5.7离线安装

 

2016-07-11

2.0

CDH5.4.5 HADOOP 重新编写


    
    

  

 

 

 

 

 

 


 

目录

Centos6.7 + CDH5.4.5.1

HADOOP 集群环境离线安装...1

一、集群系统环境准备...4

1.       环境介绍...4

2.       安装文件准备:...4

3.       hostname配置...4

4.       hosts文件修改...5

5.       检查系统防火墙...5

6.       硬盘挂载(如果有)...6

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

卸载系统自带JDK.10

安装自选版本JDK.11

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

1.    下载安装包...13

2.    删除系统自带版本...13

3.    添加mysql组和mysql用户...13

4.    解压安装...13

5.    数据库初始化...14

6.    设置开机自启动项...15

7.    添加系统环境变量...16

8.    修改root用户密码...17

四、配置SSH免密码登陆...17

1.    生成公钥/私钥...17

2.    收集所有公钥写入authorized_keys.18

3.    分发authorized_keys到集群内节点...19

4.    测试配置是否成功...19

五、安装NTP服务(集群内所有节点)...20

1.    安装ntp服务...20

2.    设置开机启动: chkconfig  ntpd   on.20

3.    修改/etc/ntp.conf:...20

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

5.    修改时区...22

6.       重启 ntp 服务  :22

六、安装Cloudera Manager 5(master...23

1.    下载Cloudera Manager 5 安装文件...23

2.    解压到/opt目录...23

3.    添加mysql驱动...23

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

5.    修改cloudera-scm-agent配置...24

6.    初始化mysql数据库...24

7.    为Cloudera Manager 5建立数据库...25

8.    开启Cloudera Manager 5 Server端:...26

9.    开启Cloudera Manager 5 Agents端。...26

l    将主节点/opt/cm-5.4.5集群内分发... 26

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

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

七、安装CDH5(master...27

1.    下载安装源...27

2.    制作CDH本地安装源...29

3.    正式安装CDH..30

n    登陆控制http://192.168.58.93:7180,... 30

n    选择Hadoop及其组件安装选择Cloudera版本,  这里选择安装免费版... 30

n    选择主机, 这里要保证所有agents节点服务都启动了,才能检测到受控节点。... 31

n    选择安装方式... 31

n    将安装源分发到集群所有主机... 32

n    选择要安装的服务组件... 32

n    组件数据库设置... 32

n    集群基本参数配置。... 33

n    下一步继续,启动集群... 35

n    安装成功... 35

常见问题...36

1.    Mysql驱动程序找不到...36

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

 


 

一、集群系统环境准备

1.环境介绍

l  机器IP及hostname配置:

192.168.58.93 cdh1

192.168.58.94 cdh2

192.168.58.94 cdh3

 

l  集群内所以机器以root用户安装,使用统一密码 ******

l  操作系统:  Centos6.7

l  CDH版本:CDH-5.4.5

2.安装文件准备:

 

3.hostname配置

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

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

 

4.hosts文件修改

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

192.168.58.93 cdh1

192.168.58.94 cdh2

192.168.58.94 cdh3

 

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




 

5.检查系统防火墙

l  首先查看防火墙状态:

[root@cdh1 .ssh]# service iptables status 

iptables: Firewall is not running.    //已经关闭

l  关闭防火墙

service iptables stop  

l  永久性生效,重启后不会复原

chkconfigiptables off   //永久关闭

 

        

6.硬盘挂载(如果有)

l  检查系统是否有未挂载硬盘: fdisk -l

[root@i-A4A21CB9 ~]# fdisk -l    //查看硬盘分区信息

Disk /dev/vda: 64.4 GB, 64424509440 bytes //第一块硬盘(vda)大小

16 heads, 63 sectors/track, 124830 cylinders

Units = cylinders of 1008 * 512 = 516096 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x000afe6b

//第一块硬盘分成三个区 vda1 vda2  vda3 

   Device Boot      Start         End      Blocks   Id  System

/dev/vda1   *           3         409      204800   83  Linux

Partition 1 does not end on cylinder boundary.

/dev/vda2             409       17053     8388608   82  Linux swap / Solaris

Partition 2 does not end on cylinder boundary.

/dev/vda3           17053      124831    54320128   83  Linux

Partition 3 does not end on cylinder boundary.

 

Disk /dev/vdb: 536.9 GB, 536870912000 bytes  //第二块硬盘(vdb)大小

16 heads, 63 sectors/track, 1040253 cylinders

Units = cylinders of 1008 * 512 = 516096 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x650ed6ce

//第二块硬盘未分区

   Device Boot      Start         End      Blocks   Id  System



l  给第二块硬盘vdb创建分区 :fdisk /dev/vdb ,进入分区交互对话状态. 键入m命令可以查看此交换状态的命令帮助,其中n:创建分区  d:删除分区 p:打印分区信息  w:保存

[root@i-6CBF585F ~]# fdisk  /dev/vdb

 

WARNING: 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): m

Command 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): 

l  输入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 1040253

Command (m for help): p    //打印分区信息

Disk /dev/vdb: 536.9 GB, 536870912000 bytes

16 heads, 63 sectors/track, 1040253 cylinders

Units = cylinders of 1008 * 512 = 516096 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xc5d68871



//分区信息列表 刚刚创建的为扩展分区,

   Device Boot      Start         End      Blocks   Id  System

/dev/vdb1               1     1040253   524287480+   5  Extended

Command (m for help): n

   l   logical (5 or over) 

   p   primary partition (1-4)

l    //接下来在扩展分区上创建逻辑分区

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 1040253

Command (m for help): p   //打印分区信息

Disk /dev/vdb: 536.9 GB, 536870912000 bytes

16 heads, 63 sectors/track, 1040253 cylinders

Units = cylinders of 1008 * 512 = 516096 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xc5d68871

//一个扩展分区,在扩展分区上的逻辑分区  

   Device Boot      Start         End      Blocks   Id  System

/dev/vdb1               1     1040253   524287480+   5  Extended

/dev/vdb5               1     1040253   524287449   83  Linux

Command (m for help): w    //w保存修改

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

l  在新分区上建立文件系统(格式化)

mkfs.ext4  /dev/vdb5               

l  手动分区挂载到系统中

[root@i-6CBF585F ~]# mkdir  /data1            //创建要挂载的目标目录

[root@i-6CBF585F ~]# mount /dev/vdb5  /data1  //手动挂载到创建的目录 

l  修改系统配置,开机自动挂载。将挂载信息写入/etc/fstab文件中

root@i-6CBF585F ~]# vim /etc/fstab  //编辑

 

# /etc/fstab

tmpfs     /dev/shm  tmpfs   defaults        0 0

devpts    /dev/pts  devpts  gid=5,mode=620  0 0

sysfs     /sys      sysfs   defaults        0 0

proc      /proc     proc    defaults        0 0

/dev/vdb5 /data1    ext4    defaults        0 0

 

l  检查挂载是否成功:输入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安装(集群内机器都要安装)



卸载系统自带JDK

l  查看已安装版本:java -version

[root@cdh3 tools]# java -version

java 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]# 

 

l  查看相关安装包: rpm -qa | grepopenjdk

[root@cdh3 tools]# rpm -qa | grep openjdk

java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.x86_64

java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.x86_64

[root@cdh3 tools]# 

 

l  卸载系统自带JDK安装包

rpm -e --nodeps java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.x86_64
rpm -e --nodeps  java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.x86_64



安装自选版本JDK

l  宫方下载新版本:http://www.oracle.com/technetwork/java/javase/downloads

 

l  下载到指定目录:/data1/bxji/software/tools/

l  解压到指定目录:/usr/java

tar -zxvf   /data1/bxji/software/tools/jdk-7u80-linux-x64.gz  -C /usr/java

chown -R  root   /usr/java/jdk1.7.0_80 

 

l  配置环境变量,修改/etc/profile 文件增加以下内容

export JAVA_HOME=/usr/java/jdk1.7.0_80
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar


 

l  生效 profile(或重启机器)

source /etc/profile(只对当前终端有效,最好重启系统)

 

l  检查是否安装成功 :终端输入 java -version

[root@cdh3 usr]# java -version

java 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.    下载安装包

官方下载地址:http://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.50-linux2.6-x86_64.tar.gz 

2.    删除系统自带版本

l  检查当前系统是否已安装 : rpm -qa | grep -i mysql

[root@cdh1 software]# rpm -qa|grep -i mysql

mysql-libs-5.1.73-5.el6_6.x86_64

[root@cdh1 software]# 

 

l  删除已经安装

rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64

3.    添加mysql组和mysql用户

用于设置mysql安装目录文件所有者和所属组。

groupadd mysql //添加用户组

useradd -r -g mysql mysql// -r参数表示mysql用户是系统用户,不可用于登录系统。

4.    解压安装 

l  解压到指定的安装目录,我们这里指定为/usr/local。

tar -zxvf /data1/bxji/software/tools/mysql-5.5.50-linux2.6-x86_64.tar.gz -C  /usr/local

l   解压后在/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



l  更改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_64

chown -R mysql mysql

chgrp -R mysql mysql

5.    数据库初始化

l  执行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

l  将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

l  复制配置文件到/etc/my.cnf

cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

6.    设置开机自启动项

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

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

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

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

chkconfig --add mysqld

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

[root@cdh1 mysql-5.5.50-linux2.6-x86_64]# chkconfig --list mysqld

mysqld         0:off 1:off 2:on 3:on 4:on 5:on 6:off

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

l  直接手动启动

service mysqld start

 

7.    添加系统环境变量

l  配置环境变量,修改/etc/profile 文件增加以下内容

export  MYSQL_HOME=/usr/local/mysql 

export PATH=$PATH:$MYSQL_HOME/bin

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

 

8.    修改root用户密码

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

use mysql;

UPDATE user SET password=PASSWORD('hadoop') WHERE user='root';

FLUSH PRIVILEGES;

 

四、配置SSH免密码登陆

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

1.    生成公钥/私钥

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

 ssh-keygen -t rsa -P ''

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



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

 

2.    收集所有公钥写入authorized_keys

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

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

touch /root/.ssh/authorized_keys      

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

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

scp /root/.ssh/id_rsa.pub root@192.168.58.93:/root/.ssh/cdh2_id_rsa.pub // cdh2机器上执行

scp /root/.ssh/id_rsa.pub root@192.168.58.93:/root/.ssh/cdh3_id_rsa.pub  // cdh3机器上执行

n  查看cdh1上, 已复制的文件

 

l  将复制来的密钥添加到authorized_keys

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



3.    分发authorized_keys到集群内节点

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

scp /root/.ssh/authorized_keys root@192.168.58.94:/root/.ssh/authorized_keys

scp /root/.ssh/authorized_keys root@192.168.58.95:/root/.ssh/authorized_keys

4.    测试配置是否成功

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

 

 


五、安装NTP服务(集群内所有节点)

集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。 具体思路如下 :1.  master节点作为ntp服务器与外界对时中心同步时间,随后对所有datanode节点提供时间同步服务。2. 所有datanode节点以master节点为基础同步时间。

1.   安装ntp服务

n  查看是否已经安装:rpm -qa | grep ntp。如果已安装就不需要再安装了。

 

n  如果没安装,使用:  yum install ntp   安装

2.    设置开机启动: chkconfig  ntpd   on

3.    修改/etc/ntp.conf

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

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

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

server 192.168.58.93 //局域网(GA)内,客户机(slaver配置为集群内master服务器IP

server ntp.api.bz               //连接不了外网就注释掉

server 2.centos.pool.ntp.org  //连接不了外网就注释掉



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

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

fudge   127.127.1.0 stratum 2

 

n  最后保存退出



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

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

1 M gao

2 M tian

3 M di

5.    修改时区

rm -f  /etc/localtime

cp -f /usr/share/zoneinfo/Asia/Shanghai   /etc/localtime

 

6.重启 ntp 服务 :

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

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

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

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

 成功返回:ntpdate[15522]: adjust time server 192.168.84.29 offset 0.290456 sec

 


六、安装Cloudera Manager 5(master)

1.    下载ClouderaManager 5安装文件

l  下载地址:http://archive.cloudera.com/cm5/cm/5/ ,根据自己的系统选择相应的版本,本次安装选用的是cloudera-manager-el6-cm5.4.5_x86_64.tar.gz  。

2.    解压到/opt目录

l  上传并解压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

 

3.    添加mysql驱动

l  将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/

 

4.    给所有节点添加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

 

5.    修改cloudera-scm-agent配置

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

 

6.    初始化mysql数据库 

l  进入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;

l  检查创建的数据库:

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| amon               |

| hive               |

| hue                |

| mysql              |

| performance_schema |

| test               |

+--------------------+

7 rows in set (0.00 sec)

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

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

 

7.    为ClouderaManager 5建立数据库  

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

/opt/cm-5.4.5/share/cmf/schema/scm_prepare_database.sh mysql cm -hqbcdhserv1 -uroot -phadoop --scm-host qbcdhserv1  scm  scm  scm

[root@qbcdhserv1 ~]# /opt/cm-5.4.5/share/cmf/schema/scm_prepare_database.sh mysql cm -hqbcdhserv1 -uroot -phadoop --scm-host qbcdhserv1  scm  scm  scm

JAVA_HOME=/usr/java/jdk1.7.0_67

Verifying that we can write to /opt/cm-5.4.5/etc/cloudera-scm-server

Creating SCM configuration file in /opt/cm-5.4.5/etc/cloudera-scm-server

Executing:  /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!

 

8.    开启ClouderaManager 5 Server端:

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

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



9.    开启ClouderaManager 5 Agents端。 

l  将主节点/opt/cm-5.4.5集群内分发

scp/opt/cm-5.4.5到所有datanode节点上,然后在每台机器上开启Agents端:

scp -r /opt/cm-5.4.5  root@192.168.58.94:/opt 

scp -r /opt/cm-5. 4.5  root@192.168.58.95:/opt 

 

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

mkdir /opt/cm-5.4.5/run/cloudera-scm-agent  (如果有此目录请忽略该操作)

 

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

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

 

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

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

      

 


 

七、安装CDH5(master)

1.    下载安装源

首先下载与自己系统版本相对应的parcel包,manifest.json文件。下载地址 http://archive.cloudera.com/cdh5/parcels/5.4.5/。注意我们操作系统是centos 6.7,  所以我们选择el6对应的版本。下图标识的三个文件(下图是5.7.0,GA网无法截图,有时间再替换成5.4.5版本的)。

 

下载安装CDH依赖rpm包文件。 根据当前操作系统版本选择  http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.7.0/RPMS/x86_64/ 下,cloudera-manager-daemons  与cloudera-manager-agent  。

 

 



 

2.    制作CDH本地安装源

l  下载完成后,将这两个文件放到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-repo 

cp /data1/bxji/software/tools/manifest.json  /opt/cloudera/parcel-repo 

 

l  新建文件命名为: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 

 

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

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

 

3.    正式安装CDH

n  登陆控制http://192.168.58.93:7180,

 

n  选择Hadoop及其组件安装选择Cloudera版本,  这里选择安装免费版

 

n  选择主机, 这里要保证所有agents节点服务都启动了,才能检测到受控节点。

 

n  选择安装方式

因为我们是离线安装,(Cloudera推荐使用Parcel)

 

n  将安装源分发到集群所有主机

n  选择要安装的服务组件

 

n  组件数据库设置

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

n  集群基本参数配置。

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

n  下一步继续,启动集群

n  安装成功

常见问题

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

 

 


 

 

o   注意再次重启机器后,启动cloudera-scm-server、cloudera-scm-agent会报JAVA_HOMEI没有配置(很诡异,我明明配置了,只是重启机器)

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值