首页 > 其他分享 >CDH cm节点高可用方案

CDH cm节点高可用方案

时间:2023-06-07 15:04:09浏览次数:36  
标签:scm cloudera cm -- CDH root 节点


       近期因工作需要,对CDHcm管理节点的高可用做了些相关的测试,测试大概分2部分。具体如下,希望有兴趣的同学可以多交流学习。

  1. cm节点关于postgres数据库的备用节点高可用。

  2. cm节点关于mysql数据库的备用节点高可用。


测试需求:因线上cm管理节点是单点,一旦cm管理节点的服务器宕机,那么整个CDH集群的管理就受到影响。主要是不方便管理。如果熟悉相关的命令,则可以用命令管理。

测试目的:搭建一套备用的cm管理节点,并能顺利的接管主cm节点的相关服务。

     测试 1.  cm管理节点以mysql为主的。这里测试CM版本为5.3.3

 测试步骤:

1. 选择一台要做备机的服务器,安装cm管理节点。           



完成如下5个文件的准备:

cloudera-manager-el6-cm5.3.3_x86_64.tar 
 
 

   CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel 
 
 
 

   CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha 
 
 
 

   manifest.json 
 
 

  mysql-connector-java-5.1.35-bin.jar

解压manager节点,并拷贝解压后的cloudera,cm-5.3.3 到/opt目录下;


tar -xvf cloudera-manager-el6-cm5.3.3_x86_64.tar -C /opt/ 
  
 
 
 
  
 
 

   cp /root/mysql-connector-java-5.1.35-bin.jar /opt/cm-5.3.3/share/cmf/lib/                  //把mysql驱动放到对应的位置 
  
 
 

    mv /root/CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel* /opt/cloudera/parcel-repo/              //把CDH包,还有manifest.json放到对应的位置,并重命名CDH...sha1文件名,去掉最后的数字1. 
  
 
  

    mv /root/manifest.json /opt/cloudera/parcel-repo/ 
  
 
 

   mv /opt/cloudera/parcel-repo/CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha




创建clousera-scm用户:

useradd --system --home=/opt/cm-5.3.3/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm


在新节点上初始化CM5的数据库:出现All done, your SCM database is configured correctly! 表示成功。


[root@endb003 ~]# /opt/cm-5.3.3/share/cmf/schema/scm_prepare_database.sh mysql cmbak -h192.168.1.151 -umha_user -p --scm-host 192.168.1.% scm scm scm 
  
 
  

    Enter database password:  
  
 
  

    JAVA_HOME=/usr/java/latest 
  
 
  

    Verifying that we can write to /opt/cm-5.3.3/etc/cloudera-scm-server 
  
 
  

    Creating SCM configuration file in /opt/cm-5.3.3/etc/cloudera-scm-server 
  
 
  

    Executing:  /usr/java/latest/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/opt/cm-5.3.3/share/cmf/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /opt/cm-5.3.3/etc/cloudera-scm-server/db.properties com.cloudera.cmf.db. 
  
 
  

    [                          main] DbCommandExecutor              INFO  Successfully connected to database. 
  
 
  

    All done, your SCM database is configured correctly!

到此安装完毕,可以进行启动测试。



2. 关于启动测试部分,线下测试过程如下:


初始化数据库后,修改db.properties文件



[root@hadoop4 ~]# vim /opt/cm-5.3.3/etc/cloudera-scm-server/db.properties 
  
 
 

    com.cloudera.cmf.db.type=mysql 
  
 
  

    com.cloudera.cmf.db.host=192.168.8.155 
  
 
  

    com.cloudera.cmf.db.name=cm          //原来初始化的数据库为cmbakk,在这里修改为正在运行正常的155集群的cm数据库                                                                                                
  
 
  

    com.cloudera.cmf.db.user=scm 
  
 
  

    com.cloudera.cmf.db.password=scm



[root@hadoop4 ~]# /opt/cm-5.3.3/etc/init.d/cloudera-scm-server restart    //启动后,发现新cm管理节点能正常登陆,而且出现就管理节点的相关信息,但是无法管理服务。重启服务报错。虽然报错,但是后台服务还是正常运行。


同时,就cm管理节点,出现僵死情况,无法再管理服务,要想管理需要重启就cm管理节点的服务如下:重启后,方能正常管理,切刚才的新cm管理节点此时僵死。但是能正常显示集群时时运行的状态。

[root@hadoop1 ~]# /opt/cm-5.3.3/etc/init.d/cloudera-scm-server restart                    
  
 
  

    停止 cloudera-scm-server:                                 [确定] 
  
 
  

    Starting cloudera-scm-server:                              [确定]


