CDH 6.3.2集群安装部署

news2024/11/29 13:47:52

文章目录

    • CDH 6.3.2集群安装部署
      • 一 CDH概要
        • 1.1 CDH的背景
        • 1.2 CDH介绍
      • 二 环境准备
        • 2.1 安装部署环境
        • 2.2 部署规划
        • 2.3 服务器主机映射
        • 2.4 服务器免登录配置
        • 2.5 防火墙关闭
        • 2.6 关闭Selinux
        • 2.7 设置最大打开文件
        • 2.8 关闭最大透明页面压缩
        • 2.9 设置Swappiness空间
        • 2.10 安装JDK
        • 2.11 MySQL安装部署
          • 2.11.1 MySQL5.7.28安装部署
          • 2.11.2 MySQL 8.0.26安装部署
        • 2.12 所有节点安装MySQL JDBC驱动依赖包
        • 2.13 创建ClouderaManager用户
      • 三 CM和CDH部署
        • 3.1 上传安装文件
        • 3.2 创建cloudera-manager目录
        • 3.3 分发cloudera-manager到其他节点
        • 3.4 每个节点安装daemons、agent
        • 3.5 主节点安装server
        • 3.6 Server配置
        • 3.7 Agent配置
        • 3.8 初始化Server需要的数据库
        • 3.9 部署离线parcel源
        • 3.10 启动CMS的Server和Agent
        • 3.11 Windows配置映射
        • 3.12 访问Server
      • 四 CDH集群安装
        • 4.1 CMS主页面
        • 4.2 接受许可协议
        • 4.3 版本选择
        • 4.4 CDH集群安装
          • 4.4.1 CDH集群安装主页面
          • 4.4.2 集群名称
          • 4.4.3 指定主机
          • 4.4.4 选择pracel
          • 4.4.5 安装Parcels
          • 4.4.6 检测网络性能和主机
          • 4.4.7 选择服务
          • 4.4.8 角色分配
          • 4.4.9 数据库设置
          • 4.4.10 审核配置更改
          • 4.4.11 首次运行CDH集群
          • 4.4.12 汇总
      • 五 CDH 集群操作
        • 5.1 CDH集群主页面
          • 5.2 HDFS服务
          • 5.3 YARN服务
          • 5.4 Hue服务与操作
          • 5.5 用户&角色管理
      • 六 CDH集群拓展
        • 6.1 CDH安装后目录介绍
        • 6.2 启用HDFS的HA
        • 6.3 启用YARN的HA
        • 6.4 其它CDH相关问题(升级Hive版本、安装Apache Spark等)

CDH 6.3.2集群安装部署

一 CDH概要

1.1 CDH的背景

  • 原生的Hadoop版本很多,兼容性得自己调研,成本高
  • 缺乏便捷的管理工具或者平台,运维效率低,成本高
  • Hadoop相关组件发行商也比较多

基于以上一些原因,企业大数据开发和生产多采用CDH集群,便于集群的运维和管理等。

1.2 CDH介绍

首先,先说一下Cloudera公司,Cloudera公司提供了一个灵活的、可扩展的、容易集成和方便管理的平台,提供Web浏览器操作,容易上手。Cloudera产品和解决方案能提供部署、管理 Apache Hadoop和相关项目,维护和分析数据,保证数据安全受保护等。Cloudera公司提供一系列产品,包括:CDH、CMS、Impala、Search和Manager等。

CDH是Cloudera 提供的一个基于Web浏览器管理的灵活、可扩展的、容易集成和方便管理开源Hadoop和相关项目的平台。

CDH版本很多,CDH 6.3.x及以前版本都是免费,之后的版本是收费版本,本文档主要是使用CMS 6.3.1和CDH6.3.2版本。

CDH 6.3.2 Packaging具体如下:

ComponentComponent VersionChanges Information
Apache Avro1.8.2Changes
Apache Flume1.9.0Changes
Apache Hadoop3.0.0Changes
Apache HBase2.1.4Changes
HBase Indexer1.5Changes
Apache Hive2.1.1Changes
Hue4.3.0Changes
Apache Impala3.2.0Changes
Apache Kafka2.2.1Changes
Kite SDK1.0.0Changes
Apache Kudu1.10.0Changes
Apache Solr7.4.0Changes
Apache Oozie5.1.0Changes
Apache Parquet1.9.0Changes
Parquet-format2.4.0Changes
Apache Pig0.17.0Changes
Apache Sentry2.1.0Changes
Apache Spark2.4.0Changes
Apache Sqoop1.4.7Changes
Apache ZooKeeper3.4.5Changes

