一、环境准备

  准备至少3台设备;CentOS7系统;

如果是在实验环境下,给虚拟机的内存至少4G,根建议1T,数据盘1T,由于是虚拟机,所以根分区和数据盘放心大胆的给;如果是在生产环境则多多益善;我这次的实验环境是三台2G内存,50G硬盘的腾讯云主机(CentOS7.5),不知是否能搭建成功,试试吧;

二、数据库安装

  注意:以下数据库的配置方式是错误的,一定不要yum安装数据库,yum安装在CentOS7上是mariadb5.5版本的;在最后初始化的时候会遇到各种古怪问题,我的CDH版本明明是5版本的,但是错误提示是识别到我的CDH版本是3的,需要我升级到4,再到5;然后我直接在CentOS7上二进制安装了mysql5.7完美解决各种古怪问题;所以以下数据库的安装都是错误示范;我之所以保留也是为各位有缘人不要犯跟我一样的错误;

  如果想参考正确的数据库配置方式,请参考:https://www.cnblogs.com/zhangzhide/p/11124064.html我的这篇博文中的mysql安装部分就好;

  这篇笔记除了数据库安装部分有问题之外其他的都是亲测正确的;希望这篇博文能够帮助到有缘人;

  既然是yum安装那就一键yum到底;

1、yum install mariadb mariadb-server -y

  2、启动mariadb服务,并开机自启

    systemctl start mariadb  确认3306端口已经启动

systemctl enable mariadb

  3、修改密码并配置授权用户

    MariaDB [mysql]> SET PASSWORD FOR 'root'@'localhost'=PASSWORD('123.com');

   MariaDB [(none)]> CREATE DATABASE scm DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ##创建scm数据库并指定字符集为utf8mb4,排序规则为utf8mb4_unicode_ci,ci表示不区分字母大小写;

MariaDB [(none)]> CREATE USER 'scm'@'172.21.0.%' IDENTIFIED BY '123.com';  ##创建'scm'@'172.21.0.%'用户

MariaDB [(none)]> GRANT ALL PRIVILEGES ON scm.* TO 'scm'@'172.21.0.%';   将scm库下的表的所有权授权给scm用户;

MariaDB [(none)]> FLUSH PRIVILEGES; ##让配置立即生效;

  4、用新创建的用户登陆测试是否能正常使用;

    (vir-3.5.2) [root@master ~]# mysql -uscm -h172.21.0.3 -p

    Enter password:
    Welcome to the MariaDB monitor. Commands end with ; or \g.
    Your MariaDB connection id is 8
    Server version: 5.5.60-MariaDB MariaDB Server

    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

    MariaDB [(none)]> show databases;
    +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | scm |
    | test |
    +--------------------+
    3 rows in set (0.00 sec)

    MariaDB [(none)]> use scm;
    Database changed
    MariaDB [scm]> show tables;
    Empty set (0.00 sec)

三、自建镜像安装地址

  官方镜像安装地址(https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.16.1/RPMS/x86_64/)  由于源在国外,访问会很慢,所以就自建源能快速安装;

1、安装nginx作为web服务并启动

    yum install nginx -y

  2、创建配置文件

    [root@master conf.d]# cat /etc/nginx/conf.d/yum.conf

    server {
    listen 80;
    server_name www.zhide666.com;
    root /data/yum;   #指定gen路径
    autoindex on;     #开启目录浏览功能

              autoindex_exact_size off;  #关闭详细文件大小统计,让文件大小显示MB,GB单位,默认为b

    autoindex_localtime on;  #开启以服务器本地时区显示文件修改日期

    }

  3、制作本地CM源,安装yum源制作工具

    yum install yum-utils createrepo yum-plugin-priorities -y

    访问效果图:

    

  4、下载CDH版本存放到指定的路径下

四、配置自己创建的yum源

  官方yum源:https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/cloudera-manager.repo

配置自己的cm yum源,不单单配置在自身,而且需要将自建的cm yum源配置到其他两台主机上

  [root@master yum.repos.d]# cat /etc/yum.repos.d/cloudera-manager.repo

  [cloudera-manager]
  baseurl=http://www.zhide666.com.cn/cm-5.16.1/
  gpgkey=http://www.zhide666.com.cn/cm-5.16.1/RPM-GPG-KEY-cloudera
  enable = 1
  gpgcheck = 1

       验证:

             

五、安装Cloudera Manager Server端

  [root@master yum.repos.d]# yum install cloudera-manager-daemons cloudera-manager-server -y

六、各节点安装各个节点安装Cloudera Manager Agent端

  [root@master yum.repos.d]# yum install cloudera-manager-agent -y

  [root@node1 yum.repos.d]# yum install cloudera-manager-agent -y

  [root@node2 yum.repos.d]# yum install cloudera-manager-agent -y

七、配置Cloudera Manager Server的默认堆内存大小

  堆内存至少2G,否则服务无法启动,我这里就默认不调了,云主机总共才2G;

