• 使用cloudrea manager管理已有的cdh集群(转)


    转自:http://blog.51cto.com/teacheryan/1912116

    本文介绍如何搭建cloudera manager去接入已有hadoop组件(cdh)。

    一、下载必备文件:

    1.cloudera manager:http://archive-primary.cloudera.com/cm5/cm/5/

    wKiom1jd08Cw02oKAABRJmZlPq8559.png-wh_50

    大部分公司内大数据集群环境都无公网访问权限,针对当前集群系统环境和想要接入的cm版本找到对应版本离线包,对于redhat、centos系统来说el6就是redhat6、centos6系统,之后找到想要安装的cm版本,本文搭建过程采用cloudera-manager-el6-cm5.9.0_x86_64.tar.gz

     

     

    2.cdh安装包:http://archive.cloudera.com/cdh5/parcels/5.9.0/

    本搭建过程采用CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel、CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha1,parcel文件为cdh压缩包,执行安装过程会进行解压并且上传到各节点;sha1文件内为压缩包的校验码

    wKiom1jd1PvA1jBDAABzQV7aaZA234.png-wh_50

     

     

    3.mysql的jdbc驱动jar包:http://dev.mysql.com/downloads/connector/j/

    wKioL1jd1bODNC8vAABzQbQq3_I101.png-wh_50

     

    4.mysql5.6:http://dev.mysql.com/downloads/mysql/5.6.html

    本搭建过程采用mysql5.6社区版源码包mysql-5.6.35.tar.gz

    wKiom1jd1gjDQQ0vAABzQcTFFYM335.png-wh_50

     

    二、cloudera manager安装:

    1.server端安装配置mysql5.6:

    解压mysql安装包后执行

    yum install cmake ncurses-* -y

    其余看编译输出,缺少什么包就再yum安装什么

    进入mysql解压目录,执行

    cmake -DCMAKE_INSTALL_PREFIX=/export/mysql5.6
    make && make install

    如果没有报错继续执行

    顺利执行过后将/etc/my.cnf删除或移走,在mysql安装目录当中简单编写my.cnf并启动,具体配置请根据自身环境进行设置,本文不对此内容赘述

     

    2.解压cloudera-manager-el6-cm5.9.0_x86_64.tar.gz到安装目录:

    默认cloudera和cm-5.9.0目录放置在/opt下,如果想放在其他目录须留意对应配置

     

    3.导入数据,执行完成后会有cm库:

    /export/tmp/opt/cm-5.9.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot --scm-host 127.0.0.1 scm scm scm

     

    4.登录mysql,进行必要的修改配置:

    set global binlog_format='ROW';
    grant all on *.* to 'scm'@'%' identified by 'scm';

    否则默认binlog格式为statement,cm会启动报错

    对scm进行所有主机的授权

     

    5.cloudera manager server端配置:

    创建用户

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

    在之前的cloudera目录下创建parcel-repo目录,将CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel和CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha1放在此目录下,重命名sha1文件为sha,否则cm找不到sha文件无法进行校验,会重新去公网上下载压缩包

    mv CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha1 CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha

    6.mysql jar包放入lib库:

    将解压mysql-connector-java-5.1.40.tar.gz得到的文件放在/opt/cm-5.9.0/share/cmf/lib下

     

    7.配置db连接信息:

    vim /opt/cm-5.9.0/etc/cloudera-scm-server/db.properties

    wKioL1jd_CKDscEjAABzQbmBKLM480.png-wh_50

    host由于mysql就装在本机所以写127地址即可,库名、用户名、密码遵循上面创建用户和授权的内容进行填写

     

    8.配置cm启动脚本的java环境:

    vim /opt/cm-5.9.0/etc/init.d/cloudera-scm-agent
    vim /opt/cm-5.9.0/etc/init.d/cloudera-scm-server
    export JAVA_HOME=/usr/java/jdk1.7.0_51

    9.agent配置:

    vim /export/tmp/opt/cm-5.9.0/etc/cloudera-scm-agent/config.ini

    wKiom1jd_kGjgJ7EAABED1Xod2k054.png-wh_50

    server_host配置server端的ip或者主机名

    server_port和port没有修改,使用默认的即可

    listening_ip可以不做修改

    之后将/opt/cm-5.9.0此目录拷贝到其他agent节点的对应目录

    注:须确保/opt/cm-5.9.0/lib/cloudera-scm-agent下的uuid文件删掉,否则会出现cm web中主机显示冲突的情况

     

    10.启动服务:

    server端执行

    /opt/cm-5.9.0/etc/init.d/cloudera-scm-server start

    agent端执行

    /opt/cm-5.9.0/etc/init.d/cloudera-scm-agent start

    server端启动端口7180 7182

    agent端启动端口9000

     

    三、web配置:

    1.添加cloudera management service:

    浏览器访问server端地址的7180端口,用户名密码默认admin admin

    登录后不按照提示进行安装,直接点击左上方主页,然后选择右边添加管理服务

     

    wKiom1jd_ojRqFYhAABzQcU1VOQ030.png-wh_50

    填入管理员登录mysql的连接信息即可

    wKioL1jd_omSjrf1AAB2fF0z74U569.png-wh_50

    审核更改页不用做任何更改

    wKioL1jd_uKCMVFkAABzQQyYNTI644.png-wh_50

    之后等待安装完成,安装过后会发现集群监控已经有数据,点选所有主机,检查所有主机检查各节点状态

    wKioL1jd_1uRhrZ2AAELP2hEQQw625.png-wh_50

    wKiom1jd_1yzc4GvAADkfdT1cIE674.png-wh_50

    回到主页,点击cluster1右侧的添加服务

     

    2.添加hdfs服务:

    wKioL1jd_8KA02UjAAELP0y2nEM711.png-wh_50

    选择hdfs继续,根据原有集群情况进行主机选择

    wKioL1jd_8KQ1fTuAACA51ZPT5M562.png-wh_50

    审核更改部分可以根据现有集群配置进行填写,左侧会有对应参数名

    wKioL1jd__fxIUveAAELP47wEhs913.png-wh_50

    需要注意的是,datanode数据目录不管原来所有者是谁必须要修改为hdfs,否则无法通过cm启动,并且原有集群对应进程要先停掉

    点击继续后不要等待进程进行,直接返回主页,会发现hdfs集群角色已经添加

     

    wKiom1jeACzD50JbAAELP6eDRd0161.png-wh_50

    进入hdfs配置journalnode目录dfs.journalnode.edits.dir

    wKioL1jeAC3B_uVLAACA5-EhaNA431.png-wh_50


    之后启动集群,观察监控数据

    wKioL1jeAGjwC8XbAAFdZrkJg58257.png-wh_50

    注:其余hadoop组件接入原则也是停掉原有进程,修改对应目录属主为组件名称的用户,比如hdfs,yarn,同时修改cm上对应的关键配置。此种做法对程序环境改造很大,很多标准必须遵循cloudera manager的规则,而且有丢失hdfs元数据风险。

     

     

    四、后记:

    此次搭建cm集群遇到一些问题,比如添加hdfs角色后无法启动namenode,报错java.io.IOException: There appears to be a gap in the edit log.  We expected txid 1, but got txid 16,可能数据不连续,通过hadoop namenode -recover命令进行修复后可以启动,此命令不敢保证在生产环境执行没有问题;又或者datanode无法启动,遇到以下报错Operation not permitted

    wKioL1jeAODgoqxMAAFdZlqfkbQ824.png-wh_50
    之后发现原集群的对应目录所有者为hadoop,而根据其他角色启动进程的所有者hdfs来进行权限修改后datanode可以启动

     

    五、参考资料:

    https://www.quora.com/Cloudera-company/Can-we-install-Cloudera-Manager-to-manage-an-existing-cluster     了解新搭建的cm接入现有集群思路

    http://www.361way.com/cloudera-manager-cdh-install/5033.html    cm离线安装步骤参考

     

  • 相关阅读:
    hdu 6188 Duizi and Shunzi
    区间第k大
    AtCoder Regular Contest 081 E
    hdu 6170 Two strings
    hdu 6156 Palindrome Function
    2017百度之星初赛(B)-1006-小小粉丝度度熊 hdu 6119
    AtCoder Regular Contest 080 E
    hdu 6069 Counting Divisors
    hdu 6058 Kanade's sum (多校3)
    苹果曼和树
  • 原文地址:https://www.cnblogs.com/blazeZzz/p/10177754.html
Copyright © 2020-2023  润新知