Centos6.7 +CDH5.4.5
HADOOP集群环境离线安装
版本历史:
日期 | 版本 | 描述 | 作者 |
2016-06-11 | 1.0 | CDH5.5.7离线安装 | |
2016-07-11 | 2.0 | CDH5.4.5 HADOOP 重新编写 |
|
目录
3. 分发authorized_keys到集群内节点...19
2. 设置开机启动: chkconfig ntpd on.20
4. 修改/etc/ntp/keys文件(集群内所在节点)...21
六、安装Cloudera Manager 5(master)...23
1. 下载Cloudera Manager 5 安装文件...23
5. 修改cloudera-scm-agent配置...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
n 登陆控制http://192.168.58.93:7180,... 30
n 选择Hadoop及其组件安装选择Cloudera版本, 这里选择安装免费版... 30
n 选择主机, 这里要保证所有agents节点服务都启动了,才能检测到受控节点。... 31
一、集群系统环境准备
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 |
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 |
安装自选版本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 |
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 |
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 服务 :
n 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集群内分发
n 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 |
n 在所有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控制台
n 浏览器启动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没有配置(很诡异,我明明配置了,只是重启机器)