八、初始化CM Server数据库

在初始化时遇到的错误:提示说该路径下找不到该jar文件,下载个jar文件并放到该路径下即可

九、修改Cloudera Manager Agent各节点的配置文件

  (vir-3.5.2) [root@master ~]# grep server_port /etc/cloudera-scm-agent/config.ini

  server_port=7182  #server端服务端口

  CM服务器默认是默认是localhost;所以需要将server端和agent端都改为server端的主机名;

  (vir-3.5.2) [root@master ~]# ansible -i cdh-host all -m shell -a "sed -i 's/server_host=localhost/server_host=master/g' /etc/cloudera-scm-agent/config.ini"

  master | CHANGED | rc=0 >>

  node2 | CHANGED | rc=0 >>

  node1 | CHANGED | rc=0 >>

  (vir-3.5.2) [root@master ~]# ansible -i cdh-host all -m shell -a "grep server_host /etc/cloudera-scm-agent/config.ini"

  node2 | CHANGED | rc=0 >>

  server_host=master

  master | CHANGED | rc=0 >>

  server_host=master

  node1 | CHANGED | rc=0 >>

  server_host=master

十、启动CM Server端

  (vir-3.5.2) [root@master ~]# systemctl start cloudera-scm-server

  (vir-3.5.2) [root@master ~]# systemctl status cloudera-scm-server
  ● cloudera-scm-server.service - LSB: Cloudera SCM Server
  Loaded: loaded (/etc/rc.d/init.d/cloudera-scm-server; bad; vendor preset: disabled)
  Active: active (exited) since Sun 2019-06-30 00:52:45 CST; 1h 4min ago
  Docs: man:systemd-sysv-generator(8)
  Process: 933 ExecStart=/etc/rc.d/init.d/cloudera-scm-server start (code=exited, status=0/SUCCESS)
  Tasks: 0
  Memory: 0B

  Jun 30 00:52:39 master systemd[1]: Starting LSB: Cloudera SCM Server...
  Jun 30 00:52:40 master su[1071]: (to cloudera-scm) root on none
  Jun 30 00:52:45 master cloudera-scm-server[933]: Starting cloudera-scm-server: [ OK ]
  Jun 30 00:52:45 master systemd[1]: Started LSB: Cloudera SCM Server.

  查看日志:

    tailf /var/log/cloudera-scm-server/cloudera-scm-server.log   

    2019-06-30 13:56:39,149 INFO WebServerImpl:org.mortbay.log: jetty-6.1.26.cloudera.4
    2019-06-30 13:56:39,165 INFO WebServerImpl:org.mortbay.log: Started SelectChannelConnector@0.0.0.0:7180  #如果能在日志种看到这个端口出现则表示成功了;
    2019-06-30 13:56:39,165 INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server.
    2019-06-30 13:56:39,319 INFO SearchRepositoryManager-0:com.cloudera.server.web.cmf.search.components.SearchRepositoryManager: Finished constructing repo:2019-06-30T05:56:39.319Z

  遇到的问题:   

"alter table SETTINGS
add column LDAP_USER_SEARCH_BASE varchar(1024),
add column LDAP_USER_SEARCH_FILTER varchar(1024),
add column LDAP_GROUP_SEARCH_BASE varchar(1024),
add column LDAP_GROUP_SEARCH_FILTER varchar(1024)"
Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
2019-06-30 13:47:46,021 FATAL main:org.hsqldb.cmdline.SqlFile: Rolling back SQL transaction.
2019-06-30 13:47:46,022 ERROR main:com.cloudera.enterprise.dbutil.SqlFileRunner: Exception while executing ddl scripts.
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs

解决方式:  

    (vir-3.5.2) [root@master ~]# cat /etc/my.cnf
    [mysqld]
    basedir=/usr/local/mysql-5.7.25
    datadir=/usr/local/mysql-5.7.25/data
    max_allowed_packet = 1G   #加这一行配置即可;

十一、启动个cloudera manager  agent端

    (vir-3.5.2) [root@master ~]# ansible -i cdh-host all -m shell -a "systemctl start cloudera-scm-agent"

十二、访问cloudera manager server 端的web UI;

    由于域名未备案,只能ip访问了;

   

十三、安装CDH集群

  

  ·

  这个地方选择当前管理的主机只有2台设备,其实是有3台的,一台没识别出来,这个时候就要用到新主机选项的搜索功能;

  由于是在云主机上搭建的,不知为何会认到127.0.0.1;

  

选择更多选项,将里面的官方源删掉,并加入自己的源;

