本例子以安装 cm5.13.0 和 cdh5.13.0
适用操作系统:yum RHEL/CentOS/Oracle 7
1.材料准备
名称 | 详情 | 用途 |
---|---|---|
yum安装依赖源 | oracle_linux_release_7.iso | 离线安装时依赖包 |
CDH 版本包 | CDH-5.13.0-1.cdh5.13.0.p0.2-el7.parcel , CDH-5.13.0-1.cdh5.13.0.p0.2-el7.parcel.sha1, manifest.json | CDH 版本,版本验证等信息 |
CLOUDERA 管理安装包 | cm5.13.0-centos7.tar.gz | Cloudera 安装依赖 |
CDH 组件安装包 | cdh5.13.0-centos7.tar.gz | CDH 安装包 |
MySQL安装包 | mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz | Cloudera 和 CDH 元 数据信息存储 |
MySQL驱动 | mysql-connector-java.jar | 驱动 |
2.环境准备
准备3台机器,主机名设置为cdh1,cdh2,cdh3,可以根据情况自行设置
注意:2.1~2.3要在所有的机器上操作
2.1关闭防火墙
- systemctl stop firewalld 关闭防火墙
-
systemctl status firewalld 确认防火墙是否关闭
2.2关闭selinux
- vi /etc/selinux/config
- 编辑使 SELINUX=disabled 保存退出
- setenforce 0 快速生效
- getenforce 查看seliux 状态
2.3配置host
- vi /etc/hosts
- 配置ip与主机名的映射关系
- 192.168.1.111 cdh1
- 192.168.1.112 cdh2
- 192.168.1.113 cdh3
2.4时间同步 (如果没有ntp,可在yum源搭建成功之后操作)
- yum install -y ntp
- vim /etc/ntpd.conf
- 添加以下内容:
- server 127.127.1.0
- fudge 127.127.1.0 stratum 10
- 添加以下内容:
- 设置开机自启动:systemctl enable ntpd.service
- 启动ntp服务:systemctl start ntpd.service
- 从节点执行命令: ntpdate -u cdh-1
2.5配置免密
- ssh-keygen -t rsa 一路回车
- cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- chmod 600 ~/.ssh/authorized_keys
- 将证书分别分发到从节点
3.YUM准备
3.1本地yum源
- 把相应的 ISO 镜像文件拷贝到指定的某个目录
- 创建 /mnt/cdrom 文件夹
- 挂载 对应的 iso 文件到 /mnt/cdrom 下:mount -o loop /xxxxx/xxx/*.iso /mnt/cdrom
- 查看挂载情况:df -h
- 进到/etc/yum.repos.d文件夹下:cd /etc/yum.repos.d/
- 创建myfile.repo并插入如下内容:
[CDROM]
name=isofile
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-oracle
- 验证yum源:yum clean all -> yum list httpd* 如果列出目录则代表成功
3.2安装Apache服务
- 安装httpd:Yum install httpd -y
- 默认情况下,其数据存储是放在 /var/www/html 目录
- 启动服务:systemctl start httpd
- 制作局域网仓库,在 /var/www/html 目录下,先创建一个 yum_repo 文件夹
- 把已经挂载的本地的 /mnt/cdrom 的内容拷贝到 /var/www/html/yum_repo 目录下,即可,局域网仓库制作完毕
- 制作 局域网 repo 文件,内容例子如下,在/etc/yum.repos.d/目录下创建cdrom.repo文件,并写入内容如下(以下的xxxxx均代表Apache主机的ip):
- [CDROM]
name=isofile
baseurl=http://xxxxx/yum_repo
enabled=1
gpgcheck=0
gpgkey=http://xxxxx/yum_repo/ RPM-GPG-KEY-oracle
- [CDROM]
- 将cdrom.repo文件拷贝到另外两台服务器的/etc/yum.repos.d目录下并测试:yum clean all -> yum list httpd* 如果列出目录则代表成功
- 在/var/www/html目录下创建cm_cdh目录,并将cm5.13.0-centos7.tar.gz解压到此目录下
- 在/etc/yum.repos.d/目录下创建cloudera-cm.repo文件并写入内容:
- [cloudera-cm]
name=Cloudera's Distribution for cm, Version 5
baseurl=http://xxxxx/cm_cdh/cm/5.13.0/
gpgkey = http://xxxxx/cm_cdh/cm/RPM-GPG-KEY-cloudera
gpgcheck = 1
- [cloudera-cm]
- 同理参考上面操作:在 /var/www/html 目录下 创建 cm_cdh 目录(如果存在则不需进行创建了),拷贝
cdh5.13.0-centos7.tar.gz 至该文件夹,并且解压即可,在 cm_cdh 创建 parcel 文件
夹,把 CDH-5.13.0-1.cdh5.13.0.p0.2-el7.parcel , CDH-5.13.0-1.cdh5.13.0.p0.2-
el7.parcel.sha1,manifest.json 拷贝到该文件夹 - 在/etc/yum.repos.d目录下创建cloudera-cdh5.repo并写入内容:
- [cloudera-cdh5]
name=Cloudera's Distribution for Hadoop, Version 5
baseurl=http://xxxx/cm_cdh/cdh/5.13.0/
orgpgkey = http://xxxx/cm_cdh/cdh/RPM-GPG-KEY-cloudera
gpgcheck = 1
- [cloudera-cdh5]
- 将cloudera-cdh5.repo拷贝至另外两台主机的/etc/yum.repos.d/的目录下,测试 yum clean all -> yum list cloudera* 如果有列出表示部署成功
4.安装mysql
- 加压MySQL安装包:tar -xvzf mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz -C /usr/local
- 修改文件夹名称:mv mysql-5.6.30-linux-glibc2.5-x86_64 mysql
- 添加环境变量,vi /etc/profile
- export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH
- export MYSQL_HOME=/usr/local/mysql
- 使环境变量生效:source /etc/profile
- 添加 MySQL 用户及用户组并赋予权限
- /usr/sbin/groupadd mysql
- /usr/sbin/useradd -d /var/lib/mysql -s /sbin/nologin -g mysql mysql
- chown -R mysql:mysql /usr/local/mysql
- 安装依赖:
- yum -y install autoconf
- yum -y install libaio
- 初始化数据库:cd /usr/local/mysql/scripts/ 执行命令:./mysql_install_db --user=mysql --basedir=/usr/local/mysql --
datadir=/usr/local/mysql/data - 拷贝配置文件: cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
- 设置开机自启:
- cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
- chkconfig --add mysql
- chkconfig mysql on
- 启动数据库:service mysql start
- 登入数据库,并修改 root 密码和删除空用户
- mysql -uroot
- mysql> use mysql;
- mysql> update user set password=password('123456') where user='root';(123456换成你要设置的密码)
- mysql> delete from user where user='';(删除空用户)
- mysql> grant all privileges on *.* to root@'%' identified by "123456";
- mysql> flush privileges;
- mysql> exit;(退出数据库)
5.Cloudera Manager Server 安装
Cloudera manager server 是一个管理功能,添加 cdh 组件等信息,都可以通过此来进行安
装和配置,一般来说这个需要一台独立服务器来进行来装,如果机器充分可以准备这个原则
- 选择一台机器来做 cm server 的服务器
- 安装jdk: yum -y install oracle-j2sdk1.7
- 安装cm-server: yum -y install cloudera-manager-daemons cloudera-manager-server
- 配置数据库信息:
- vi /etc/cloudera-scm-server/db.properties
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=数据库ip
com.cloudera.cmf.db.name=cmf
com.cloudera.cmf.db.user=root
com.cloudera.cmf.db.password=数据库密码
com.cloudera.cmf.db.setupType=EXTERNAL
- vi /etc/cloudera-scm-server/db.properties
- 在/usr/share 目录下创建 java 目录,把数据库连接驱动放入该文件夹下
- 初始化 cmf 数据库:/usr/share/cmf/schema/scm_prepare_database.sh mysql -h192.168.1.31 -uroot -p5528280 --scm-host cdh1 cm_cloudera_3 root 123456
- -h:表示数据库所在主机
-u:数据库用户名
-p:数据库密码
--scm-host:cloudera-scm-server 所在主机
cmf:数据库名称
root:链接该数据库的用户
123456:链接该数据库的密码
- -h:表示数据库所在主机
- 初始化过程中,可能遇到错误, 一般是没放入 数据库驱动或者是对应的数据库访问权限没有开通,登录数据库,通过下面语句进行排查,看对应数据有没有对应的访问权限:
SELECT host,user,authentication_string,Grant_priv,Super_priv FROM mysql.user;
UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
FLUSH PRIVILEGES; - 启动 cloudera server: service cloudera-scm-server start
- 监控日志:tail -f /var/log/cloudera-scm-server/cloudera-scm-server .log
6.配置集群
- 启动成功之后通过浏览器访问ip:7180
- 用户名和密码默认都是admin
- 接受并下一步
- 选择开源版本
下一步
- 填写主机名
- 设置parcel包代理地址
- 修改成自己对应的url,确认之前先看一下这个url在浏览器上是否可以访问
- 选择自定义存储库
- 根据自己实际情况填写,确认之前都可以看看浏览器是否可以访问
- 安装jdk
- 无需勾选
- 填写主机密码
- 等待安装,并一路继续
- 根据自身情况选择
- 自定义选择(注意,如果选择对应的主机需要进行元数据存储的,则在对应的主机上必须包含 链接数据库的驱动才行)
- 以上组件都需要数据库来存储一些数据信息,故我们需要提前手动将数据库创建好.进入到mysql,依次创建数据库(只需创建好数据库就好)
- 根据需要自行设置,后面可以修改
等待安装完成即可