此次安装我使用的centos镜像版本为centos7,因为自身电脑配置原因我搭建了一台主机和一台子机。
1 配置网络:采用Nat方式联网。
2 vim /etc/sysconfig/network-scripts/ifcfg-ens33 在文件中加入以下内容
ONBOOT=yes BOOTPROTO=static IPADDR=192.168.195.11 NETMASK=255.255.255.0 GATEWAY=192.168.195.2 DNS1=202.196.32.13.开启网卡:ifup ens33
4.尝试测试:ping www.baidu.com
5.修改yum源:
因为国外的yum源速度太慢,在这里我换成了清华的yum源, 清华源地址:https://mirrors.tuna.tsinghua.edu.cn/
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS- Base.repo.backup访问:https://mirrors.ustc.edu.cn/help/centos.html 把centos7版本的内容粘贴进去。 接下来用yum安装一些小工具
vi /etc/yum.repos.d/CentOS-Base.repo yum makecache(用时较长) yum install wget yum install vim yum install openssh-clients1.执行以下操作
cd /usr mkdir java rz (将JDK包传到该目录下) tar -zxvf jdk vim /etc/profile最后添加环境变量:
export JAVA_HOME=/usr/java/jdk1.8.0_181 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar这里有时rz上传较慢,这里我采用scpy命令从另一台虚拟机上将jdk拷贝过来 2.执行命令
source /etc/profile3.执行命令
java -version出现以下 提示说明成功
java version "1.8.0_181" Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)在关机状态下克隆,并配置网络 (克隆机器) 1.将UUID删除,修改IP地址,加入mac地址HWADDR=(为真的mac地址)
vim /etc/sysconfig/network-scripts/ifcfg-ens332.修改主机名,每台主机都要做
vim /etc/hostname3.vim /etc/hosts(修改hosts文件,主机修改就行,下面是我的内容)
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.195.11 cdh1 192.168.195.12 cdh24.执行命令
scp /etc/hosts root@cdh2:/etc/(将修改后的hosts文件传到另外一台机器上,传送过程需要输入密码) systemctl stop firewalld systemctl disable firewalld(关闭防火墙)5.重启机器。然后保证主机之间互ping 主机名,互ping ip能够ping通。(在服务器上搭建CDH时由于无法执行重启操作,我当时使用以下命令来使主机名生效)
hostname $(cat /etc/hostname)1.执行命令:
vim /etc/sysctl.conf 增加一行:vm.swappiness=02.执行命令:
sudo sysctl vm.swappiness=01.执行命令:
echo never > /sys/kernel/mm/transparent_hugepage/defrag echo never > /sys/kernel/mm/transparent_hugepage/enabled2.执行命令,修改配置:
vim /etc/rc.local 增加两行: echo never > /sys/kernel/mm/transparent_hugepage/defrag echo never > /sys/kernel/mm/transparent_hugepage/enabled3.执行命令,赋予权限
chmod +x /etc/rc.d/rc.local1.执行命令,生成秘钥:
ssh-keygen -t rsa cd ~/.ssh2.拷贝到要免密码登陆的机器,要免密登陆哪个机器,就写该机器的ip。这里我2台机器两两之间都做了免密登陆。 ssh-copy-id xxxx 在这里我做的操作是:
主机执行 ssh-copy-id 192.168.195.12 子机执行 ssh-copy-id 192.168.195.11为了方便,把MySQL安装在主节点Server上,但是注意最好别用太高版本的MySQL。这里安装的是MySQL5.7 1.检测是否有mariadb
rpm -qa | grep mariadb 如果有,就执行以下命令进行卸载 rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_642.开始安装,依次执行命令,根据提示信息操作。(这里需要安装一个mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm包,不然后期会报错)
cd /usr/local/src wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm rpm -ivh mysql57-community-release-el7-8.noarch.rpm yum -y install mysql-server3.重启MySQL:
systemctl restart mysqld.service4.查看默认密码
grep "password" /var/log/mysqld.log5.使用默认密码登陆:
mysql -u root -p6.进入命令行后,首先修改密码(我修改的密码为123456)
alter user 'root'@'localhost' identified by '123456';7.然后进行创建用户,授权等操作
grant all on *.* to 'root'@'%' identified by '123456' with grant option; -- 授权 CREATE USER 'scm'@'%' IDENTIFIED BY '123456'; --创建一个新用户,就使用这个用户名,和密码,后面cm的元数据库会用到 grant all on *.* to 'scm'@'%' identified by '123456' with grant option;-- 授权 CREATE USER 'lpy'@'%' IDENTIFIED BY '123456'; --创建一个新用户,用户名和密码可以自定义,后面安装hive,oozie会用到 grant all on *.* to 'lpy'@'%' identified by '123456' with grant option;--授权 flush privileges; -- 刷新权限8.用上面自定义的数据库用户lpy登陆,在MySQL中创建几个数据库备用,数据库名称可以自定义。(这里我直接使用对应的服务名称来命名数据库)
mysql -u lpy -p create database hive; create database hue; create database ooz;9.使用scm用户登录MySQL,创建scm数据库备用。
mysql -u scm -p create database scm;1.在所有节点执行命令,创建目录:
sudo mkdir /opt/cloudera-manager2.在所有节点,将下载好的cloudera-manager-centos7-cm5.14.0_x86_64.tar.gz文件,上传到/opt目录下(用rz命令)
3.在所有节点,解压该文件到/opt/cloudera-manager目录。
tar -zxvf /opt/cloudera-manager-centos7-cm5.14.0_x86_64.tar.gz -C /opt/cloudera-manager4.在所有节点,创建用户,这是CM需要使用的用户
sudo useradd --system --home=/opt/cloudera-manager/cm-5.14.0/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm5.在主节点,创建CM服务本地数据存放目录,并赋予权限
sudo mkdir /var/lib/cloudera-scm-server sudo chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server6.在所有节点,执行命令:
vim /opt/cloudera-manager/cm-5.14.0/etc/cloudera-scm-agent/config.ini 修改server_host为server节点的主机名,我的就是server_host=cdh17.在所有节点,将上面准备好的数据库驱动上传到/usr/share/java目录下
8.在主节点上执行命令。初始化数据库scm。mysql scm scm scm分别代表:数据库类型 database名称 数据库用户名 数据库密码
/opt/cloudera-manager/cm-5.14.0/share/cmf/schema/scm_prepare_database.sh mysql scm scm 123456如果出现如下提示,则证明CM元数据创建成功。
All done, your SCM database is configured correctly!9.在主节点执行,创建CDH文件存放目录。
mkdir /opt/cloudera/ cd /opt/cloudera mkdir parcel-repo10.将上面准备好的CDH的3个文件,上传至/opt/cloudera/parcel-repo路径下。 11.在主机192.168.195.11启动CM server
/opt/cloudera-manager/cm-5.14.0/etc/init.d/cloudera-scm-server start12.在主机192.168.195.11和子机192.168.195.12启动CM agent
/opt/cloudera-manager/cm-5.14.0/etc/init.d/cloudera-scm-agent start13.然后访问地址:192.168.195.11:7180(我自己的主机ip),出现界面如下,用户名密码都是admin,之后根据提示进行web 界面的配置和操作。
14.配置完成后会进入显示所有信息的主界面,在主界面中可以进行添加服务操作
遇到的问题1: 国外的yum源下载速度有点慢,耗费时间较长 解决方案1: 改成了清华的yum源,速度有所提高
遇到的问题2: mysql在更改密码时有密码强度验证,设123456无法成功 解决方案2: 取消MySql密码强度验证功能
修改MySql配置文件(my.cnf) 一般情况下,MySql的配置文件 my.cnf 会在 /etc/ 目录下,如果没有,可以使用以下命令查找位置: $ sudo find / -name my.cnf 编辑配置文件: $ sudo vi /etc/my.cnf 在文件末尾添加以下内容: plugin-load=validate_password.so validate-password=OFF 保存退出 重启MySQL: systemctl restart mysqld.service遇到的问题3: 配置NTP 解决方案3: 安装配置NTP的网址:https://www.cnblogs.com/linypwb/p/5532535.html 我找了很多有关NTP配置的相关教程,这个网址中的ntp安装讲解是比较好的。
遇到的问题4: 安装完成后,web 界面出现许多报错情况,提醒阈值问题 解决方案4: 经过检查发现,有些警告报错是由于未修改检测配置选项而出现的,进到CDH的web界面的/cmf/hardware/hosts/config页面,在其中修改其警告选项,这些警告和报错就会消失,例如主机网络接口速度阈值的警告问题,如下图所示,一些网络限制速度,即便网络速度正常,也会出现报错。
遇到的问题5: 在web界面进行配置是报出如下错误:Error loading MySQLdb module: libmysqlclient.so.18: cannot open shared object file: No such file or directory,原因是mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm没有安装 解决方案5: 去MySQL官网,找到安装的对应MySQL版本的这个mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm包,然后下载下来上传到server上(我的server和MySQL安装在同一个节点上,如果server和MySQL不在同一个节点,那么可以尝试这两个节点都去安装一下),安装:
rpm -ivh mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm