CM-安装环境要求
一、虚拟机配置
1.内存分配
将3台虚拟机分配好内存 建议至少8G、4G、4G
虚拟机的硬盘建议是40-50G(用多少占多少),最好是100G以上
如果自己机器总内存是8G的就只能建一个节点的-给虚拟机至少6G。
可以在之前安装好的CentOS上再克隆一个虚拟机
先通过之前安装好的CentOS克隆一个虚拟机-这里克隆bigdata111的伪分布式快照
注意这几步:
2.开启虚拟机并作相应修改
1)修改主机名
2)修改IP
vi /etc/sysconfig/network-scripts/ifcfg-eno16777736(要按Tab自动补全,双击Tab可查看含有打入字母的所有的文件的全名)
3)重启网卡
service network restart
4)检测是否ping通
接下来可以尝试着输入命令行:ping www.baidu.com,拼成功即可(CTRL+c 关闭)
再输入命令行:ping 192.168.212.2
5)连接Xshell
新建立连接-》命名为cdh-》主机:192.168.212.11-》连接-》接下来输入用户名、密码(记住此用户名、密码)
6)yum下载工具包
查看rz命令所在的工具包:
[root@cdh module]# yum search
下载工具包:
[root@cdh module]# yum -y install
这样直接拖进去就可以上传了(适用于小文件上传)
大文件用WinSCP上传更快
7)更改Yum源
在三台节点(所有agent的节点)上执行下载第三方依赖
将yum源更改成阿里的下载啥的会比较快。
更改为阿里yum源 这里需要先安装上wget工具包: [root@cdh software]# yum search wget [root@cdh software]# yum -y install wget 然后更改yum源: wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum clean all yum makecache |
8) 关闭SELINUX和防火墙-三台同时
临时关闭---这样就不用重启虚拟机了:
setenforce 0 |
然后修改配置文件/etc/selinux/config(重启生效)
#将SELINUX=enforcing 改为 SELINUX=disabled #关闭防火墙 systemctl stop firewalld #禁用防火墙 systemctl disable firewalld #查看防火墙是否关闭 systemctl status firewalld |
到此可以将这里的虚拟机进行一次快照,方便后续为集群增加节点和学习操作。
二、安装CM工具所需的操作
1.安装上CM安装需要的jar包-主节点安装即可
#注意:必须是Oracle JDK、不要使用OpenJDK jdk-8u144-linux-x64.tar.gz CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz manifest.json mysql5.7或者mysql-libs(这里就是mysql5.6) |
2.安装JDK-三台同时
#建议放在/usr/java/这个目录下 tar -zxvf jdk-8u144-linux-x64.tar.gz java目录是后创建的 #有时候会有权限问题的坑
修改权限: 属主:属组-->root:root chown -R root:root /usr/java/ |
3.配置环境变量-三台同时
[root@cdh module]# vi /etc/profile
#JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.8.0_144/
export PATH=$PATH:$JAVA_HOME/bin
生效环境变量:
[root@cdh module]# source /etc/profile
接下来-验证,回车后没问题即可:
[root@cdh module]# javac
4.主机名和hosts映射-三台同时
vi /etc/hosts 如果是三台的集群的话,就需要将集群的各个主机的IP、名字都写进去。(我这里只先配了一台) 192.168.212.11 cdh |
检查主机名-如果是集群的话就要求写的是那台主机的名字:
[root@cdh software]# vi /etc/hostname
5.下载第三方依赖-三台同时
在三台节点(所有agent的节点)上执行下载第三方依赖
通过yum下载-根据网络快慢
yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb |
6.ssh免密登录
注:企业中不设置免密-如果是对外开放的话
#生成公钥 ssh-keygen -t rsa 过程中询问问题都不回答,直接回车(三次) #拷贝公钥到其他节点(如果是集群的话需要九遍),比如: ssh-copy-id cdh1 ssh-copy-id cdh2 ssh-copy-id cdh3 我这里只配单个的cdh,所以就是: ssh-copy-id cdh 接下来检测: [root@cdh software]# ssh cdh |
7.NTP时间和时钟同步服务
8.安装配置mysql-仅主节点
注意点:远程使用时,记得更改给root改为"%"权限
1) 解压mysql压缩包
[root@cdh software]# unzip mysql-libs.zip
2) 检测、清除
(1) 检测本地是否有mysql已存在的包
rpm -qa | grep mysql
(2) 检测本地是否有mariadb已存在的包
rpm -qa | grep mariadb
(3) 如果存在,则使用yum/rpm命令卸载
yum -y remove mariadb-libs-5.5.56-2.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
--nodeps是强制性的~
(4) 给予可执行权限 u+x:用户+可写:
[root@cdh mysql-libs]# chmod u+x MySQL-*
(5) 安装mysql的server(注意可能这里会出坑)
[root@cdh mysql-libs]# rpm -ivh
缺少的话就装上:
[root@cdh mysql-libs]# yum -y install
然后再重新安装server:
[root@cdh mysql-libs]# rpm -ivh
这样就安装成功了!
(6) 查看生成的随机密码-在一个隐藏的文件里面:
[root@cdh ~]# cat /root/.mysql_secret
# The random password set for the root user at Fri May 1 11:23:48 2020 (local time): 2RIossrI4IioOnaA
(7) 先将mysql服务启动:
[root@cdh ~]# service mysql start
(8) 查看服务状态:
(9) 安装MySQL客户端:
[root@cdh mysql-libs]# rpm -ivh
(10) 接下来用随机生成的密码来登陆:
[root@cdh mysql-libs]# mysql -uroot -p2RIossrI4IioOnaA
(11) 修改密码:
mysql> SET PASSWORD=PASSWORD('000000');
(12) 接下来配置远程登录权限
因为后面hive、CDH、impala都需要对关系型数据库进行访问。
选择mysql数据库
mysql> use
访问root当前的访问权限
mysql> select User,Host,Password from
修改root远程访问权限-谁都能用-%
MySQL大小写不敏感
mysql> update user set host='%' where
可以将其他的Host删除,也可以留着
mysql> delete from user where Host='cdh';
mysql> delete from user where Host='127.0.0.1';
mysql> delete from user where Host='::1';
(13) 刷新缓存:
flush privileges;
(14) 新建数据库
(1)集群监控数据库 create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 因为已经配置了远程操作权限所以下面的这行就不用了。(下同) grant all on amon.* TO 'amon'@'%' IDENTIFIED BY 'amon'; (2)hive数据库 create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci; grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive'; (3)oozie数据库 create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci; grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie'; (4)hue数据库 create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci; grant all on oozie.* TO 'hue'@'%' IDENTIFIED BY 'hue'; |
这样关系型数据库就配置好了。