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

article/2025/11/6 14:56:16

CDH从6.3.3版开始不再免费,6.3.2及以下版本可免费使用,大家如有需要可联系我索取安装包。

安装步骤总览

1、配置服务器系统基础环境

2、配置本地仓库

3、安装数据库

4、安装CM

5、添加大数据服务

CDH基本架构简述

 CDH主要包括两大组件cm server和cm agent,其中cm server作为CDH的服务管理端通常安装在集群中的一个节点上,cm agent需要安装在所有节点上,所有的cm agent会与cm server通信,向cm server上报数据,并且也会接收来自cm server的指令执行一些任务,说白了cm server就像是司令部,cm agent就是底下的士兵,一切行动要听从cm server的指挥。下面的内容我们暂且将安装cm server的节点称作主节点,其他节点称为子节点,注意并不是只在子节点安装cm agent,主节点也要安装cm agent,因为主节点这个机器也需要cm agent去监控起来。

一、所有节点安装前的系统准备设置

  1. 设置HOST
    vi /etc/hosts

  2. 关闭防火墙
    sudo systemctl disable firewalld
    sudo systemctl stop firewalld

  3. 设置SELinux 
    vi /etc/selinux/config

    将SELINUX=enforcing 改为 SELINUX=permissive,然后重启服务器,或者执行下面命令:

    setenforce 0

  4. 开启NTP服务(NTP服务是可选的,其他的时间同步方式或者非生产环境手动同步时间亦可)
    # 安装NTP服务
    yum install ntp# 编辑/etc/ntp.conf 添加NTP时间同步服务地址(请填写实际的时间服务器host),如下所示:
    server 0.pool.ntp.org
    server 1.pool.ntp.org
    server 2.pool.ntp.org# 开启NTP服务
    systemctl start ntpd# 设置自启动
    systemctl enable ntpd# 同步系统时间
    ntpdate -u <ntp服务器地址># 查看同步状态,如下所示为正确的同步状态
    ntpdc -npremote           local      st poll reach  delay   offset    disp
    =======================================================================
    =10.2.1.114      10.5.3.178       4   64    1 0.00203  0.000115 1.39194
    =10.5.1.114      10.5.3.178       4   64    1 0.00032  0.000037 1.39194

