cdh6.3.2安装

article/2025/11/6 14:52:28

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-agent
cm2cloudera-scm-agent
cm3cloudera-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.parcel
  • CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1
  • manifest.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;

在弹出的页面中选择数据库,填写用户名及密码,点击"测试连接",测试数据库连接成功后,点击"继续"
在这里插入图片描述

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

在这里插入图片描述


http://chatgpt.dhexx.cn/article/e59LPuOE.shtml

相关文章

CDH的安装与部署

1.基础环境准备 1.1创建一个新的虚拟机 1.2安装虚拟机,设置ROOT密码并创建用户名为cdh的用户。 1.3修改配置文件 1.4测试是否可以联网 1.5安装常用命令 1.6关闭防火墙 1.7复制两台虚拟机并修改名称 1.8生成MAC地址并记录此地址之后取消 1.9启动第二台虚…

cdh安装教程

CDH免费版最高版本提供到了6.3.2,从6.3.3开始不提供免费版,为此整理了cdh6.3.2的离线安装包,大家可以点此下载:CDH6.3.2 安装大体思路是将rpm压缩包解压到某个节点的本地目录,然后在这个节点开启http服务,…

cdh平台安装详细教程

CDH安装文档目录 文章目录 0、准备1、配置免密码登录2、配置环境变量2.1、配置主机名,安装JDK2.2、安装mysql2.2.1、查看mysql是否安装2.2.2、主节点安装mysql 2.4、NTP安装 3、CDH Manager包文件文件上传分发4、CDH5的安装配置5、hdfs的高可用配置6、kafka安装7、…

大数据之cdh集群安装

安装前的准备工作 配置主机名、hosts、开启PermitRootLogin、设置密码 、做免密 、java环境变量、时间同步 安装过程概述(Ubuntu18.04安装) (centos7离线安装参考https://www.cnblogs.com/swordfall/p/10816797.html) http://ro-bucharest-repo.bigs…

CDH6.x安装教程(附带整合kerberos)

CDH从6.3.3版开始不再免费,6.3.2及以下版本可免费使用,大家如有需要可联系我索取安装包。 安装步骤总览: 1、配置服务器系统基础环境 2、配置本地仓库 3、安装数据库 4、安装CM 5、添加大数据服务 CDH基本架构简述: CDH主要…

CDH安装部署步骤

CDH下载地址: CDH5.4: http://archive.cloudera.com/cdh5/ Cloudera Manager5.4.3: http://www.cloudera.com/downloads/manager/5-4-3.html 准备工作:(linux必须是64位的) 安装CDH之前,我们需要安装一…

CDH安装配置(详细说明)

从网上看了很多的资料,填了不少的坑。总结一下。(这篇是整合网络的资料自己的坑) 关于CDH和Cloudera Manager CDH (Clouderas Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloudera维护&…

CDH的安装详细步骤

目录 目录 第1章 配置环境 1.1.准备阶段 1.1.1.服务器 1.1.2.操作系统 1.2.安装配置 1.2.1.安装操作系统 1.2.2.配置操作系统 1.2.3.安装Oracle JDK (所有节点) 1.2.4.配置SSH免密 1.2.5.安装配置mysql 1.2.6. NTP时间同步 第2章 安装CDH …

CDH6.2.0详细安装步骤

CDH6.2.0版本安装指南 1. 准备集群 本文档使用的是三台虚拟机,IP和主机名自行修改,三台虚拟机需要能联网,并且能够免密登录,这些网上都能找到详细的教程,有问题也可以底部留言交流。 ip名称内存xxx.xx.x.169node16916…

俗话说:学好c语言,走遍天下都不怕

c语言的重要性 C语言产生于1972年,是计算机的一种高级语言,目前在国际上还是很流行的,因为它具有低级程序语言的功能,所以也有人说它是中级语言。 对于大多数程序员来说。C语言是学习编程的第一门语言,也可以说是入门…

如何学习 C 语言?

在线资源 C程序员帮助建立了互联网,而互联网可以帮助你学习C。互联网时刻都在发展、变化,这里所列的资源只是在撰写本书时可用的资源。当然,你可以在互联网中找到其他资源。 如果有一些与C语言相关的问题或只是想扩展你的知识,可…

关于学好C语言的心得

一.工欲善其事,必先利其器 选择visual sudio 2019 原因:1.vs2019是集成开发环境,对新手友好,不需要配置环境,上手就可以使用 2.大部分网课教程都在使用,避免产生冲突 下载网址:Visual Studio 产…

c语言学的是什么,C语言怎么学?

计算机有一种专业叫c语言,那么什么是c语言,怎么去学它?能给我们带来什么?这篇文章主要是针对此内容做一讲解! c语言是一种电脑程序设计语言。它有高级语言的特点,也有整编语言的特征。可以作为系统设计和应…

为什么要学好c语言,c语言到底多重要,你造吗

一、前言 对于理工 科学生来说,这个答案可能很简单,因为这是一门必修课。而对于程序员来说选择一门编程语言,在某种程度上,对职业生涯的发展会产生重大的影响,所以必须慎 之又慎。那么,为什么要选择一门诞…

零基础如何学好C语言?

经常有人会这样问"我没有一点基础,该如何入门C语言,该如何学好C语言 ?"看到很多初学者摸不到门路,我在这里制定了相应的学习计划,对于零基础新手一定会有很大的帮助。 很多新手认为学习C语言离不开记忆语法&#xff0c…

怎样学习C语言?

一 、怎样学习C语言 很多人对学习C语言感到无从下手,经常问我同一个问题:究竟怎样学习C语言?我是一个教师,已经开发了很多年的程序,和很多刚刚起步的人一样,学习的第一个计算机语言就是C语言。 经过这些年的…

如何学好C语言--你的学渣朋友告诉你

光说不练假把式,光练不说傻把式,又练又说真把式。 真实感受,不是我不想学,是我真的不知道我哪里不会啊和得怎么做啊?本文作者当初就是这么废掉的 推荐两个练习的网站 (一)C语言网 https://www.dotcpp.com/ 水题基…

学好C语言,你只需要这几句口诀!

学好C语言的秘诀就是1234:“一字真言,两种态度,三个框架,四项注意”。 一、一字真言 各位看官,学好C语言,其实只需一个字,那就是“编”。 (一)编。 学习C语言&#x…

推荐给初学者:如何学好C语言?

点击上方“大鱼机器人”,选择“置顶/星标公众号” 福利干货,第一时间送达! 学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。如何以最小的代价学习并精通C语言是本文的主题。请注意,即使是“最小的代价”…

如何学好C语言?

目录 零基础学习C语言该怎么入门?第一步 视频课程第二步 阅读配套教材第三步 完成配套练习习题第四步 如果题目不会做怎么办?第五步 如果参考答案看不懂怎么办?第六步 熟练使用C语言第七步 全面理解C语言第八步 精通C语言第九步 C语言实战 零…