二 环境准备

2.1 安装部署环境

本次CDH和CMS安装环境及版本说明:

环境名称版本备注
window操作系统11
VMware16.1.0 build-17198959
Centos7.7
Java1.8.0_152
MySQL5.7.28
chrome版本 103.0.5060.114(正式版本) (64 位)

2.2 部署规划

主机名IP域名服务备注
qianfeng01192.168.10.1018G/2CPU
qianfeng02192.168.10.1023G/2CPU
qianfeng03192.168.10.1033G/2CPU

2.3 服务器主机映射

添加本机的静态IP和本机的主机名及域名之间的映射关系,如果不用域名可以不用添加,如果阿里云服务器也建议使用静态IP,我的具体配置如下:

[root@qianfeng01 ~]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.10.101 qianfeng01
192.168.10.102 qianfeng02
192.168.10.103 qianfeng03

注意

  1. 规划中的每一台服务器都需要执行
  2. 如果该步骤已经做过,直接跳过即可

2.4 服务器免登录配置

# 1. 使用rsa加密技术,生成公钥和私钥。一路回车键即可
[root@qianfeng01 ~]# ssh-keygen -t rsa

# 2. 使用ssh-copy-id命令
[root@qianfeng01 .ssh]# ssh-copy-id  root@qianfeng01
[root@qianfeng01 .ssh]# ssh-copy-id  root@qianfeng02
[root@qianfeng01 .ssh]# ssh-copy-id  root@qianfeng03

# 3. 验证免登录	
[hadoop@qianfeng01 .ssh]# ssh qianfeng01
[hadoop@qianfeng01 .ssh]# ssh qianfeng02
[hadoop@qianfeng01 .ssh]# ssh qianfeng03

# 4. 继续在qianfeng02和qianfeng03生成公钥和私钥,给三台节点互相拷贝和验证是否达到免登录。

2.5 防火墙关闭

每台规划安装的服务器都执行如下的命令。

#停止防火墙
[root@qianfeng01 ~]# systemctl stop firewalld
#禁用防火墙(开机不再自启动)
[root@qianfeng01 ~]# systemctl disable firewalld
#停止网络管理
[root@qianfeng01 ~]# systemctl stop NetworkManager
#禁用网络管理
[root@qianfeng01 ~]# systemctl disable NetworkManager

注意

  1. 如果是阿里云服务器或者云服务器,没有办法或不允许关闭的,需要注意添加防火墙规则
  2. 如果可以关闭,每一台服务器都需要执行防火墙关闭和禁止开机自启动

2.6 关闭Selinux

每台服务器都需要将selinux关闭掉,这是linux系统的一个安全机制,进入文件中将SELINUX设置为disabled,不关闭安装CM就应该会报错。

#关闭selinux,设置SELINUX=permissive,或者disable 然后重启服务器
[root@qianfeng01 ~]# vim /etc/selinux/config
.........
SELINUX=disabled			
.........
#关闭selinux,当前session生效,setenforce 0,其中的0就是permissive
[root@qianfeng01 ~]# setenforce 0

2.7 设置最大打开文件

每台服务器都执行如下命令行。

#设置,再末尾添加即可
[root@qianfeng01 ~]# vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 1024999
* soft nproc 65535
* hard nproc unlimited
* soft memlock unlimited
* hard memlock unlimited

2.8 关闭最大透明页面压缩

每台服务器都执行,并且设置后需要重启服务器。

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /etc/rc.local

2.9 设置Swappiness空间

每台服务器都需要执行,并且设置后需要重启服务器。

echo "vm.swappiness=0"  >> /etc/sysctl.conf

Cloudera建议将交换空间设置为0,过多的交换空间会引起GC的耗时激增。

2.10 安装JDK

每台规划的安装CM或者CDH的服务器都需要执行如下的JDK安装操作,如果已经做过,忽略即可。

  1. 卸载之前的JDK

    # 卸载之前的原因,主要是需要保证安装的JDK版本的正确性。
    [root@qianfeng01 ~]# rpm -qa | grep jdk     		# 如果有,请卸载
    [root@qianfeng01 ~]# rpm -e xxxxxxxx --nodeps      	# 将查询到的内置jdk强制卸载
    
  2. 上传JDK安装包到指定的路径

    使用MobaXterm或者FinalShell直接上传即可,上传到 /root/softwares 下
    
  3. 解压JDK到指定安装路径

    [root@qianfeng01 ~]# cd /root/softwares && tar -zxvf jdk-8u152-linux-x64.tar.gz -C /usr/local
    
  4. 配置环境变量

    [root@qianfeng01 local]# vim /etc/profile
    
    ...上述内容省略,在末尾添加即可...
    # Java Environment
    export JAVA_HOME=/usr/local/jdk1.8.0_152
    export PATH=$PATH:$JAVA_HOME/bin
    
  5. 重新引导,使得环境变量生效

    [root@qianfeng01 local]# source /etc/profile
    
  6. 验证JDK是否配置完成

    [root@qianfeng01 local]# java -version
    
  7. 创建jdk的软链接

    #分别在qianfeng01、qianfeng02和qianfeng03上执行如下命令:
    mkdir -p /usr/java
    ln -s /usr/local/jdk1.8.0_152 /usr/java/default
    

