本文最后更新于 1121 天前,其中的信息可能已经有所发展或是发生改变。
软件下载 CDH CM 6.3.1 配套环境
环境准备
系统 | IP | 主机名 |
---|---|---|
centos7.8 | 192.168.80.240 | cm1 |
centos7.8 | 192.168.80.241 | cm2 |
centos7.8 | 192.168.80.242 | cm3 |
- 关闭防火墙(systemctl stop firewalld && systemctl disable firewalld && setenforce 0)
- 配置好对应的主机名
- 配置/etc/hosts的主机名解析
生成主机私钥
[root@cm1 ~]# ssh-keygen -t rsa
[root@cm2 ~]# ssh-keygen -t rsa
[root@cm3 ~]# ssh-keygen -t rsa
- 生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
cm1下发免密
[root@cm1 .ssh]# ssh-copy-id cm1
[root@cm1 .ssh]# ssh-copy-id cm2
[root@cm1 .ssh]# ssh-copy-id cm3
将cm1的密钥下发到cm2 cm3
- 让所有的机器都能免密互访
[root@cm1 .ssh]# scp ~/.ssh/authorized_keys cm2:~/.ssh
[root@cm1 .ssh]# scp ~/.ssh/authorized_keys cm3:~/.ssh
安装JDK(重要)
- 上传oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm 至cm1并安装
[root@cm1 software]# rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
- 配置环境变量
[root@cm1 software]# vi /etc/profile.d/my_env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
- 使环境变量生效
[root@cm1 software]# source /etc/profile.d/my_env.sh
[root@cm1 software]# java -version
java version "1.8.0_181"
- 分发jdk和配置文件
[root@cm1 software]# scp oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm cm2:~/
[root@cm1 software]# scp oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm cm3:~/
[root@cm1 software]# scp /etc/profile.d/my_env.sh cm2:/etc/profile.d/
[root@cm1 software]# scp /etc/profile.d/my_env.sh cm3:/etc/profile.d/
CM2 CM3安装JDK
[root@cm2 software]# rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
[root@cm2 software]# source /etc/profile.d/my_env.sh
[root@cm3 software]# rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
[root@cm3 software]# source /etc/profile.d/my_env.sh
安装Mysql
- 查看MySQL是否安装
[root@cm1 software]# rpm -qa|grep -i mysql
mysql-libs-5.1.73-7.el6.x86_64
- 如果安装了MySQL,就先卸载
[root@cm1 software]# rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_64
- 删除阿里云原有MySql依赖
[root@cm1 software]# yum remove mysql-libs
Mysql网站
tar xvf mysql-5.7.38-1.el7.x86_64.rpm-bundle.tar
- 安装相关依赖
yum -y install net-tools libaio openssl-dev* tcl perl*
- 安装Mysql
rpm -ivh mysql-community-libs-5.7.38-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.38-1.el7.x86_64.rpm
rpm -ivh mysql-community-common-5.7.38-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.38-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.38-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-devel-5.7.38-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-5.7.38-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-5.7.38-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.38-1.el7.x86_64.rpm
rpm -ivh mysql-community-test-5.7.38-1.el7.x86_64.rpm
- 执行完成之后,启动mysql
[root@cm1 software]# systemctl start mysqld
[root@cm1 software]# systemctl enable mysqld
- 获取临时密码
[root@cm1 software]# grep 'temporary password' /var/log/mysqld.log
2022-06-16T07:55:47.480241Z 1 [Note] A temporary password is generated for root@localhost: FuX-sdh?h8he
- 登录系统 使用刚才的临时密码
[root@cm1 software]# mysql -uroot -pFuX-sdh?h8he
#修改密码,密码默认是8位,并且包含大小写字母+特殊字符+数字, 这里设置密码验证级别为6位数字
mysql> set global validate_password_policy=0;
#默认mysql密码长度是8位,这里修改成6位
mysql> set global validate_password_length=6;
#设置简单好记的密码
mysql> alter user 'root'@'localhost' identified by '123456';
#也可删除user表中的数据,重置mysql root
#进入mysql库
mysql>use mysql
#查询user表
#旧版本
mysql>select User,Host,Password from user;
#5.7版本以后
mysql>select User,host,authentication_string from user;
#修改user表,把Host表内容修改为% 刷新权限
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
mysql> flush privileges;
mysql> quit
[root@node01 ~]# systemctl list-unit-files | grep mysqld
#以上设置密码验证级别和密码长度验证当mysql重启后还需要重复设置,可以在/etc/my.cnf进行全局设置
[mysqld]
plugin-load=validate_password.so
validate-password=off
#配置完成后重启mysql即可
[root@node01 ~]# systemctl restart mysqld
所有机器安装好依赖
[root@cm1 ~]# yum install -y chkconfig bind-utils psmisc cyrus-sasl-plain cyrus-sasl-gssapi portmap /lib/lsb/init-functions httpd mod_ssl openssl-devel python python-psycopg2 MySQL-python libxslt zlib sqlite fuse fuse-libs redhat-lsb
机器 | 功能 |
---|---|
cm1 | cloudera-scm-server \ cloudera-scm-agent |
cm2 | cloudera-scm-agent |
cm3 | cloudera-scm-agent |
cloudera-manager的上传到CM1
[root@cm1 ~]# cd /opt/cloudera-manager/
[root@cm1 cloudera-manager]# ls
cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
- 在cm1中
- cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
- cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
- 分发到其他Agent节点
[root@cm1 cloudera-manager]# scp /opt/cloudera-manager/cm6.3.1/RPMS/x86_64/cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm cm2:/opt/cloudera-manager/
[root@cm1 cloudera-manager]# scp /opt/cloudera-manager/cm6.3.1/RPMS/x86_64/cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm cm2:/opt/cloudera-manager/
[root@cm1 cloudera-manager]# scp /opt/cloudera-manager/cm6.3.1/RPMS/x86_64/cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm cm3:/opt/cloudera-manager/
[root@cm1 cloudera-manager]# scp /opt/cloudera-manager/cm6.3.1/RPMS/x86_64/cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm cm3:/opt/cloudera-manager/
在cm1节点安装CM Server
[root@cm1 cloudera-manager]# rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
[root@cm1 cloudera-manager]# rpm -ivh cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
- 以上命令执行完成之后,会自动创建目录"/opt/cloudera",自动将RPM包安装到这个目录下
CM Agent CM1 CM2 节点安装CM Agent
#在cm1节点上安装agent,可以指定--nodeps不检查依赖
[root@cm1 cloudera-manager]# rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
#在cm2、cm3节点上安装daemons和agent
[root@cm2 ~]# cd /opt/cloudera-manager/
[root@cm2 cloudera-manager]# rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
[root@cm2 cloudera-manager]# rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
[root@cm3 ~]# cd /opt/cloudera-manager/
[root@cm3 cloudera-manager]# rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
[root@cm3 cloudera-manager]# rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
- 当完成安装agent后,会在当前节点生成"/opt/cloudera/cm-agent"目录
配置CM Agent的server host
- 在所有的Agent节点上,修改Agent的配置文件"vi /etc/cloudera-scm-agent/config.ini", 修改“server_host=cm1”,指定所有Agent节点的server节点为cm1
配置CM Server数据库
在cm1 Server节点上,修改"/etc/cloudera-scm-server/db.properties"文件,配置内容如下:
com.cloudera.cmf.db.type=mysql
# The database host
com.cloudera.cmf.db.host=cm1
# The database name
com.cloudera.cmf.db.name=cmf
# The database user
com.cloudera.cmf.db.user=cmf
# The database user's password
com.cloudera.cmf.db.password=123456
# The db setup type
com.cloudera.cmf.db.setupType=EXTERNAL
Java-connect
-
尽量使用mysql-connector-java-5.1.27-bin.jar这个版本
-
将mysql-connector-java-5.1.27-bin.jar拷贝到cm1节点的/usr/share/java路径下,并重命名为"mysql-connector-java.jar"
[root@cm1 cm-agent]# mkdir /usr/share/java
[root@cm1 cm-agent]# mv /opt/software/mysql-connector-java-5.1.27-bin.jar /usr/share/java/mysql-connector-java.jar
Mysql配置
[root@cm1 ~]# mysql -u root -p123456
mysql> grant all on *.* to 'cmf'@'%' identified by '123456' with grant option;
mysql> quit
- 在CM Server节点cm1执行如下命令初始化数据库:
- 最新版的java-connect会出现SSL问题
- 如果cmf中存在数据库得删掉,要不然会创建失败
[root@cm1 ~]# cd /opt/cloudera/cm/schema/
#[-u用户 -p密码 数据库类型,数据库,用户,密码]
[root@cm1 schema]# ./scm_prepare_database.sh -ucmf -p123456 mysql cmf cmf 123456
准备CDH Parcels本地源
在Server节点cm1上"/opt/cloudera/parcel-repo"目录下,上传如下文件:
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1
manifest.json
启动CM Server、Agent
在Server节点启动ClouderaManager Server,分别在Agent节点启动ClouderaManager Agent
[root@cm1 parcel-repo]# mv CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
#在cm1节点上启动Server服务
[root@cm1 parcel-repo]# systemctl start cloudera-scm-server
#在cm1、cm2、cm3节点上启动Agent服务
[root@cm1 parcel-repo]# systemctl start cloudera-scm-agent
[root@cm2 parcel-repo]# systemctl start cloudera-scm-agent
[root@cm3 parcel-repo]# systemctl start cloudera-scm-agent
访问 http://cm1:7180/
查看日志
[root@cm1 parcel-repo]# tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
至此,Cloudera Manager的安装完成
2. CDH安装
使用默认的用户名admin和密码admin登录
博主你好,无意中来到你的网站,做得挺好,可以换个友链吗?
当然可以,但我不怎么更新了