二、安装Cloudera Manager (CM)

  1. 在主节点(代指安装cm server的节点)配置本地yum仓库
    # 主节点安装httpd,提供yum仓库web服务,子节点可以通过访问这个web服务连接到主节点的yum源
    yum install httpd -y # 主节点开启httpd
    systemctl start httpd# 主节点创建httpd文档目录,CDH安装包资源会放到这个目录被所有节点访问到
    sudo mkdir -p /var/www/html/cloudera-repos/cm6# 主节点下载cm6本地yum仓库压缩包,注意:现在下载CDH安装包需要账户认证,没有认证的可以到我博客资源里下载
    wget https://[username]:[password]@archive.cloudera.com/p/cm6/6.3.1/repo-as-tarball/cm6.3.1-redhat7.tar.gz# 主节点解压本地yum仓库压缩包到刚才创建的httpd文档目录
    tar xvfz cm6.3.1-redhat7.tar.gz -C /var/www/html/cloudera-repos/cm6 --strip-components=1# 主节点httpd文档目录赋权
    sudo chmod -R ugo+rX /var/www/html/cloudera-repos/cm6# 在任意子节点验证httpd是否正常使用,尝试下载yum源中的一个RPM-GPG-KEY-cloudera文件,下载成功说明我们的httpd服务正常,并且yum源可以对外访问
    wget http://<主节点IP>/cloudera-repos/cm6/RPM-GPG-KEY-cloudera# 所有节点下载cloudera-manager.repo,注意:现在下载需要账户认证,没有认证的可以到我博客资源里下载
    wget https://[username]:[password]@archive.cloudera.com/p/cm6/6.3.1/redhat7/yum/cloudera-manager.repo# 所有节点将cloudera-manager.repo放置到/etc/yum.repos.d/目录,并修改下面两项内容后保存退出
    baseurl=http://<主节点IP>/cloudera-repos/cm6
    gpgkey=http://<主节点IP>/cloudera-repos/cm6/RPM-GPG-KEY-cloudera# 所有节点导入GPG key
    sudo rpm --import http://<主节点IP>/cloudera-repos/cm6/RPM-GPG-KEY-cloudera

  2. 在所有节点安装JDK
    # 一般1.8的jdk就行,我使用的CentOS-7-x86_64-DVD-2009.iso镜像yum源
    yum install java-1.8.0-openjdk-devel -y
  3. 安装CM服务
    # 在主节点安装cloudera agent和cloudera server
    sudo yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server -y
    # 在其他子节点安装cloudera agent
    sudo yum install cloudera-manager-daemons cloudera-manager-agent -y

    如果安装过程提示缺少libmysqlclient.so.18依赖则可以先执行如下命令安装:

    sudo rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm

    这种情况一般是卸载mysql相关依赖时导致的。

  4. 安装数据库(最好将数据库安装在主节点)
    # 主节点先检查系统是否自带mysql,如果有需要卸载(最好用yum remove卸载)
    rpm -qa |grep mysql
    rpm -qa |grep MySQL
    rpm -qa |grep mariadb# 主节点安装mysql
    rpm -ivh mysql-community-common-5.7.32-1.el7.x86_64.rpm
    rpm -ivh mysql-community-libs-5.7.32-1.el7.x86_64.rpm
    rpm -ivh mysql-community-client-5.7.32-1.el7.x86_64.rpm
    rpm -ivh mysql-community-server-5.7.32-1.el7.x86_64.rpm# 如果安装server时候报缺少net-tools的错,则需要先安装下net-tools
    yum install net-tools -y
    # 如果安装server时候报缺少libaio.so.1,需要先安装libaio
    yum install libaio -y
    # 如果缺少libmysqlclient.so.18,可以执行下面2条命令
    $ wget http://www.percona.com/redir/downloads/Percona-XtraDB-Cluster/5.5.37-25.10/RPM/rhel6/x86_64/Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm
    $ rpm -ivh Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm # 主节点查看mysql服务状态,开启后的状态如下所示
    systemctl status mysqld
    ● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: inactive (dead)Docs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.html# 主节点启动mysql
    systemctl start mysqld# 开启后查看随机密码
    cat /var/log/mysqld.log | grep 'password'# 主节点登录mysql测试能否正常使用
    mysql -uroot -p随机密码# 修改密码
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';

  5. 在所有节点安装数据库(mysql)驱动
    # 所有节点下载mysql驱动(驱动版本要注意兼容你的mysql)
    wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz# 解压
    tar zxvf mysql-connector-java-5.1.46.tar.gz# 创建数据库驱动存放路径
    mkdir -p /usr/share/java/# 将驱动包解压目录下的驱动jar移动到上面的路径下
    cd mysql-connector-java-5.1.46
    mv mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar

  6. 创建大数据服务组件用到的数据库(下面创建了一些常用的)
    # 登录mysql
    mysql -uroot -p
    # 登录后执行下面的sql
    create database amon default character set utf8 default collate utf8_general_ci;
    create database rman default character set utf8 default collate utf8_general_ci;
    create database hue default character set utf8 default collate utf8_general_ci;
    create database metastore default character set utf8 default collate utf8_general_ci;
    create database sentry default character set utf8 default collate utf8_general_ci;
    create database nav default character set utf8 default collate utf8_general_ci;
    create database oozie default character set utf8 default collate utf8_general_ci;
    grant all on *.* to 'root'@'%' identified by 'Abcd!234';
    flush privileges;

  7. 在主节点初始化CM数据库
    # 初始化cm数据库(密码自己设置)
    /opt/cloudera/cm/schema/scm_prepare_database.sh mysql -uroot -p12345 scm scm 12345# 脚本参数解释
    scm_prepare_database.sh 【数据库类型】 -u【数据库登录用户】 -p【数据库登录密码】 【CDH要创建的数据库名称】 【CDH数据库用户名】 【CDH数据库用户密码】

  8. 安装parcels
    1. 下载parcels,下载地址:https://archive.cloudera.com/cdh6/6.3.2/parcels/ (这些资源已经失效了,可以去我博客资源里下载)
    2. 下载标黄的四项
    3. 修改.sha文件名

      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

      将这四个文件移动到/opt/cloudera/parcel-repo下

  9. 在主节点开启cm server
    # 开启CM server
    systemctl start cloudera-scm-server

    查看启动日志,当看到有jetty服务启动成功的提示后,说明cm server已经启动完成(启动时间较长),另外启动日志里有些连接cloudera仓库失败的错误可以忽略

    sudo tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log

  10. 在所有节点开启cm agent

    #修改cm agent配置,指定cm server的连接地址
    sudo vi /etc/cloudera-scm-agent/config.ini
    修改server_host=主节点IP#开启所有节点cm agent
    sudo systemctl start cloudera-scm-agent

  11. 打开CM WEB UI,http://<主节点IP>:7180
    1. 开始安装集群
      1. 进入欢迎页
      2. 接受许可
      3. 选择安装版本(图例为6.3.3版,没有免费版可选)
      4. 进入集群安装
      5. 填写集群名称(自定义)
      6. 选择主机(在该页不要填写IP去搜索节点,应点击’当前管理的主机‘)

      7. 选择当前管理的主机(例子中只用了一个节点部署,所以只显示一个受管理主机)
      8. 选择parcel包(画红线部分是检测到的本地parcel包,如果不显示说明没被检测到,可尝试等待刷新页面或回退到欢迎页面重启cm server)
      9. 开始向所有节点分发部署安装包
      10. 进行安装前环境检查(可以根据检查结果修正环境配置,修正后重新检查并继续)
      11. 如果有检查项没通过,需要先修正配置后再次执行检查,直到所有检查项均正常,如果有些配置的的修正涉及到重启服务器等需要停止cm server服务的操作,要先回退到欢迎页面并停止cm server服务,重启完成继续从第一步进行(非生产环境下的检查项异常大多可以忽视)
      12. 选择需要安装的大数据服务,这里选择自定义服务,这样可以按需安装
      13. 大数据服务角色分配(注意要做好角色规划,非生产环境按照默认即可)
      14. 填写数据库信息(有些大数据服务需要数据库支持,例如hive、oozie等,所以需填写数据库信息)

      15. 修改大数据服务相关数据目录路径,例如hdfs、kafka数据目录等
      16. 开始安装服务
      17. 服务安装完成
  12. 安装kerberos(一般人不需要安这个玩意儿,到此cdh安装就结束了)
    # 安装kerberos,注意要安装1.15.1-50.el7版本左右的,不能太低,不然CDH开启kerberos报错
    # kerberos 1.15.1-50.el7版本在CentOS-7-x86_64-DVD-2009.iso镜像的yum源里就有
    # 选择一个节点安装kerberos服务端
    yum -y install krb5-server openldap-clients# 所有节点安装客户端及相关库
    yum install -y krb5-workstation krb5-libs# 所有节点修改krb5.conf
    sudo vi /etc/krb5.conf# krb5.conf示例内容如下:
    # Configuration snippets may be placed in this directory as well
    includedir /etc/krb5.conf.d/
    [logging]default = FILE:/var/log/krb5libs.logkdc = FILE:/var/log/krb5kdc.logadmin_server = FILE:/var/log/kadmind.log
    [libdefaults]dns_lookup_realm = falseticket_lifetime = 24hrenew_lifetime = 7dforwardable = truerdns = falsepkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crtdefault_realm = kunlun.test
    # default_ccache_name = KEYRING:persistent:%{uid}
    [realms]kunlun.test = {kdc = bjzj1-vbig-tmp02admin_server = bjzj1-vbig-tmp02}[domain_realm].bjzj1-vbig-tmp02 = kunlun.testbjzj1-vbig-tmp02 = kunlun.test# kerberos服务节点修改kdc.conf
    sudo vi /var/kerberos/krb5kdc/kdc.conf# kdc.conf示例内容如下:
    [kdcdefaults]kdc_ports = 88kdc_tcp_ports = 88
    [realms]kunlun.test = {#master_key_type = aes256-ctsmax_renewable_life = 7d 0h 0m 0sdefault_principal_flags = +renewableacl_file = /var/kerberos/krb5kdc/kadm5.acldict_file = /usr/share/dict/wordsadmin_keytab = /var/kerberos/krb5kdc/kadm5.keytabsupported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal}max_life = 24h# kerberos服务节点修改kadm5.acl
    sudo vi /var/kerberos/krb5kdc/kadm5.acl# kadm5.acl示例内容如下:
    */admin@kunlun.test     *#创建数据库
    kdb5_util create -r kunlun.test -s# 开启kdc、kadmin服务
    sudo systemctl start krb5kdc
    sudo systemctl start kadmin
    systemctl enable krb5kdc 
    systemctl enable kadmin# 创建管理员账户,用于CDH开启kerberos时自动创建principal
    kadmin.local:addprinc admin/admin
    # 记得创建完后测试下该用户

  13. 为CDH开启kerberos

----------------------------------------------------------------------------------------------------------------------

看到这里点个赞吧,如遇安装问题可随时私信我~


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

相关文章

CDH安装部署步骤

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

CDH安装配置(详细说明)

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

CDH的安装详细步骤

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

CDH6.2.0详细安装步骤

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

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

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

如何学习 C 语言?

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

关于学好C语言的心得

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

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

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

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

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

零基础如何学好C语言?

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

怎样学习C语言?

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

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

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

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

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

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

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

如何学好C语言?

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

新手如何学好C语言?

作为一名资深码农&#xff0c;在软件行业也拼搏了十多年&#xff0c;这里跟想学习C语言的萌新童鞋分享下我的个人学习心得&#xff01;&#xff01;&#xff01; 在大学时代&#xff0c;我们大二才开始学习C语言&#xff08;起步有点晚啊&#xff09;&#xff0c;第一次看到那…

完全卸载nginx的详细步骤

一个执着于技术的公众号 前言 在开局配置Nginx时有可能会配置错误&#xff0c;报各种错误代码。看不懂或者懒得去看这个报错时&#xff0c;其实最简单的方式是卸载并重装咯。今天就带大家一起学习下&#xff0c;如何彻底卸载nginx程序。 卸载nginx程序的详细步骤 1、停止Nginx软…

Linux中完全卸载nginx及安装的详细步骤

前言 在开局配置Nginx时有可能会配置错误&#xff0c;报各种错误代码。看不懂或者懒得去看这个报错时&#xff0c;其实最简单的方式是卸载并重装咯。今天就带大家一起学习下&#xff0c;如何彻底卸载nginx程序。 一、卸载NGINX 卸载nginx程序的详细步骤 1、停止Nginx软件 …

Linux 下卸载nginx的操作步骤(亲测有效)

亲测有效&#xff0c;傻瓜式步骤&#xff0c;按着步骤来你也可以成功卸载nginx!!! 1.执行命令&#xff0c;看nginx是否在运行 ps -ef|grep nginx 上图可看出nginx在运行状态&#xff0c;接下来 2.到nginx的安装目录下 cd /tmp/upload/software/nginx 3.输入停止…