目录导航:
一.说明及其准备工作
- 本次安装的环境为CentOS7.6系统下离线安装CDH6.2.0。
- CDH6 系列(CDH 6.0.0、CDH 6.1.0、CDH 6.2.0)等 平台的安装方式均基本一致,可以参考
- 本次安装方法不是唯一的,但是经过本人测试,可以放心使用
- 如若配置环境已安装好,可以直接忽略
- 下载CM6.2的安装包,https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/RPMS/x86_64/ (下面的6个文件);https://archive.cloudera.com/cm6/6.2.0/allkeys.asc
- 下载CDH6.2的安装包,https://archive.cloudera.com/cdh6/6.2.0/parcels (下面的el7的3个文件)
二.配置环境(已装环境可以忽略)
1.关闭防火墙和 selinux
查看防火墙:
systemctl status firewalld.service
执行关闭命令:
systemctl stop firewalld.service
执行开机禁用防火墙命令:
systemctl disable firewalld.service
关闭selinux:将 SELINUX=enforcing 改为 SELINUX=disabled
vi /etc/sysconfig/selinux
2.时钟同步
本次为在线安装:
安装 NTP :
yum -y install ntp
编辑 /etc/ntp.conf 文件添加 NTP 服务器
server 0.cn.pool.ntp.org
server 1.cn.pool.ntp.org
server 2.cn.pool.ntp.org
server 3.cn.pool.ntp.org
启动 NTP
systemctl enable ntpd
systemctl start ntpd
手工同步网络时间
ntpdate -u 0.cn.pool.ntp.org
同步系统时钟
hwclock --systohc
3.配置 ssh 免密登录
在master服务器上执行:
ssh-keygen -t rsa
三次回车后执行:
ssh-copy-id worker主机名
(注意,要给所有的worker发送)
4.禁用透明大页面压缩
打开编辑 /etc/rc.local 文件,添加以下内容:
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
5.安装jdk
这里建议最好安装官方提供的JDK:
oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
(1).第一种方式:
需要先配置好repo仓库,使用yum进行安装oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
yum -y install oracle-j2sdk1.8-1.8.0+update181-1.x86_64
默认安装在 /usr/java/jdk1.8.0_181-cloudera
修改 /etc/profile 文件中内容如下
JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
重新加载profile配置文件,让配置文件生效:
source /etc/profile
检查是否已配置好新的JDK:
java -version
发送到其他服务器上:
scp -r /etc/profile root@worker1:/etc/
scp -r /etc/profile root@worker2:/etc/
(2).第二种方式
直接使用 rpm -ivh 命令安装 rpm 文件的方式
rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
默认安装在 /usr/java/jdk1.8.0_181-cloudera
配置环境变量
在/etc/profile文件最后面添加以下内容
export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
6.安装 mysql
(1).在线下载并安装mysql(如果用已经安装好的可以直接用)
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
systemctl start mysqld(启动服务)
systemctl status mysqld(查看状态)
grep "password" /var/log/mysqld.log(查看mysql密码)
mysql -u root -p
(2).登录后修改密码(尽量复杂一点,太简单了验证不通过,也可以查看如何关闭mysql校验规则)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
修改级别与最小的默认密码位数(修改mysql校验规则)
set global validate_password_policy=0;
set global validate_password_length=4;
(3)启动服务并设置开机启动:
systemctl enable mysqld
systemctl start mysqld
(4).安装JDBC 驱动
mkdir /usr/share/java/
cp mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar
注意,一定要把名字改成mysql-connector-java.jar
(5).创建数据库
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'scm';
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'amon';
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'rman';
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'hue';
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY 'hive';
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY 'sentry';
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY 'nav';
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY 'navms';
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie';
flush privileges;
三.安装并启动cm和cdh的服务
一.创建两个文件夹(这个路径可以自己定义,后面的路径也想要换成自己的)
mkdir /home/root/cdh6.2
mkdir /home/root/cm6.2
然后把刚刚下载的CM6.2的7个文件放到/home/root/cm6.2
把cdh6的3个文件放到/home/root/cdh6.2
二. 生成rpm元数据
进入cm6.2文件夹下面 安装createrepo
yum install createrepo
createrepo .(注意此命令的最后带一个点)
最终 cm6.2目录下多了一个repodata目录
三. 配置Web服务器
将 cdh6.2目录 和 cm6.1目录 移动到/var/www/html目录下, 以便于后面的http服务的访问
mkdir /var/www/html (有这个目录则不需要创建)
mv ./cdh6.2/ ./cm6.2/ /var/www/html
四. 安装httpd服务,使得用户可以通过HTTP访问这些文件
- 安装httpd服务(安装过的可以忽略)
yum install httpd
- 启动httpd服务
systemctl start httpd
- 查看httpd服务是否启动
ps -ef | grep httpd
4.进入到 /etc/yum.repos.d/os.repo 文件里添加以下内容(没有的可以自己创建)
[osrepo]
name=os_repo
baseurl=http://192.168.88.100/cm6.2
enabled=true
gpgcheck=false
5.查看是否添加成功,执行命令后如果出现上面的osrepo,说明添加成功
yum repolist
6.修改 /etc/httpd/conf/httpd.conf 配置文件
在<IfModule mime_module>
中修改以下内容
把 第284行的 AddType application/x-gzip .gz .tgz 修改为 AddType application/x-gzip .gz .tgz .parcel
7重启httpd服务
systemctl restart httpd
通过访问http://master/cdh6.2/ (可以看到/var/www/html/cdh6.2下面的文件)
通过访问http://master/cm6.2/ (可以看到/var/www/html/cm6.2下面的文件)
五.制作Cloudera Manager的repo源
1.进入 /etc/yum.repos.d/cm.repo 添加以下文件内容
[cmrepo]
name = cm_repo
baseurl = http://192.168.88.100/cm6.2
enable = true
gpgcheck = false
2.查看是否添加成功
yum repolist
3.重启httpd服务
systemctl restart httpd
六. 安装Cloudera Manager Server
master上安装:
cloudera-manager-daemons cloudera-manager-server cloudera-manager-agent
worker上安装:
cloudera-manager-daemons cloudera-manager-agent
1.通过yum安装Cloudera Manager Server:(Cloudera Manager Server的源 已经配置到了repo库中)
yum -y install cloudera-manager-server
最后一行显示 Complete! 表示成功
2.修改 agent 的服务器地址(所有节点)
打开并编辑 /etc/cloudera-scm-agent/config.ini 文件:
vim /etc/cloudera-scm-agent/config.ini
将 server_host=localhost 改为 master 节点主机名 cdh1-master
3.启动 agent 服务(所有节点)
systemctl start cloudera-scm-agent
4.初始化数据库
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm password
输入 scm 密码
若已存在,则执行:
rm /etc/cloudera-scm-server/db.mgmt.properties
最后一行显示
All done, your SCM database is configured correctly!
5.启动Cloudera Manager Server
systemctl start cloudera-scm-server
ps -ef | grep cloudera-scm-server 查看是否启动
查看状态:
systemctl status cloudera-scm-server 显示 Active: active (running)
6.检查端口是否监听
安装 netstat
yum install net-tools
netstat -lnpt | grep 7180 (7180为cdh的默认端口号)
要等一段时间启动完全启动成功后,才能看到端口被使用,然后才能真正访问到CM的登录网页
显示 tcp 0 0 0.0.0.0:7180 0.0.0.0:* LISTEN 68289/java
7.查看启动日志:
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
看到下面的信息,说明启动完成
INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server.
8.访问:
通过 http://master:7180/cmf/login 进行访问
默认用户名密码都是admin