cdh6.3.2安装

cdh6.3.2安装,第1张

cdh6.3.2安装 1. 数仓之Cloudera Manager

1.1 CM简介
1.1.1 CM简介
Cloudera Manager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具,使得安装集群从几天的时间缩短在几个小时内,运维人员从数十人降低到几人以内,极大的提高集群管理的效率。
CM功能
管理:对集群进行管理,如添加、删除节点等 *** 作。
监控:监控集群的健康情况,对设置的各种指标和系统运行情况进行全面监控。
诊断:对集群出现的问题进行诊断,对出现的问题给出建议解决方案。
集成:多组件进行整合。

1.1.2 CM架构

Agent:安装在每台主机上。该代理负责启动和停止的过程,拆包配置,触发装置和监控主机。
Management Service:由一组执行各种监控,警报和报告功能角色的服务。
Database:存储配置和监视信息。通常情况下,多个逻辑数据库在一个或多个数据库服务器上运行。例如,Cloudera的管理服务器和监控角色使用不同的逻辑数据库。
Cloudera Repository:软件由Cloudera 管理分布存储库。
Clients:是用于与服务器进行交互的接口:
Admin Console :基于Web的用户界面与管理员管理集群和Cloudera管理。
API :与开发人员创建自定义的Cloudera Manager应用程序的API。

1.2 环境准备
1.2.1 虚拟机准备
克隆三台虚拟机(cm1、cm2, cm3),配置好对应主机的网络IP、主机名称、关闭防火墙。
设置cm1、cm2、cm3的主机对应内存 16G ,4G ,4G
1.2.2 SSH免密登录
配置hadoop101对cm1、cm2、cm3三台服务器免密登录。CDH服务开启与关闭是通过server和agent来完成的,所以这里不需要配置SSH免密登录,但是为了我们分发文件方便,在这里我们也配置SSH。
1)生成公钥和私钥:

[root@cm1 ~]# ssh-keygen -t rsa
[root@cm2 ~]# ssh-keygen -t rsa
[root@cm3 ~]# ssh-keygen -t rsa

然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
2)将cm1、cm2、cm3公钥拷贝到要免密登录的目标机器cm1上
三台机器执行命令:

#会在当前~/.ssh目录下生成authorized_keys文件,文件中存放node01的公钥
[root@cm1 .ssh]# ssh-copy-id cm1
#会将cm2的公钥追加到cm1节点的authorized_keys文件
[root@cm2 .ssh]# ssh-copy-id cm1
[root@cm3 .ssh]# ssh-copy-id cm1

最后将cm1节点上/.ssh/authorized_keys拷贝到cm2和cm3节点的/.ssh/目录上,执行如下命令:

[root@cm1 .ssh]# scp ~/.ssh/authorized_keys cm2:`pwd`
[root@cm1 .ssh]# scp ~/.ssh/authorized_keys cm3:`pwd`

1.2.3安装JDK(重要)
需要使用官网提供的jdk

上传oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm 至cm1的/opt/software目录并安装