注意

  1. Cloudera强烈建议安装oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm,否则容易造成JAVA_HOME不被发现。但是我测试不安装他建议的oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm很多次都没有问题。这个大家自行考虑。
  2. 上诉第7步骤创建软链接都建议需要操作,否则cdh安装可能有很多地方意向不到的错误,因为CDH默认都在/usr/java下找jdk。

2.11 MySQL安装部署

我下面给出MySQL 5.7.28和MySQL 8.0.26的安装部署,根据自己的需求,选择一种即可(MySQL部署一台服务器即可,生产部署集群或主从)。本次安装我选择的是MySQL 5.7.28来安装。

2.11.1 MySQL5.7.28安装部署
#如下是5.7.28的mysql的安装命令
1. 上传服务器的home目录
2. 分别执行命令如下
#解压MySQL安装包
tar -xvf /home/mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar 

#查询mariadb,并将其卸载
rpm -qa| grep mariadb
rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps
rpm -qa| grep mariadb

#依次安装解压出来的MySQL包
rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm 
rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
#安装server需要的依赖
yum -y install perl net-tools
rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm 
rpm -ivh /home/mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm  #为了cms的agent安装需要,单独MySQL不需要

#启动或者停止MySQL服务
systemctl start mysqld
systemctl status mysqld

#查询MySQL的初始密码
cat /var/log/mysqld.log | grep password

#登录MySQL进行密码策略修改和授权
mysql -uroot -p
 输入密码(刚才查询出来的初始化密码)
mysql>set global validate_password_policy=low;
mysql>set global validate_password_length=2;
mysql>alter user root@localhost identified by '123456';

# 3. 远程授权
create user root@'%' identified by '123456';
grant all privileges on *.* to 'root'@'%' with grant option;

# 4. 删除mysql表中的Host='localhost' and User = 'root'
mysql> delete from mysql.user where Host="localhost" and User = 'root';