基于yum安装CDH集群的更多相关文章

  1. yum安装k8s集群

    k8s的安装有多种方式,如yum安装,kubeadm安装,二进制安装等.本文是入门系列,只是为了快速了解k8s的原理和工作过程,对k8s有一个快速的了解,这里直接采用yum安装 的1.5.2为案例进行 ...

  2. 基于docker安装pxc集群

    基于docker安装pxc集群 一.PXC 集群的安装 PXC集群比较特殊,需要安装在 linux 或 Docker 之上.这里使用 Docker进行安装! Docker的镜像仓库中包含了 PXC数据 ...

  3. CentOS 7.5 使用 yum 安装 Kubernetes 集群(二)

    一.安装方式介绍 1.yum 安装 目前CentOS官方已经把Kubernetes源放入到自己的默认 extras 仓库里面,使用 yum 安装,好处是简单,坏处也很明显,需要官方更新 yum 源才能 ...

  4. Blazor+Dapr+K8s微服务之基于WSL安装K8s集群并部署微服务

         前面文章已经演示过,将我们的示例微服务程序DaprTest1部署到k8s上并运行.当时用的k8s是Docker for desktop 自带的k8s,只要在Docker for deskto ...

  5. yum安装etcd集群

       前一篇文章介绍了如何yum安装简单的kubernetes集群,其中etcd是单点部署.本篇我们来搭建etcd集群,方便日后搭建kubernetes HA集群架构. 1,环境配置说明 etcd1 ...

  6. yum安装k8s集群(kubernetes)

    此案例是以一个主,三个node来部署的,当然node可以根据自己情况部署 192.168.1.130 master 192.168.1.131 node1 192.168.1.132 node2 19 ...

  7. CDH集群安装&测试总结

    0.绪论 之前完全没有接触过大数据相关的东西,都是书上啊,媒体上各种吹嘘啊,我对大数据,集群啊,分布式计算等等概念真是高山仰止,充满了仰望之情,觉得这些东西是这样的: 当我搭建的过程中,发现这些东西是 ...

  8. CentOS7 Cloudera Manager6 完全离线安装 CDH6 集群

    本文是在CentOS7.4 下进行CDH6集群的完全离线部署.CDH5集群与CDH6集群的部署区别比较大. 说明:本文内容所有操作都是在root用户下进行的. 文件下载 首先一些安装CDH6集群的必须 ...

  9. 使用yum安装CDH Hadoop集群

    使用yum安装CDH Hadoop集群 2013.04.06 Update: 2014.07.21 添加 lzo 的安装 2014.05.20 修改cdh4为cdh5进行安装. 2014.10.22  ...

随机推荐

  1. 前端面试 -HTTP系列

    http和https 的区别? 端口 经济 安全性 响应速度 http 80端口 不需要 明文传输,安全性差 页面响应速度快,使用tcp的3次握手 https 443端口 费钱SSL需要ca 证书 S ...

  2. 使用DSVPN解决分支网络出口为ADSL场景下的内网互通

    背景 最近接到一个项目是一家机构总部与多个分支之间的内网互通,总部具有固定ip,分部是使用adsl动态获取的不固定公网ip,由于两端互联网ip不固定所以不能使用传统的GRE技术来实现,所以最后经过评估 ...

  3. MySQL(8) - MySQL的事务机制

    MySQL数据库的事务机制 1.1.事务的概念和特性 1.2.事务的隔离级别 repeatable read是mysql默认的事务隔离级别 #事务A #事务A,临时修改工资,未commit, STAR ...

  4. 219. Contains Duplicate II - LeetCode

    Question 219. Contains Duplicate II Solution 题目大意:数组中两个相同元素的坐标之差小于给定的k,返回true,否则返回false 思路:用一个map记录每 ...

  5. Android开发“HelloWorld”项目

    运行截图; 注:在activity_hello_world.xml文件中·可以改变显示内容,如图: 运行截图;

  6. map计算

    map理解 参考1: https://github.com/rafaelpadilla/Object-Detection-Metrics 参考2:https://github.com/rafaelpa ...

  7. vue新手入门之使用vue框架搭建用户登录注册案例,手动搭建webpack+Vue项目(附源码,图文详解,亲测有效)

    前言 本篇随笔主要写了手动搭建一个webpack+Vue项目,掌握相关loader的安装与使用,包括css-loader.style-loader.vue-loader.url-loader.sass ...

  8. Date类的常见用法——JavaSE基础

    Date类的常见用法 Date类属于java.util包 因此需要导入Date类 Date() 分配一个Date对象,并初始化此对象为系统当前的日期和时间,可以精确到毫秒). Date(long da ...

  9. Spring Ioc源码分析系列--容器实例化Bean的四种方法

    Spring Ioc源码分析系列--实例化Bean的几种方法 前言 前面的文章Spring Ioc源码分析系列--Bean实例化过程(二)在讲解到bean真正通过那些方式实例化出来的时候,并没有继续分 ...

  10. Prometheus 四种metric类型

    Prometheus的4种metrics(指标)类型: Counter Gauge Histogram Summary 四种指标类型的数据对象都是数字,如果要监控文本类的信息只能通过指标名称或者 la ...