[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:`pwd`
[root@cm1 software]# scp oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm cm3:`pwd`
[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 并source

[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

1.2.4 安装MySQL
注意:一定要用root用户 *** 作如下步骤;先卸载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

[root@cm1 software]#  wget http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
#安装repo,安装完成会在/etc/yum.repos.d目录下生成mysql的repo文件
[root@cm1 software]# rpm -ivh mysql57-community-release-el7-9.noarch.rpm
#安装mysql
[root@cm1 software]# yum install -y mysql-server
#执行完成之后,启动mysql
[root@cm1 software]# systemctl start mysqld
#获取临时密码
[root@cm1 software]# grep 'temporary password' /var/log/mysqld.log
2022-01-29T08:52:30.719138Z 1 [Note] A temporary password is generated for root@localhost: 4rqjyg)Bl?qo
#登录系统  使用刚才的临时密码
[root@cm1 software]# mysql -uroot -p4rqjyg)Bl?qo
#修改密码,密码默认是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;
#设置开机启动
[root@node01 ~]# systemctl enable mysqld
[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

1.2.5 安装第三方依赖包
在每台节点上安装ClouderManager需要的第三方依赖包,每台节点执行如下命令:

[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

1.3 CM安装部署
1.3.0 集群规划

节点服务cm1cloudera-scm-server cloudera-scm-agentcm2cloudera-scm-agentcm3cloudera-scm-agent

1.3.1 创建cloudera-manager目录,存放cdh安装文件

在三台节点上创建安装目录

[root@cm1 software]# mkdir /opt/cloudera-manager
[root@cm2 software]# mkdir /opt/cloudera-manager
[root@cm3 software]# mkdir /opt/cloudera-manager

将clouderaManager rpm安装包’cm6.3.1-redhat7.tar.gz’上传至cm1节点的/opt/software目录下,解压到目录/opt/cloudera-manager下

[root@cm1 software]# tar -zxvf cm6.3.1-redhat7.tar.gz -C /opt/cloudera-manager/

1.3.2 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:`pwd`
[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:`pwd`
[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:`pwd`
[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:`pwd`

1.3.3 在cm1节点安装CM Server
在cm1节点上安装daemons、servers RPM包,由于安装过程中会检查系统中的依赖包,如果没有会报错,可以安装时指定–nodeps不检查依赖关系,命令如下:

[root@cm1 ~]# cd /opt/cloudera-manager/cm6.3.1/RPMS/x86_64/
[root@cm1 x86_64]# rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
[root@cm1 x86_64]# rpm -ivh cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm

以上命令执行完成之后,会自动创建目录"/opt/cloudera",自动将RPM包安装到这个目录下

1.3.4 在CM Agent节点安装CM Agent

#在cm1节点上安装agent,可以指定--nodeps不检查依赖
[root@cm1 x86_64]# 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"目录

1.3.5 配置CM Agent的server host
在所有的Agent节点上,修改Agent的配置文件"vi /etc/cloudera-scm-agent/config.ini", 修改“server_host=cm1”,指定所有Agent节点的server节点为cm1

1.3.6 配置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

将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执行如下命令初始化数据库:

[root@cm1 ~]# cd /opt/cloudera/cm/schema/
#[-u用户 -p密码 数据库类型,数据库,用户,密码]
[root@cm1 schema]# ./scm_prepare_database.sh -ucmf -p123456 mysql cmf cmf 123456

1.3.7 准备CDH Parcels本地源
在Server节点cm1上"/opt/cloudera/parcel-repo"目录下,上传如下文件:

CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcelCDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1manifest.json

1.3.8 启动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登录

2.1接受条款和协议



2.2 集群安装

2.3 指定主机,点击继续

2.4 选择CDH版本为6.3.2,点击继续

2.5 等待下载安装

Cloudera Manager主节点会将下载好的CDH分发到各个Agent节点,这时可以在cm1、cm2、cm3节点上看到路径/opt/cloudera/parcel-cache目录中有Cloudera Manager主节点传过来的CDH安装包,同时在完成传输之后每个Agent节点还会将CDH安装包解压到/opt/cloudera/parcels路径下

2.6 检查网络性能,检查主机

点击Inspect Network Performance, Inspect Hosts,稍等片刻会显示检查结果

点击显示检查结果,查看检查主机出现的问题


这里建议swappiness=10的时候表示最大限度使用物理内存。由于透明超大页面会导致意外的节点重新启动,可以在每台节点中执行如下命令,在检查主机正确性后面点击"重新运行"即可解决。命令如下:

#在cm1,cm2,cm3节点上执行如下命令:
[root@cm1 ~]# echo 10 > /proc/sys/vm/swappiness
[root@cm1 ~]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
[root@cm1 ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled


2.7 集群设置


2.7.1 分配节点

2.7.2 集群设置全部选默认

2.7.3 自动启动进程

2.7.4 修改HDFS的权限检查配置

关闭HDFS中的权限检查:dfs.permissions



3. Hive 安装

Hive在安装完成后运行任务时需要设置队列名称,不然会报错
set mapred.job.queue.name=hive

3.1 添加Hive服务



3.2 配置Hive元数据

点击继续之后,需要配置Hive依赖的mysql数据库,需要在cm1节点上连接mysql,执行创建数据库及分配权限语句

[root@cm1 ~]# mysql -uroot -p123456
mysql> create database hive DEFAULT CHARACTER SET utf8;
mysql> grant all on hive.*  to  'hive'@'%' identified by 'hive';
mysql> flush privileges;

在d出的页面中选择数据库,填写用户名及密码,点击"测试连接",测试数据库连接成功后,点击"继续"

3.3 一路点继续直到安装完成

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5715393.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存