# 5. 刷新权限
flush privileges;
2.11.2 MySQL 8.0.26安装部署
  1. 安装包准备

    通过SSH工具,将MySQL的RPM安装包上传到Linux的 ~/software 目录下。
    
    MySQL的RPM安装包,可以在MySQL的官网下载,也可以直接使用课程提供的资料。 注意事项:
    - 在官网下载安装包的时候,注意版本号
    - mysql-8.0.26-1.el7.aarch64.rpm-bundle.tar
    - 这里的el7,表示适用于CentOS7的版本。注意,不要下载el6的。
    - aarch64: 这个表示arm版本的CentOS,如果是amd64架构的,可以选择x64。
    
  2. 安装前准备

     # CentOS7中,系统默认采用的数据库是mariadb,这个数据库与MySQL冲突!
    # 因此,在安装MySQL之前,需要先将其卸载!
    [root@qianfeng01 ~]# rpm -qa | grep mariadb 	# 查询是否已经安装了mariadb 
    mariadb-libs-5.5.68-1.el7.aarch64 				# 查询结果。如果没有这个结果,说明没有安装。
    
    # 强制卸载mariadb
    # --nodeps: 强制卸载,RPM卸载程序的时候,如果这个程序被其他的程序依赖,是无法卸载的。
    # 			此时,就需要使用--nodeps,忽略依赖,强制卸载。
    # 下面的卸载命令中,卸载的包是上方查询到的包
    [root@qianfeng01 ~]# rpm -e mariadb-libs-5.5.68-1.el7.aarch64 --nodeps
    
  3. 安装MySQL

     # 安装MySQL, 其实就需要安装 mysql-community-server, 但是它依赖其他的包
    [root@qianfeng01 mysql]# rpm -ivh mysql-community-common-8.0.26-1.el7.aarch64.rpm 
    [root@qianfeng01 mysql]# rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.aarch64.rpm
    [root@qianfeng01 mysql]# rpm -ivh mysql-community-libs-8.0.26-1.el7.aarch64.rpm 
    [root@qianfeng01 mysql]# rpm -ivh mysql-community-libs-compat-8.0.26-1.el7.aarch64.rpm 
    [root@qianfeng01 mysql]# rpm -ivh mysql-community-client-8.0.26-1.el7.aarch64.rpm 
    [root@qianfeng01 mysql]# yum install -y net-tools
    [root@qianfeng01 mysql]# rpm -ivh mysql-community-server-8.0.26-1.el7.aarch64.rpm
    
  4. 启动MySQL的服务

     # 查看MySQL服务的运行状态
    [root@qianfeng01 ~]# systemctl status mysqld 
    # 如果MySQL服务没有开启,则开启
    [root@qianfeng01 ~]# systemctl start mysqld
    
  5. 登录到MySQL

     # 在第一次开启MySQL服务的时候,会自动生成一个随机的密码
    [root@qianfeng01 ~]# grep password /var/log/mysqld.log 
    # 到mysqld.log文件中查找 password
    2020-12-16T07:47:14.117739Z 1 [Note] A temporary password is generated for root@localhost: pVLJs6&o(QQe
    # 使用这个随机密码登录到MySQL 
    [root@qianfeng01 ~]# mysql -u root -p 
    pVLJs6&o(QQe # 这里用自己的密码登录
    
  6. 修改密码

    # 1. 修改MySQL的密码策略(安全等级)
    # MySQL默认的密码安全等级有点高,在设置密码的时候,必须同时包含大小写字母、数字、特殊字符,以及对位数有要求
    show variables like '%validate_password%';
    set global validate_password.policy=LOW;
    set global validate_password.length=2;
    set global validate_password.mixed_case_count=0;
    set global validate_password.number_count=0;
    set global validate_password.special_char_count=0;
    # 2. 修改密码
    alter user root@localhost identified by '123456';
    # 3. 远程授权
    create user root@'%' identified by '123456';
    grant all privileges on *.* to 'root'@'%' with grant option;
    
    # 4. 删除mysql表中的Host='localhost' and User = 'root'
    mysql> delete from mysql.user where Host="localhost" and User = 'root';
    
    # 5. 刷新权限
    flush privileges;
    
  7. 重新登录

    试着退出MySQL,用新的密码重新登录。如果可以登录成功,那么MySQL的安装就到此结束!
    MySQL在安装完成后,是不需要配置环境变量的。因为RPM的安装特性,启动脚本会被放到/usr/bin下。这个路径本来 就在环境变量里面,不需要单独配置。
    
  8. 提前为CMS创建相关数据库

    # 登录mysql
    mysql -uroot -p
    # 登录后执行下面的sql
    CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'scm123456';
    CREATE DATABASE hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    CREATE DATABASE oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    CREATE DATABASE hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    CREATE DATABASE report DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    
    grant all privileges on *.* to 'root'@'%' identified by '123456';
    flush privileges;
    

注意

  1. MySQL使用一台服务器安装部署即可。
  2. MySQL一定要授权远程某一个指定IP规则的服务器能登录到。
  3. 如果使用阿里云或者物理机服务器,建议把密码等级和权限等级都提升。

2.12 所有节点安装MySQL JDBC驱动依赖包

 # 主节点创建/usr/share/java目录,将jdbc的jar包放进去
[root@qianfeng01 home]# mkdir -p /usr/share/java  # cdh默认搜索目录
[root@qianfeng01 home]# cp mysql-connector-java-5.1.28-bin.jar /usr/share/java/mysql-connector-java.jar # 去掉版本号
#采用远程分发
[root@qianfeng01 cloudera-scm-server]# scp -r /usr/share/java qianfeng02:/usr/share/                                                                                                                          
[root@qianfeng01 cloudera-scm-server]# scp -r /usr/share/java qianfeng03:/usr/share/

2.13 创建ClouderaManager用户

每台节点都执行如下操作。

useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

三 CM和CDH部署

3.1 上传安装文件

╭liyadong at ~
╰$ scp ~/Desktop/CDH6.3.2.zip qianfeng01:/home
[root@qianfeng01 home]# unzip ./CDH6.3.2.zip

需要安装包的,留言我发你链接即可,留言必发!!!

3.2 创建cloudera-manager目录

#创建目录
[root@qianfeng01 home]# mkdir /opt/cloudera-manager
#解压CDH安装文件
[root@qianfeng01 home]# cd ./CDH6.3.2
[root@qianfeng01 CDH6.3.2]# tar -zxvf cm6.3.1-redhat7.tar.gz
#移动
[root@qianfeng01 CDH6.3.2]# cp ./cm6.3.1/RPMS/x86_64/cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm /opt/cloudera-manager/
[root@qianfeng01 CDH6.3.2]# cp ./cm6.3.1/RPMS/x86_64/cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm /opt/cloudera-manager/
[root@qianfeng01 CDH6.3.2]# cp ./cm6.3.1/RPMS/x86_64/cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm /opt/cloudera-manager/
#列出软件
[root@qianfeng01 CDH6.3.2]# ll /opt/cloudera-manager/
总用量 1185872
-rw-r--r--. 1 root root   10483568 3月  25 13:24 cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r--. 1 root root 1203832464 3月  25 13:25 cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r--. 1 root root      11488 3月  25 13:25 cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm

3.3 分发cloudera-manager到其他节点

[root@qianfeng01 CDH6.3.2]# scp -r /opt/cloudera-manager/ qianfeng02:/opt/
[root@qianfeng01 CDH6.3.2]# scp -r /opt/cloudera-manager/ qianfeng03:/opt/

3.4 每个节点安装daemons、agent

#先安装agent需要的依赖(每台节点都执行)
[root@qianfeng01 ~]# yum install -y redhat-lsb httpd mod_ssl openssl-devel python-psycopg2 MySQL-python libpq.so
[root@qianfeng02 ~]# yum install -y redhat-lsb httpd mod_ssl openssl-devel python-psycopg2 MySQL-python libpq.so
[root@qianfeng03 ~]# yum install -y redhat-lsb httpd mod_ssl openssl-devel python-psycopg2 MySQL-python libpq.so
 
#agent需要提前安装的依赖(每台节点都执行)
[root@qianfeng01 ~]# yum -y install perl bind-utils libxslt cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs psmisc openssl httpd mod_ssl openssl-devel python-psycopg2 MySQL-python postgresql-libs.x86_64 lsb
[root@qianfeng02 ~]# yum -y install perl bind-utils libxslt cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs psmisc openssl httpd mod_ssl openssl-devel python-psycopg2 MySQL-python postgresql-libs.x86_64 lsb
[root@qianfeng03 ~]# yum -y install perl bind-utils libxslt cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs psmisc openssl httpd mod_ssl openssl-devel python-psycopg2 MySQL-python postgresql-libs.x86_64 lsb

#每台节点安装cloudera-manager-daemons,安装完毕后生成/opt/cloudera目录
[root@qianfeng01 ~]# rpm -ivh /opt/cloudera-manager/cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
[root@qianfeng02 ~]# rpm -ivh /opt/cloudera-manager/cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
[root@qianfeng03 ~]# rpm -ivh /opt/cloudera-manager/cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
#每台节点安装
[root@qianfeng01 ~]# rpm -ivh /opt/cloudera-manager/cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
[root@qianfeng02 ~]# rpm -ivh /opt/cloudera-manager/cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
[root@qianfeng03 ~]# rpm -ivh /opt/cloudera-manager/cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm

3.5 主节点安装server

[root@qianfeng01 ~]# rpm -ivh /opt/cloudera-manager/cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm

3.6 Server配置

## 主节点修改server的配置,确定以下项与之前创建库时一致,用户名和密码授权的也要和如下一致
[root@qianfeng01 CDH6.3.2]# vi /etc/cloudera-scm-server/db.properties
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=qianfeng01
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.password=scm123456
com.cloudera.cmf.db.setupType=EXTERNAL

3.7 Agent配置

## 每个从节点修改agent的配置,指向server的节点
[root@qianfeng01 CDH6.3.2]# vi /etc/cloudera-scm-agent/config.ini
server_host=qianfeng01

3.8 初始化Server需要的数据库

# 初始化cm数据库(密码自己设置)
[root@qianfeng01 ~]# /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm scm123456
 
# 脚本参数解释
scm_prepare_database.sh 【数据库类型】 【CDH要创建的数据库名称】 【CDH数据库用户名】 【CDH数据库用户密码】

3.9 部署离线parcel源

[root@qianfeng01 CDH6.3.2]# mkdir -p /opt/cloudera/parcel-repo
[root@qianfeng01 CDH6.3.2]# mv /home/CDH6.3.2/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel /opt/cloudera/parcel-repo
[root@qianfeng01 CDH6.3.2]# mv /home/CDH6.3.2/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
[root@qianfeng01 CDH6.3.2]# mv /home/CDH6.3.2/manifest.json /opt/cloudera/parcel-repo

3.10 启动CMS的Server和Agent

## 主节点启动server
[root@qianfeng01 CDH6.3.2]# systemctl start cloudera-scm-server
 
# 查看日志,出现7180说明启动成功,,有错误解决错误
[root@qianfeng01 CDH6.3.2]# tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
 
## 查看端口 7180
[root@qianfeng01 CDH6.3.2]# netstat -nltcp | grep 7180 
# qianfeng01:7180可以进入web页面表示成功,接下来启动agent
 
## 每个从节点启动agent
[root@qianfeng01 CDH6.3.2]# systemctl start cloudera-scm-agent
 
## 停止
[root@qianfeng01 CDH6.3.2]# systemctl stop cloudera-scm-server
[root@qianfeng01 CDH6.3.2]# systemctl stop cloudera-scm-agent
[root@qianfeng01 CDH6.3.2]# systemctl disable cloudera-scm-server # 关闭开机启动
[root@qianfeng01 CDH6.3.2]# systemctl disable cloudera-scm-agent # 关闭开机启动

3.11 Windows配置映射

#编辑如下的配置文件,mac系统为/etc/hosts文件,追加如下3行映射
C:\Windows\System32\drivers\etc\hosts

192.168.10.101 qianfeng01
192.168.10.102 qianfeng02
192.168.10.101 qianfeng03

3.12 访问Server

http://qianfeng01:7180 ,默认用户名和密码都为admin,自己登录即可。

image-20230326173827742

四 CDH集群安装

4.1 CMS主页面

登录CMS,成功后进入CMS的主页面如下,如下图所示:

image-20230326174029688

4.2 接受许可协议

点击如上图中的右下角的继续接受许可协议,如下图所示:

image-20230326174153429

4.3 版本选择

CMS总共提供三个版本,最左边是免费版、中间是试用期60天版(到期后会通知,不缴费自动转免费版)和最右企业版。我这里选择试用60天,如下图所示:

image-20230326174306383

4.4 CDH集群安装

4.4.1 CDH集群安装主页面

进入群集安装,选择右下角的继续即可:

image-20230326174409046

4.4.2 集群名称

集群名称填写,如下图所示:

image-20230326174550584

4.4.3 指定主机

选择主机,用于安装CDH相关软件包的主机,会自动检测出来,我们只需要勾选即可,如下图所示:

image-20230326175927709

4.4.4 选择pracel

选择CDH的版本,即CDH对应的Parcels(它里面包含一系列的CDH相关服务的软件包),这个地方显示的就是我们之前部署离线parcel源步骤的结果,然后继续即可:

image-20230326181124150

4.4.5 安装Parcels

开始安装Parcels,将主服务器上的Parcels下载、分配到其它服务器,并进行解压和激活可用操作,所以这一步需要稍微等一会,等待安装成功如下图所示:

image-20230326181649856

4.4.6 检测网络性能和主机

检测服务器之间的网络性能、到达性,该步骤防火墙最好关闭;检查所有主机环境是否符合安装Parcels相关包,比如检测JAVA环境是否一致和最大透明页是否关闭等。检测成功如下图所示:

image-20230326182010861两个都检测成功如下所示:

image-20230326183627760

4.4.7 选择服务

选择安装那些服务,它提供几类系列搭配和自定义服务,我这里选择大数据开发,如下图所示:

image-20230326185333925

4.4.8 角色分配

就是将选择的服务分配到指定主机上安装,默认就设置了,大家认真检查一下是否是自己所需要的即可,适当调整,也可以进入按主机查看来进行调整也行,具体分配如下图所示:

image-20230326185547831

image-20230326185804089

4.4.9 数据库设置

配置对应服务的元数据库、用户名和密码,使用提前创建的好的数据库,用户名对对应的库一定要有对应的权限,测试全部连接成功后,选择右下角的继续。具体如下图所示:

image-20230326193246321

4.4.10 审核配置更改

可以根据自己需要修改一些服务的相关配置,我这儿全部采用默认,具体如下图所示:

image-20230326193534008

image-20230326193623400

4.4.11 首次运行CDH集群

第一次运行CDH集群的相关命令详细信息,不需要操作,如有报错,查看对应的错误信息,等待完成。然后选择继续即可:

image-20230326194557352

4.4.12 汇总

服务安装和运行的汇总,通常都是完成状态,如下图:

image-20230326194650859

点击完成,到此为止CDH安装结束。

五 CDH 集群操作

5.1 CDH集群主页面

CDH集群主页面面服务及状态查看:

image-20230326204637922

上图中,绿色✅小圆圈代表正常,黄色对勾小圆圈代表异常,红色对勾小圆圈代表错误。黄色小扳手代表配置异常。

CDH主页面的顶部顶部导航概览:

image-20230326233140401

如主机下的角色分配:

image-20230327002900591

5.2 HDFS服务

HDFS的配置如下:

image-20230326231857579

访问HDFS的NameNode服务:

image-20230326231320204

访问如下图:

image-20230326231355263

5.3 YARN服务

YARN服务介绍:

image-20230326232428751

查看ResourceManager的Web UI:

image-20230326232531110

5.4 Hue服务与操作

Hue相关服务:

image-20230326234943448

Hue创建用户:

image-20230326233432582

Hue面板介绍:

image-20230326233804606

Hue执行Hive相关命令:

image-20230326234525084

5.5 用户&角色管理

添加CDH用户:

image-20230326235123146

添加用户:

image-20230326235422957

角色则是,为某个用户分配某个集群什么权限,自行操作即可。

六 CDH集群拓展

6.1 CDH安装后目录介绍

CDH在服务器相关服务的安装目录:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/服务名称

CDH在服务器相关的配置目录:/etc/服务名称 或者 /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/etc/服务名称,建议第一种方式。

CDH在服务器相关服务命令行目录:/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/bin/服务命令/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/服务名称/bin/对应服务

6.2 启用HDFS的HA

参考我的文章:https://blog.csdn.net/u010839779/article/details/129162558?spm=1001.2014.3001.5502

6.3 启用YARN的HA

参考我的文章:https://blog.csdn.net/u010839779/article/details/129254636?spm=1001.2014.3001.5502

6.4 其它CDH相关问题(升级Hive版本、安装Apache Spark等)

参考我的CDH分类专栏:https://blog.csdn.net/u010839779/category_12198067.html

参考:
https://blog.csdn.net/suwei825/article/details/120761437

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/416697.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mysql中增删改成的练习

文章目录一、表的创建1.student表的数据2、课程表的数据course3、学生成绩表的数据二、操作序列1、查询计算机系cs的全体学生学号、姓名和性别2、检索选修了课程号为2的学生号和姓名3、检索至少选修了三门课以上的学生号4、检索选修了全部课程的学生5、在原表的基础上创建一个视…

java并发-线程池

java并发-线程池 线程池的介绍 Java线程池表示一组等待工作并多次重用的工作线程。在线程池的情况下,创建了一组固定大小的线程。服务提供者从线程池中拉出一个线程并分配一个作业。完成作业后,线程再次包含在线程池中。 使用线程池可以节省多线程应用…

Revit中如何绘制四面倾斜的屋顶?

一、Revit中如何绘制四面倾斜的屋顶? 如下图所示,像这种坡屋顶有两种方法进行绘制。具体操作如下。 第一种:定义坡度。 1、点击建筑选项卡中的屋顶按钮。 2、选择使用矩形工具。将偏移值修改为500。将屋顶迹线绘制出来。 3、选中全部屋顶迹…

信号浪涌保护器SPD选型方案

1.最大连续工作电压(Uc):信号电路的最大电压必须小于Uc 最大连续工作电压Uc是最大工作信号电压,是电涌保护装置长期运行的信号电压或直流电压的最大有效值。这也是在额定漏电流条件下线与线之间或线与地之间的最大电压&#xff0…

UFT常用检查点的使用

录制时Flight自动打开。创建三个Action,分别命名为01_Login/02_New Order/03_Logout, 在Action里录制对应的Login/New Order/Logout操作。用飞机票预定系统订票,在02_New Order中设置起飞和到达城市参数化,用本地表数据(至少2组数…

【排序算法(二)】选择排序(直接选择排序堆排序)

​ ​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:数据结构 🎯长路漫漫浩浩,万事皆有期待 文章目录1、直接选择排序1.1 …

腾讯云轻量应用服务器搭建网站教程(WordPress为例)

腾讯云轻量应用服务器搭建WordPress网站教程,先安装WordPress应用镜像,然后远程连接轻量应用服务器获取WP用户名和密码,域名DNS解析到轻量服务器IP地址,登陆WordPress后台管理全过程,腾讯云百科来详细说下腾讯云轻量服…

作用域、闭包的理解、GC算法

1、全局作用域的变量是不会自动的的释放掉的 例如在 <script >let title "hello world"function coming(){alter(title) }</script> 只要不关闭网页或者浏览器&#xff0c;我们都可以在控制台调用 2、作用域环境我们可以理解为一块内存数据 3、函数作…

研报精选230416

目录 【行业230416国联证券】汽车行业4月周报&#xff1a;上海车展期待值高&#xff0c;政策加码一体化压铸【行业230416国联证券】农林牧渔行业周报&#xff1a;低猪价加深去化幅度&#xff0c;高标准农田建设推进【个股230416安信证券_万华化学】Q1业绩超预期&#xff0c;TDI…

靶机精讲之Prime

主机发现 192靶机 扫描靶机 进行对端口的服务和版本的扫描 保存信息 扫描UDP 一般都是http优先然后再shh vuln脚本扫描 web渗透 查看源码 目录爆破 dirb 翻刚才扫到的目录 dirb指定文件类型扫描 读取文件 保存 浏览链接 wfuzz模糊测试 专门扫PHP 只有两目录 浏览页面 模糊…

react2:children属性 - props进阶 - 生命周期

children属性&#xff1a;父想给子组件传递内容&#xff0c;都需要通过children占位 children属性&#xff1a;类似vue中的slot效果 props 类型验证 &#xff1a;现在都是 typescript 替代了 ref 放普通标签上可以获取dom节点 ref 放组件上获取组件实例&#xff0c;可以调用组件…

「C/C++」C/C++内存四大分区

博客主页&#xff1a;何曾参静谧的博客 文章专栏&#xff1a;「C/C」C/C学习 目录术语一、文本区&#xff08;Text Segment&#xff09;/ 代码区二、数据区&#xff08;Data Segment&#xff09;/ 全局区三、栈区&#xff08;Stack Segment&#xff09;四、堆区&#xff08;Hea…

Redis应用问题解决

16. Redis应用问题解决 16.1 缓存穿透 16.1.1 问题描述 key对应的数据在数据源并不存在&#xff0c;每次针对此key的请求从缓存获取不到&#xff0c;请求都会压到数据源&#xff0c;从而可能压垮数据源。比如用一个不存在的用户id获取用户信息&#xff0c;不论缓存还是数据库…

美元霸权的潜在风险——无锚货币,为什么都要刺激消费

第三章 美元体系的风险结构与定价 金句导读 结果平等 没有智慧&#xff0c;优胜劣汰 没有良心。竞争都不充分。 年轻人有出路&#xff0c;穷人有活路&#xff0c;先富起来的人才能有后路。 名词解释&#xff1a; 对冲风险&#xff1a;我是卖面包的的&#xff0c;我还囤很多面…

【持续更新篇】SLAM视觉特征点汇总+ORB特征点+VINS前端

Harris角点 opencv函数 cornerHarris提取输入图像的Harris角点 检测原理 检测思想&#xff1a;使用一个固定窗口在图像上进行任意方向的滑动&#xff0c;对比滑动前后的窗口中的像素灰度变化程度&#xff0c;如果存在任意方向上的滑动&#xff0c;都有较大灰度变化&#xf…

Jetpack Compose 实战 宝可梦图鉴

文章目录前言实现效果一、架构介绍二、一些的功能点的介绍加载图片并获取主色,再讲主色设置为背景一个进度缓慢增加的圆形进度条单Activity使用navigation跳转Compose可组合项返回时页面重组的问题hiltViewModel()主要参考项目总结前言 阅读本文需要一定compose基础&#xff0…

Python爬虫|全国补充耕地项目数量爬取与分析——多进程案例

一、使用的库 import requests from lxml import etree import time import random import re import openpyxl import openpyxl from pyecharts.charts import Bar, Pie from pyecharts import options as opts from multiprocessing.dummy import Pool 二、数据爬取思路 1…

手拉手Centos7安装配置Redis7

Redis&#xff08;Remote Dictionary Server )&#xff0c;即远程字典服务&#xff0c;是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API。 Redis是一个NoSQL数据库&#xff0c;常用缓存(cache) Re…

Spark 安装及WordCount编写(Spark、Scala、java三种方法)

Spark 官网&#xff1a;Apache Spark™ - Unified Engine for large-scale data analytics Spark RDD介绍官网&#xff1a;https://spark.apache.org/docs/2.2.0/api/scala/index.html#org.apache.spark.rdd.RDD 下载好spark解压mv到软件目录 linux>mv spark-xxx-xxx /op…

统计套利策略

统计套利策略套利策略跨品种套利标的择时风控套利策略 套利是&#xff0c;某种商品在&#xff08;在同一市场或不同市场&#xff09;拥有两个价格的情况下&#xff0c;以较低的价格买进&#xff0c;较高的价格卖出&#xff0c;从而实现获利的交易方式。 比如咖啡店里有小杯、…