目录
一、基础软件版本信息:
1、CDH对CentOS的版本要求:
本项目采用的是:CentOS6.5 标准版 64位
Operating System | Version |
Red Hat Enterprise Linux (RHEL)-compatible | |
RHEL (+ SELinux mode in available versions) | 7.3, 7.2, 7.1, 6.8, 6.7, 6.6, 6.5, 6.4, 5.11, 5.10, 5.7 |
CentOS (+ SELinux mode in available versions) | 7.3, 7.2, 7.1, 6.8, 6.7, 6.6, 6.5, 6.4, 5.11, 5.10, 5.7 |
Oracle Enterprise Linux (OEL) with Unbreakable Enterprise Kernel (UEK) and Standard Kernel | 7.3, 7.2 (UEK R2), 7.1, 6.8 (UEK R3), 6.7 (UEK R3), 6.6 (UEK R3), 6.5 (UEK R2, UEK R3), 6.4 (UEK R2), 5.11, 5.10, 5.7 |
SLES | |
SUSE Linux Enterprise Server (SLES) | 12 with Service Pack 1, 11 with Service Pack 4, 11 with Service Pack 3, 11 with Service Pack 2 |
Hosts running Cloudera Manager Agents must use SUSE Linux Enterprise Software Development Kit 11 SP1. | |
Ubuntu/Debian | |
Ubuntu | Trusty 14.04 - Long-Term Support (LTS) Precise 12.04 - Long-Term Support (LTS) |
Debian | Jessie 8.4, 8.2 Wheezy 7.8, 7.1, 7.0 |
2、CDH对数据库版本的要求:
本项目采用的是:mysql-5.7.19-log
Component | MariaDB | MySQL | SQLite | PostgreSQL | Oracle | Derby - see Note 5 |
Cloudera Manager | 5.5, 10 | 5.7, 5.6, 5.5, 5.1 | – | 9.4, 9.3, 9.2, 9.1. 8.4, 8.3, 8.1 | 12c, 11gR2 See Note 11 |
|
Oozie | 5.5, 10 | 5.7, 5.6, 5.5, 5.1 | – | 9.4, 9.3, 9.2, 9.1. 8.4, 8.3, 8.1 See Note 3 | 12c, 11gR2 | Default |
Flume | – | – | – | – | – | Default (for the JDBC Channel only) |
Hue | 5.5, 10 | 5.7, 5.6, 5.5, 5.1 See Note 6 | Default | 9.4, 9.3, 9.2, 9.1. 8.4, 8.3, 8.1 See Note 3 | 12c, 11gR2 | – |
Hive/Impala | 5.5, 10 | 5.7, 5.6, 5.5, 5.1 See Note 1 | – | 9.4, 9.3, 9.2, 9.1. 8.4, 8.3, 8.1 See Note 3 | 12c, 11gR2 | Default |
Sentry | 5.5, 10 | 5.7, 5.6, 5.5, 5.1 See Note 1 | – | 9.4, 9.3, 9.2, 9.1. 8.4, 8.3, 8.1 See Note 3 | 12c, 11gR2 | – |
Sqoop 1 | 5.5, 10 | See Note 4 | – | See Note 4 | See Note 4 | – |
Sqoop 2 | 5.5, 10 | See Note 9 | – | – | – | Default |
3、CDH对jdk版本的要求:
根据以下描述,建议使用jdk-7-64版本及以上版本,并且使用下载对应版本的CM软件中自带的rpm格式的jdk,这样肯定没问题,如果使用自己找的版本的jdk,有可能再以后安装过程中出现问题。
4、CDH对浏览器的要求:
5、CDH对网络配置的要求:
6、CDH对安全传输协议(TLS)的要求:
Component | Role | Name | Port | Version |
Cloudera Manager | Cloudera Manager Server |
| 7182 | TLS 1.2 |
Cloudera Manager | Cloudera Manager Server |
| 7183 | TLS 1.2 |
Flume |
|
| 9099 | TLS 1.2 |
Flume |
| Avro Source/Sink |
| TLS 1.2 |
Flume |
| Flume HTTP Source/Sink |
| TLS 1.2 |
HBase | Master | HBase Master Web UI Port | 60010 | TLS 1.2 |
HDFS | NameNode | Secure NameNode Web UI Port | 50470 | TLS 1.2 |
HDFS | Secondary NameNode | Secure Secondary NameNode Web UI Port | 50495 | TLS 1.2 |
HDFS | HttpFS | REST Port | 14000 | TLS 1.1, TLS 1.2 |
Hive | HiveServer2 | HiveServer2 Port | 10000 | TLS 1.2 |
Hue | Hue Server | Hue HTTP Port | 8888 | TLS 1.2 |
Impala | Impala Daemon | Impala Daemon Beeswax Port | 21000 | TLS 1.2 |
Impala | Impala Daemon | Impala Daemon HiveServer2 Port | 21050 | TLS 1.2 |
Impala | Impala Daemon | Impala Daemon Backend Port | 22000 | TLS 1.2 |
Impala | Impala StateStore | StateStore Service Port | 24000 | TLS 1.2 |
Impala | Impala Daemon | Impala Daemon HTTP Server Port | 25000 | TLS 1.2 |
Impala | Impala StateStore | StateStore HTTP Server Port | 25010 | TLS 1.2 |
Impala | Impala Catalog Server | Catalog Server HTTP Server Port | 25020 | TLS 1.2 |
Impala | Impala Catalog Server | Catalog Server Service Port | 26000 | TLS 1.2 |
Oozie | Oozie Server | Oozie HTTPS Port | 11443 | TLS 1.1, TLS 1.2 |
Solr | Solr Server | Solr HTTP Port | 8983 | TLS 1.1, TLS 1.2 |
Solr | Solr Server | Solr HTTPS Port | 8985 | TLS 1.1, TLS 1.2 |
Spark | History Server |
| 18080 | TLS 1.2 |
YARN | ResourceManager | ResourceManager Web Application HTTP Port | 8090 | TLS 1.2 |
YARN | JobHistory Server | MRv1 JobHistory Web Application HTTP Port | 19890 | TLS 1.2 |
7、CDH相关软件下载:
(1)Cloudera Manager(CM)下载地址:
http://archive.cloudera.com/cm5/cm/5/
官网地址:
(2)CDH安装包下载地址:
http://archive.cloudera.com/cdh5/parcels/latest/
官网地址:
(3)本次采用的CM和CDH版本如下:
CM:6.2.0
CDH:6.2.0
二、CDH基本优势:
1、CDH比apache在兼容性、安全性、稳定性上有增强;
2、CDH比apache更新速度快;
3、CDH支持kerberos安全认证;
4、CDH文档清晰;
5、CDH支持yum/apt包;
6、CDH可以联网安装、升级比较方便(网上建议下载安装,联网安装有坑);
7、CDH自动下载依赖软件包;
8、CDH自动匹配hadoop生态系统中的包,不需要自己寻找hbase、hive等软件包,也不用考虑兼容性问题,CDH自动匹配相应版本;
9、CDH自动创建相关的目录,并自动创建hdfs、mapred用户;
三、CDH集群安装一般步骤:
1、集群规划:
IP地址 磁盘空间 域名 角色和应用
IP地址 | 磁盘空间 | 域名 | 角色和应用 |
192.168.1.141 | 80G | CDH141 | cm-server |agent | jdk | mysql |
192.168.1.142 | 40G | CDH142 | agent | jdk |
192.168.1.143 | 40G | CDH143 | agent | jdk |
2、集群内各节点root密码修改:
集群内各节点服务器中的root的明文或密文的密码要保持一致,在CM的web系统中需要配置以便安装各个服务。建议将集群内各节点的root用户密码修改为统一的一个复杂明文密码。
3、集群内各节点关闭防火墙:
集群内各节点服务器中要关闭防火墙,并且防火墙开机自启。
关闭防火墙:service iptables stop;
关闭防火墙开机自启:chkconfig iptables off;
4、集群内各节点关闭selinux:
集群内各节点服务器中要关闭selinux:
修改配置文件/etc/selinux/config,将SELINUX=enforcing 改为SELINUX=disabled,然后重新启动服务器生效。
5、集群内各节点设置主机名:
编辑/etc/sysconfig/network配置文件,修改hostname,然后重新启动服务器生效。
6、集群内各节点配置host文件:
编辑/etc/hosts配置文件,配置IP与域名映射关系,配置完之后,可以在同一台机器上ping不同的域名,正常是可以ping通的。
7、集群内各节点更新yum源:
(1)备份原镜像:
进入到/etc/yum.repos.d文件夹中,移动文件:CentOS-Base.repo ,名称修改为:CentOS-Base.repo.backup
mv CentOS-Base.repo CentOS-Base.repo.backup
(2)下载新镜像:
进入到/etc/yum.repos.d文件夹中,下载新镜像:
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
(3)清空yum缓存:
yum clean all
(4)生成缓存:
yum makecache
8、集群内各节点安装SSH免密登录:
(1)在CDH141上:
生成公钥和私钥:
ssh-keygen -t rsa
然后一直回车到出现图形就完成了。
复制公钥到authorized_keys中:
进入到用户目录下的.ssh文件夹:cd ~/.ssh
cat id_rsa.pub >> authorized_keys
复制CDH141中authorized_keys到CDH142上:
scp ~/.ssh/authorized_keys CDH142:~/.ssh/
(2)在CDH142上:
生成公钥和私钥:
ssh-keygen -t rsa
然后一直回车到出现图形就完成了。
复制公钥到authorized_keys中:
进入到用户目录下的.ssh文件夹:cd ~/.ssh
cat id_rsa.pub >> authorized_keys
复制CDH142中authorized_keys到CDH143上:
scp ~/.ssh/authorized_keys CDH143:~/.ssh/
(3)在CDH143上:
生成公钥和私钥:
ssh-keygen -t rsa
然后一直回车到出现图形就完成了。
复制公钥到authorized_keys中:
进入到用户目录下的.ssh文件夹:cd ~/.ssh
cat id_rsa.pub >> authorized_keys
删除CDH141、CDH142上authorized_keys文件:
rm -f ~/.ssh/authorized_keys
复制CDH143中authorized_keys到CDH141、CDH142上:
scp ~/.ssh/authorized_keys CDH141:~/.ssh/
scp ~/.ssh/authorized_keys CDH142:~/.ssh/
因为CDH143上authorized_keys中保存了3台服务器中的所有公钥,这样把该文件复制到其它服务器中,就实现了每台服务器中的authorized_keys文件内都有其它所有服务器的公钥了。
最后在每台服务器中都通过:ssh 域名,登录到集群其它服务器中,第一次登录需要手动输入一下密码,以后就不用了。在通过ssh登录完集群内其它服务器后,在每台服务器的~/.ssh/known_hosts中会显示记忆好的服务器,正常情况下会显示集群内其它服务器所有节点信息,如果没有哪台服务器就表示该服务器一次没有通过ssh登录到那台服务器,就需要手动ssh登录到该服务器上即可。
核心理念就是:在每台服务器中~/.ssh文件夹中有自己的私钥(id_rsa)、公钥(id_rsa.pub),认证key(authorized_keys)中保存了要免登录的其它服务器的公钥,已只hosts(known_hosts)中保存了已经免登录的主机信息。主要是在每台服务器上生成公钥、私钥。然后将所有服务器的公钥信息放在authorized_keys中,最后通过第一次ssh登录到其它服务器信息,让known_hosts记录下该服务器信息即可。
9、集群内各节点同步时间节点:
思路:集群中的linux各个节点,其中一台作为ntpd服务器,与外界时间进行同步,集群中其它节点与该节点上的时间进行同步;
(1)关闭集群内防火墙:
关闭防火墙:service iptables stop
开机自动关闭防火墙:chkconfig iptables off
(2)集群内各节点下载ntp软件:
yum install ntp
(3)ntpd服务端配置ntp的信息:
下面主要是配置内网的NPTD服务器(192.168.1.135), NTPD服务配置核心/etc/ntp.conf文件,配置好了就OK。需要修改的地方都备注了,一共4处,其他的是默认。
# For more information about this file, see the man pages
# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).
driftfile /var/lib/ntp/drift
# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
# Permit all access over the loopback interface. This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
restrict -6 ::1
# Hosts on local network are less restricted.
# 01修改开始---->允许内网其他机器同步时间
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# 01修改结束---->允许内网其他机器同步时间
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
# 02修改开始----->中国这边最活跃的时间服务器 : http://www.pool.ntp.org/zone/cn
server 210.72.145.44 perfer # 中国国家受时中心
server 202.112.10.36 # 1.cn.pool.ntp.org
server 59.124.196.83 # 0.asia.pool.ntp.org
# 02修改结束----->中国这边最活跃的时间服务器 : http://www.pool.ntp.org/zone/cn
#broadcast 192.168.1.255 autokey # broadcast server
#broadcastclient # broadcast client
#broadcast 224.0.1.1 autokey # multicast server
#multicastclient 224.0.1.1 # multicast client
#manycastserver 239.255.254.254 # manycast server
#manycastclient 239.255.254.254 autokey # manycast client
# allow update time by the upper server
# 03修改开始---->允许上层时间服务器主动修改本机时间
restrict 210.72.145.44 nomodify notrap noquery
restrict 202.112.10.36 nomodify notrap noquery
restrict 59.124.196.83 nomodify notrap noquery
# 03修改结束---->允许上层时间服务器主动修改本机时间
# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available.
# 04修改开始----->外部时间服务器不可用时,以本地时间作为时间服务
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
# 04修改结束----->外部时间服务器不可用时,以本地时间作为时间服务
# Enable public key cryptography.
#crypto
includefile /etc/ntp/crypto/pw
# Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography.
keys /etc/ntp/keys
# Specify the key identifiers which are trusted.
#trustedkey 4 8 42
# Specify the key identifier to use with the ntpdc utility.
#requestkey 8
# Specify the key identifier to use with the ntpq utility.
#controlkey 8
# Enable writing of statistics records.
#statistics clockstats cryptostats loopstats peerstats
(4)服务端通过ntpdate手动同步一次时间:
ntpdate -u 202.112.10.36
(5)服务端设置ntpd开机自启:
chkconfig ntpd on
(6)服务端通过ntpd自动同步时间:
service ntpd start
(7)其它节点(nptd客户端)配置ntp信息:
在nptd客户端上配置/etc/ntp.conf文件,信息如下,需要修改的地方有3处,备注了,其它默认:
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
# 01修改开始----->配置时间服务器为本地的时间服务器
server 192.168.1.135
# 01修改结束----->配置时间服务器为本地的时间服务器
# 02修改开始----->
restrict 192.168.1.135 nomodify notrap noquery
# 02修改结束----->
# 03修改开始------>
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
# 03修改结束------->
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
手动执行nptdate命令,第一次与ntpd服务端手动同步时间:
ntpdate -u 192.168.0.135
如果执行后提示:no server suitable for synchronization found
那么就执行以下命令,然后重新执行上面同步时间命令:
ntpdate -d 192.168.0.135
客户端启动ntpd服务;
设置ntpd服务为开机自启;
将一个客户端中的/etc/ntp.conf文件复制到集群其它节点的客户端上,分别手动同步时间,启动ntpd服务即可;
10、集群内各节点安装JDK:
本项目使用的是jdk-8u151-linux-x64.gz版本;
(1)下载软件包:
注意使用的jdk要用CM对应版本中自带的jdk的rpm文件。
(2)上传软件包:
将下载好的jdk软件的rpm文件上传到服务器对应文件夹中。
(3)安装jdk软件:
进入到存放jdk的rpm文件夹中,执行命令安装:
rpm -ivh jdk的rpm文件
(4)配置环境变量:
通过jdk的rpm安装的jdk默认安装在了/usr/java文件夹中,进入找到具体的安装jdk文件夹路径。
编辑/etc/profile文件添加如下信息:
export JAVA_HOME=JDK解压后文件路径
export PATH=$PATH:$JAVA_HOME/bin
配置生效:source /etc/profile
(5)查看jdk版本:
java -version
11、集群内某节点安装mysql:
本项目使用的mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz版本,下载软件包并上传到服务器对应文件夹中;
本次在CDH141一个服务器上安装mysql数据库。
(1)创建mysql用户和组:
groupadd mysql
useradd -g mysql mysql
(2)创建mysql安装目录:
mkdir /usr/local/mysql # mysql安装目录
mkdir -p /extdata/mysql/data # mysql数据目录
mkdir -p /extdata/mysql/logs # mysql日志目录
mkdir -p /extdata/tmp # mysql临时目录
说明:由于需要扩容,到时候把扩容的硬盘挂载到extdata;
(3)授权mysql安装目录:
chown -R mysql.mysql /extdata
chown -R mysql.mysql /usr/local/mysql
(4)解压mysql软件包;
将上传的mysql软件包进行解压。
(5)移动mysql文件:
将解压后的文件夹中的所有文件移动到/usr/local/mysql中去;
(6)创建mysql配置文件:
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf #需要修改配置文件my.cnf
(7)配置mysql信息:
编辑/etc/my.cnf文件,配置以下信息:
[client]
port=3306
socket=/usr/local/mysql/mysql.sock
default-character-set=utf8
[mysqld]
max_connections=2000
skip-name-resolve
datadir=/extdata/mysql/data
socket=/usr/local/mysql/mysql.sock
default_password_lifetime=0
innodb_flush_log_at_trx_commit=0
max_allowed_packet=100M
user=mysql
tmpdir=/extdata/tmp
symbolic-links=0
character-set-server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# 因为配置hive连接数据库问题,暂时停掉GTID模式
gtid_mode = off
enforce_gtid_consistency = off
[mysql]
no-auto-rehash
default-character-set=utf8
[mysqld_safe]
default-character-set = utf8
#日志存放路径
log-error=/wocloud/mysql/logs/mysqld.log
pid-file=/wocloud/mysql/mysqld.pid
[mysql.server]
default-character-set = utf8
(8)注册Mysql服务:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
(9)设置mysql命令环境变量:
编辑文件/etc/profile,增加如下信息:
export PATH=/usr/local/mysql/bin:$PATH
环境变量生效:source /etc/profile
(10)设置开机启动mysql:
chkconfig mysql on
(11)初始化数据库:
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/extdata/mysql/data
一定要记录最有一行给出的初始密码,记录初始化的密码(如 tagiaMfxN2:K )
(12)修改初始化密码:
使用初始化密码登录mysql数据库;
set password=password('1QAZ2wsx'); -- 重设密码
grant all privileges on *.* to root@'%' identified by '1QAZ2wsx';-- mysql授权
UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE USER='root';-- root用户grant授权
flush privileges; -- 更新权限
(13)启动和停止mysql服务:
启动mysql服务:service mysql start
停止mysql服务:service mysql stop
(14)防火墙开放mysql数据库端口:
编辑文件/etc/sysconfig/iptables,复制原有一行,修改开放的端口号:
本地服务器防火墙都关闭了,因此不需要防火墙开放mysql数据库的端口号。
12、集群各节点下载依赖:
集群内各节点服务器上下载如下依赖,如果不下载这些依赖,使用cdh安装的时候会报各种各样的错误。
yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
13、安装CM(离线):
(1)下载CM离线软件安装包:
A、找到离线软件下载页面:
访问官网:https://www.cloudera.com/
B、下载离线软件包:
点击上个步骤中找到的离线软件下载页面,然后进入到RPMS/x86_64/中,下载其中除了jdk以外的所有rpm文件:
还需要在离线软件下载页面下载rpm的url地址后面的几个路径去掉,即:redhat6/yum/RPMS/x86_64,从而进入到该版本软件的根目录下载allkeys.asc文件:
(2)上传CM离线软件安装包:
在CM的主节点上,将下载好的CM相关的rpm文件上传到服务器中对应文件夹中。
(3)安装httpd和createrepo:
在集群各节点上操作:
yum -y install httpd createrepo
启动httpd服务:service httpd start;
开机自启httpd服务:chkconfig httpd on;
(4)生成createrepo:
在CM的主节点上操作:
进入到上传CM的rpm文件的文件夹中,生成RPM元数据:
执行命令:createrepo .(不要忘记有个空格和点)
(5)移动CM文件夹:
在CM的主节点上操作:
将存放CM的rpm文件加的目录移动到httpd的html目录下:
mv cm_rpm /var/www/html/
确保可以通过浏览器查看到这些RPM包:
(6)创建CM的repo:
在集群内各节点上操作:
进入到/etc/yum.repos.d,创建cm6的cloudera-manager.repo文件,文件内容如下:(说明IP为CM主节点就是上传CM的rpm文件的服务器IP地址)
[cloudera-manager]
name=Cloudera Manager 6.0.1
baseurl=http://192.168.66.61/cloudera-repos/
gpgcheck=0
enabled=1
然后执行:yum clean all,清yum缓存;
然后执行:yum makecache,生成缓存;
(7)安装CM软件:
默认自动安装到了/opt/cloudera文件夹中,因此如果/磁盘空间如果不够的话,可以在集群内各个服务器节点上都加一个硬盘挂在到/opt文件夹中。
在CM主节点上操作:
执行命令:
yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
(8)下载CDH的Parcel文件:
按照找CM离线软件包下载页面的步骤找到CDH离线软件包下载页面:
(9)上传CDH的Parcel文件:
将下载的CDH Parcel文件上传到CM主节点的/opt/cloudera/parcel-repo文件夹中。
修改.sha1格式的文件为.sha,因为.sha1为哈希文件,如果不重命名为.sha后面从本地读取CDH软件包会失败,因为找不到.sha哈希文件。
(10)修改文件所有者:
在CM主节点上操作:
修改/opt/cloudera/parcel-repo文件夹所有者:
chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/*
(11)配置mysql的jdbc驱动:
在CM集群所有节点上操作:
将mysql-connector-java-5.1.47-bin.jar(推荐使用5.1的较高版本的驱动jar包)文件上传至CM Server节点上的/usr/share/java/目录下并重命名为mysql-connector-java.jar(如果/usr/share/java/目录不存在,需要手动创建)。
(12)创建数据库和用户:
根据所需要安装的服务参照下表创建对应的数据库以及数据库用户,数据库必须使用utf8编码,创建数据库时要记录好用户名及对应密码:
服务名 | 数据库名 | 用户名 |
Cloudera Manager Server | scm | scm |
Activity Monitor | amon | amon |
Reports Manager | rman | rman |
Hue | hue | hue |
Hive Metastore Server | metastore | hive |
Sentry Server | sentry | sentry |
Cloudera Navigator Audit Server | nav | nav |
Cloudera Navigator Metadata Server | navms | navms |
先创建4个数据库及对应用户:scm、amon、rman、metastore;
在mysql数据库中创建CDH需要的各种数据库:
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
在mysql中创建CDH连接不同数据库对应的用户:
create user 'scm'@'%' identified by '123456';
create user 'amon'@'%' identified by '123456';
create user 'rman'@'%' identified by '123456';
create user 'hive'@'%' identified by '123456';
在mysql中授权CDH不同连接数据库用户对应的数据库:
GRANT ALL ON scm.* TO 'scm'@'%';
GRANT ALL ON amon.* TO 'amon'@'%';
GRANT ALL ON rman.* TO 'rman'@'%';
GRANT ALL ON metastore.* TO 'hive'@'%';
(13)设置CM数据库:
CM主节点上包含一个配置数据库的脚本。
mysql数据库与CM Server是同一台主机时命令为
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm
不同台时命令为:
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql -h192.168.31.249 --scm-host 192.168.31.245 scm scm
说明:mysql-h为mysql所在服务器的IP;--scrm-host为CM主节点所在的服务器IP;第一个scm为数据库;第二个scm为用户名。
(14)操作CM Server服务:
在CM主节点上进行操作:
A、启动服务:
执行命令:service cloudera-scm-server start;
然后等待Cloudera Manager Server启动,需要稍等一会儿,可以通过查看/var/log/cloudera-scm-server/cloudera-scm-server.log去监控服务启动状态。当看到INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server.日志打印出来后,说明服务启动成功,可以通过浏览器访问Cloudera Manager WEB界面了。
B、关闭服务:
执行命令:service cloudera-scm-server stop;
(15)访问CM的web系统:
在浏览器中访问地址:http://CM主节点IP:7180,默认账号和密码都为admin:
(16)修改CM系统端口号:
操作见网址:https://www.freesion.com/article/2773236140/
个人建议修改下,只是修改http端口号,即修改后端口号:
修改端口号完毕后,需要重新启动CM server才会生效的。
14、管理CM系统用户:
通过CM的web管理界面:设置--->Users & Roles进行用户、角色的管理。
15、操作CM安装CDH集群:
操作见网址:
https://www.cnblogs.com/yinzhengjie/p/10887356.html
需要注意的是在下图中,配置的本地存储库就是上述生成createrepo后移动的CM文件夹,在浏览器中可以访问到的CM的相关rpm文件的地址。并且CDH软件版本就配置自己上传到的CDH的Pacel文件的版本,这样就不用重新从官网下载了,因为自己之前已经下载好上传了,这样安装方便。
16、启动关闭CDH集群:
(1)启动CDH集群:
A、启动CDH服务端:
在CM主节点上操作:
执行命令:service cloudera-scm-server start;
B、启动CDH客户端:
在CM的agent节点上操作:
执行命令:service cloudera-scm-agent start;
(2)关闭CDH集群:
A、关闭CDH客户端:
在CM的agent节点上操作:
执行命令:service cloudera-scm-agent stop;
B、关闭CDH服务端:
在CM的主节点上操作:
执行命令:service cloudera-scm-server stop;