版本说明
- 如下所示: | 软件 | 版本 | | —- | —- | | 操作系统 | CentOS7.6 | | CM | 6.2.0 | | CDH | 6.2.0 | | JDK | jdk-8u181 | | MySQL | 5.7 |
配置网络源(在CM节点配置)
上传系统镜像
mkdir -p /var/www/html/yum
- 挂载系统镜像
mount /root/CentOS-7-x86_64-DVD-1810.iso /var/www/html/yum
配置本地yum源
- 将现有的yum配置文件全部删除或者备份
rm -f /etc/yum.repos.d/*
- 配置本地yum源,添加如下配置
配置网络yum源
- 安装http服务
yum install -y httpd
- 启动http服务,并设置开机自启
systemctl start httpd
systemctl enable httpd
- 修改yum配置文件
vim /etc/yum.repos.d/iso.repo
- 测试网络yum源是否配置成功,如果出现大量软件列表就说明配置成功
yum clean all
yum list
- 将yum配置文件分发到其他主机
scp /etc/yum.repos.d/iso.repo root@ip:/etc/yum.repos.d/
基础环境配置(所有节点都需要配置)
配置hosts文件
- 配置hosts文件,实现主机名与ip的映射
配置hostname
- 设置主机的hostname
关闭防火墙
- 关闭防火墙服务
systemctl stop firewalld
- 禁止防火墙服务开机自启
systemctl disable firewalld.service
- 清除防火墙策略
关闭selinux
- 修改selinux配置文件,关闭SELINUX
vi /etc/selinux/config
- 临时关闭Selinux
setenforce 0
SSH免密
配置CM节点到其他节点的ssh免密
在CM 节点下 ~/.ssh文件夹下执行ssh-keygen -t rsa (如果没有.ssh文件夹,就先ssh连接下别的机器),执行过程中按三次回车即可
将公钥发送给其他节点,有提示输入的yes的就输入yes,输入密码就输入主机密码即可
配置NTP服务
这里就是用CM主机作为时间服务器,让其他主机都来同步CM节点的时间
在所有主机中安装ntp服务
yum install -y ntp
- 在CM节点修改ntp.conf 输入vi /etc/ntp.conf ,注释其他时间服务器,添加为本机
server 127.127.1.0
fudge 127.127.1.0 stratum8
- 在其余节点,修改ntp.conf文件,主机其他时间服务器,添加CM节点为时间服务器
vi /etc/ntp.conf
server wsdmaster1 iburst
- 启动ntp服务,并设置开机自启
systemctl start ntpd
systemctl enable ntpd
- 查看是否同步成功,如果前面显示 * 即为同步成功
安装JDK
- 卸载现有的openjdk
rpm -qa|grep openjdk |xargs -I {} rpm -e —nodeps {}
- 将准备好的oracle jdk上传至各个主机进行安装
rpm -ivh jdk-8u181-linux-x64.rpm
- 验证是否安装成功
操作系统性能优化(所有节点都需要配置)
删除虚拟网卡
如果使用的是虚拟机安装的,那么虚拟机可能会有虚拟网卡,需要将虚拟网卡删除
安装所需依赖
yum install -y qumu-kvm libvirt virt-install* bridge-utils
- 删除虚拟网卡
virsh net-destroy default
- 取消定义虚拟网卡
禁止透明大页
- 临时禁用透明大页
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
- 永久禁用透明大页
vim /etc/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
减少使用交换内存
- 运行下面三条命令
sysctl -w vm.swappiness=1
echo ‘vm.swappiness=1’ >> /etc/sysctl.conf
sysctl -p
数据库安装(CM节点配置)
准备MySQL安装包
这里就选择CM节点安装数据库
上传数据库安装包到CM节点
卸载系统自带的数据库
- 卸载系统自带的mariadb
rpm -qa | grep mariadb | xargs -I {} rpm -e —nodeps {}
安装MySQL数据库
- 按照以下依赖关系安装MySQL
rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpm
- 开启MySQL服务
systemctl start mysqld
systemctl enable mysqld
- 获取MySQL初始化密码
grep ‘temporary password’ /var/log/mysqld.log
- 修改MySQL密码
mysql -uroot -p 输入上面获取到的密码
alter user root@localhost identified by ‘密码’;
flush privileges;
创建所需的数据库并授权
- 创建各个组件所需的数据库,并授权,密码需要替换成自己设置的密码
mysql -u root —password=’密码’ -e ‘create database metastore default character set utf8;’
mysql -u root —password=’密码’ -e “create user ‘hive’@’%’ identified by ‘密码’”;
mysql -u root —password=’密码’ -e ‘create database hive default character set utf8’;
mysql -u root —password=’密码’ -e “grant all privileges on hive. to ‘hive’@’%’”;
mysql -u root —password=’密码’ -e “grant all privileges on metastore. to ‘hive’@’%’”;
mysql -u root —password=’密码’ -e “create user ‘amon’@’%’ identified by ‘密码’”;
mysql -u root —password=’密码’ -e ‘create database amon default character set utf8’;
mysql -u root —password=’密码’ -e “grant all privileges on amon. to ‘amon’@’%’”;
mysql -u root —password=’密码’ -e “create user ‘rman’@’%’ identified by ‘密码’”;
mysql -u root —password=’密码’ -e ‘create database rman default character set utf8’;
mysql -u root —password=’密码’ -e “grant all privileges on rman. to ‘rman’@’%’”;
mysql -u root —password=’密码’ -e “create user ‘sentry’@’%’ identified by ‘密码’”;
mysql -u root —password=’密码’ -e ‘create database sentry default character set utf8’;
mysql -u root —password=’密码’ -e “grant all privileges on sentry. to ‘sentry’@’%’”;
mysql -u root —password=’密码’ -e “create user ‘nav’@’%’ identified by ‘密码’”;
mysql -u root —password=’密码’ -e ‘create database nav default character set utf8’;
mysql -u root —password=’密码’ -e “grant all privileges on nav. to ‘nav’@’%’”;
mysql -u root —password=’密码’ -e “create user ‘navms’@’%’ identified by ‘密码’”;
mysql -u root —password=’密码’ -e ‘create database navms default character set utf8’;
mysql -u root —password=’密码’ -e “grant all privileges on navms. to ‘navms’@’%’”;
mysql -u root —password=’密码’ -e “create user ‘cm’@’%’ identified by ‘密码’”;
mysql -u root —password=’密码’ -e ‘create database cm default character set utf8’;
mysql -u root —password=’密码’ -e “grant all privileges on cm. to ‘cm’@’%’”;
mysql -u root —password=’密码’ -e “create user ‘oos’@’%’ identified by ‘密码’”;
mysql -u root —password=’密码’ -e ‘create database oos default character set utf8’;
mysql -u root —password=’密码’ -e “grant all privileges on oos. to ‘oos’@’%’”;
mysql -u root —password=’密码’ -e “create user ‘hue’@’%’ identified by ‘密码’”;
mysql -u root —password=’密码’ -e ‘create database hue default character set utf8’;
mysql -u root —password=’密码’ -e “grant all privileges on hue. to ‘hue’@’%’”;
- 进入数据库查看是否创建成功
CDH安装包下载及配置(在CM节点配置)
下载地址
- CM下载地址
https://archive.cloudera.com/cm6/
- CDH下载地址
https://archive.cloudera.com/cdh6/
所需文件
- CM需要下载以下文件,图中的版本是6.1.1,下载6.2.0的即可
- CDH需要下载以下文件,也是同样的下载6.2.0即可
上传安装包
- 在CM节点创建文件夹
mkdir /var/www/html/cdh6/
mkdir/var/www/html/cm6/
- 将下载好的安装包上传到对应的文件夹中
配置CM本地Yum源
进入 /var/www/html/cm6/ 文件夹
执行createrepo命令,创建本地yum
createrepo .
- 新建cm.repo文件,cmip需要修改为自己的cm节点ip
vim /etc/yum.repos.d/cm.repo
- 将cm.repo分发到其他的集群节点的/etc/yum.repos.d目录中
scp cm.repo root@其他主机的hostname:/etc/yum.repos.d/
安装CM(在CM节点配置)
- 在CM节点安装Cloudera Manager
yum install cloudera-manager-daemons cloudera-manager-server
- 将mysql-connect到拷贝到所有节点的/usr/share/java/目录下,如果没有该文件夹可以自行创建
scp /opt/software/mysql/mysql-connector-java.jar root@其他节点的hostname:/usr/share/java/
初始化数据库
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql cm cm 数据库密码
CDH5:/usr/share/cmf/schema/scm_prepare_database.sh mysql cm cm 数据库密码启动CM服务
systemctl start cloudera-scm-server
systemctl enable cloudera-scm-server
- 等待几分钟后,打开浏览器 输入 cmip:7180 进入CM管理页面,默认密码就是admin/admin
安装CDH
进入CM管理页面输入账号密码,点击登录
点击继续即可
- 同意协议,点击继续
- 选择试用企业版60天,点击继续
- 点击继续
- 点击继续
- 输入要安装的主机IP,点击搜索
- 成功搜索后会出现可安装的主机
- 配置CM本地源,配置作用就是其他主机要从该源安装agent等
- 配置parcel自定义库,也就是CDH
- 由于已经安装过JDK了,所以取消 点击继续
- 输入所有主机的root密码(这里建议所有主机root密码保持一致)
- 安装agent
- agent安装完成
- 各主机分发解压CDH安装包
- 分发解压成功,点击继续
- 检查主机正确性,点击继续
- 选择要添加的服务
- 进行角色分配,管理节点安装NameNode等管理角色,数据节点安装DataNode等角色,按照下图分配,然后点继续
- 设置各个组件的数据库,点击连接测试,连接成功后点击继续
- 审核里面需要修改各个组件数据存放的目录,如果是测试就默认即可
- 启动初始化集群
- 至此集群安装完成