僵死情况即显示如下信息:



发生服务器错误。将以下信息发送至 Cloudera。

路径: http://192.168.8.158:7180/cmf/services/11/do
 版本: Cloudera Enterprise Data Hub Edition 试用版 5.3.3 (#217 built by jenkins on 20150401-1625 git: 40ff0e551564e4210ab22da5fa9a6e4e56236c44)
 
  
 
    javax.persistence.PersistenceException:org.hibernate.exception.ConstraintViolationException: could not perform addBatch 
    
 at  
    AbstractEntityManagerImpl.java line 1387 
    
 in org.hibernate.ejb.AbstractEntityManagerImpl convert()

解决办法,重启cloudera-scm-server 服务即可。



/

opt/cm-5.3.3/etc/init.d/cloudera-scm-server restart


测试 2.  cm管理节点以postgres数据库为主的。这里测试CM版本为5.0.2


1. 首先搭建一台同版本的cm管理节点。



步骤如下:创建一个本地yum源 (为了提高安装速度,线下构建本地yum源。)


vim cloud-cm5.02.repo 
  
 
 

    [root@master ~]# cat /etc/yum.repos.d/cloud-cm5.02.repo 
  
 
  

    [cloud-manager] 
  
 
  

    name=Cloud Manager 
  
 
  

    baseurl=http://192.168.8.209:8090/cm/5.0.2/ 
  
 
  

    gpgcheck=0


[root@master ~]#  ./cloudera-manager-installer.bin  --skip_repo_package=1    //安装bin文件。


完整完毕。



2. 备份原集群pg数据库数据:(6个数据库)


pg_dump -p7432 -U cloudera-scm --column-inserts --disable-dollar-quoting  scm >scm.sql  
  
 
  

     pg_dump -p7432 -U cloudera-scm --column-inserts --disable-dollar-quoting amon >amon.sql 
  
 
  

     pg_dump -p7432 -U cloudera-scm --column-inserts --disable-dollar-quoting  rman >rman.sql 
  
 
  

     pg_dump -p7432 -U cloudera-scm --column-inserts --disable-dollar-quoting nav>nav.sql 
  
 
  

     pg_dump -p7432 -U cloudera-scm --column-inserts --disable-dollar-quoting hive>hive.sql 
  
 
  

     pg_dump -p7432 -U cloudera-scm --column-inserts --disable-dollar-quoting hive1>hive1.sql

3. 导入到新的cm节点的pg数据库中



[root@master scmdb191]# dropdb -p7432 -U cloudera-scm  scm  
  
 
 

    [root@master scmdb191]# dropdb -p7432 -U cloudera-scm amon 
  
 
  

    [root@master scmdb191]#  dropdb -p7432 -U cloudera-scm nav 
   
 
  

    [root@master scmdb191]#  dropdb -p7432 -U cloudera-scm rman

创建数据库:

[root@master scmdb191]# createdb -p 7432 -U cloudera-scm scm 
   
 
   

     [root@master scmdb191]# createdb -p 7432 -U cloudera-scm amon 
    
 
   

     [root@master scmdb191]# createdb -p 7432 -U cloudera-scm nav 
    
 
   

     [root@master scmdb191]# createdb -p 7432 -U cloudera-scm rman 
    
 
  

     [root@cnsphinx003 ~]#  createdb -p 7432 -U cloudera-scm hive 
   
 
   

     [root@cnsphinx003 ~]#  createdb -p 7432 -U cloudera-scm hive1



修改所属的用户:



alter database  amon owner to amon; 
   
 
   

     alter database scm owner to scm; 
   
 
   

     alter database  nav owner to nav; 
   
 
   

     alter database rman owner to  rman; 
   
 
  

    alter database hive owner to  hive; 
   
 
  

    alter database hive1 owner to  hive1;




导入数据



psql -hlocalhost -p 7432 -U cloudera-scm -d amon<amon.sql 
  
 
  

     psql -hlocalhost -p 7432 -U cloudera-scm -d nav<nav.sql  
  
 
  

     psql -hlocalhost -p 7432 -U cloudera-scm -d rman<rman.sql  
  
 
  

     psql -hlocalhost -p 7432 -U cloudera-scm -d scm<scm.sql 
  
 
  

     psql -hlocalhost -p 7432 -U cloudera-scm -d hive<hive.sql  
  
 
  

     psql -hlocalhost -p 7432 -U cloudera-scm -d hive1<hive1.sql


导入完毕后,修改各个主机的/etc/hosts 添加对应主机的应解析。


/etc/init.d/cloudera-scm-server restart     //启动新cm节点的主机服务 
  
 
 

   vim /etc/cloudera-scm-agent/config.ini    //修改各个主机的agent节点,指向新cm主机IP 
 
 
 

   /etc/init.d/cloudera-scm-agent  restart     //重启agent节点。




            

标签:scm,cloudera,cm,--,CDH,root,节点
From: https://blog.51cto.com/u_16152230/6431721

相关文章

  • 双笙仔佯谬_小彭老师_CMake课程笔记
    目录CMake第三方库可以configure,install等CMake可以通过-D选项设置编译器和cpp版本cmake-Bbuild-DCMAKE_CXX_COMPILER=/usr/bin/gcc-6可以指定使用gcc-6编译cmake-Bbuild-DCMAKE_CXX_STANDARD=14用c++14版本使用add_libaray生成动态链接库或静态链接库add_liba......
  • ACM-CodeForces-#685(Div.2)
    A.SubtractorDivide#include<iostream>usingnamespacestd;intmain(){ intT,n; cin>>T; while(T--) { cin>>n; if(n<=3) n--; else n=2+(n&1); cout<<n<<endl; } return0;}B.Non-SubstringSubsequence#in......
  • CMT2300A 433MHz SUB-1G无线收发芯片
    CMT2300A是一款超低功耗,高性能,适用于各种140至1020MHz无线应用的OOK,(G)FSK射频收发器。它是CMOSTEKNextGenRFTM射频产品线的一部分,这条产品线包含完整的发射器,接收器和收发器。CMT2300A的高集成度,简化了系统设计中所需的外围物料。高达+20dBm及-121dBm的灵敏度优化了......
  • Ubuntu升级Cmake的正确方式
     Ubuntu升级Cmake的正确方式某些软件包编译时需要高版本的Cmake,因此需要升级Cmake。不能使用sudoapt-getremovecmake卸载低版本cmake后再重装高版本,这样做会导致之前编译和安装的很多库一起被卸载!!! 正确步骤是:去https://cmake.org/files/下载所需版本的源码。也可......
  • WAV与PCM
    1、PCM格式介绍: PCM(PulseCodeModulation)也被称为脉码编码调制。PCM中的声音数据没有被压缩,如果是单声道的文件,采样数据按时间的先后顺序依次存入。(它的基本组织单位是BYTE(8bit)或WORD(16bit)) 参考文献http://blog.csdn.net/ownwell/article/details/8114121/ 2、WAV格......
  • 数据结构与算法分析(Java语言描述)(16)—— 二叉搜索树基础、节点插入、查找
    基础//二叉搜索树//由于Key需要能够进行比较,所以需要extendsComparable<Key>publicclassBinarySearchTree<KeyextendsComparable<Key>,Value>{//树中的节点为私有的类,外界不需要了解二叉搜索树节点的具体实现privateclassNode{privateKeykey;......
  • JeeCms低代码开发平台了解及认知以及遇到的问题
    1、jeecms低代码开发平台自带标签,使用的标签延续freemarker标签或基于freemarker标签自定的标签(类似自jsp自定义标签)(1)什么是freemarker标签:FreeMarker标签是一种模板语言,用于在Java应用程序中生成动态Web页面或文本文件。它基于Java模板技术的设计思路并扩展......
  • ASEMI代理英飞凌智能功率模块IKCM10H60GA
    编辑-ZIKCM10H60GA参数描述:型号:IKCM10H60GA最大闭锁电压VCES:600VP-N的直流链路电源电压VPN:450V输出电流IC:10A最大峰值输出电流:16A短路耐受时间tSC:5µs每个IGBT的功耗Ptot:23.1W工作接点温度范围TJ:-40~150℃模块电源电压VDD:20V输入电压VIN:10V开关频率fPWM:20kHz开启上......
  • SCM Manager XSS漏洞复现(CVE-2023-33829)
    一、漏洞描述漏洞简述SCM-Manager是一款开源的版本库管理软件,同时支持subversion、mercurial、git的版本库管理。安装简单,功能较强,提供用户、用户组的权限管理,有丰富的插件支持。由于在MIT的许可下是开源的,因此它允许被用于商业用途,而且其代码可以在GitHub上获取到。该项目......
  • KingbaseES V8R6集群运维系列 -- 修改ssh通信为 sys_securecmdd 通信
    一、适用于:本文档使用于KingbaseESV008R006版本。二、关于SYS_SECURECMDD:sys_securecmdd是KingbaseES集群自带的工具,集群监控、管理集群时通过sys_securecmdd安全执行命令而不使用ssh服务。sys_securecmdd主要包含以下文件:服务端sys_securecmdd默认监听8890端口,接受客......