CM搭建

試著忘記壹切 提交于 2019-12-24 02:31:14

搭建环境必看https://blog.csdn.net/qq_35315256/article/details/88989194

环境准备好开始搭建

1、所有节点创建mkdir /opt/cloudera-manager

创建用户

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

 

1、上传相关包

2、所有节点创建

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

3、解压cm包

tar -zxvf cloudera-manager-el6-cm5.4.3_x86_64.tar.gz -C /opt/cloudera-manager

4、配置

1、vim /opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini

server_host=node1 # cm server的hosts
# 默认
server_port=7182

2、配置CM Server数据库

修改mysql驱动包为  mysql-connector-java.jar

并拷贝到  /usr/share/java

配置mysql用户cloudrea 密码 cloudrea 

grant all on *.* to 'cloudera'@'%' identified by 'cloudera' with grant option; 

cd /opt/cloudera-manager/cm-5.4.3/share/cmf/schema/

./scm_prepare_database.sh mysql cloudera -h node1 -ucloudera -pcloudera --scm-host node1 scm scm scm
数据库类型、数据库、数据库服务器、用户名、密码、cm server服务器

格式:数据库类型、数据库、数据库服务器、用户名、密码、cm server服务器

3、制作本地cdh源

Server节点
– mkdir -p /opt/cloudera/parcel-repo
– chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo

Agent节点
– mkdir -p /opt/cloudera/parcels
– chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
这三个文件
CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel 
CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel.sha
manifest.json
放到server节点的 /opt/cloudera/parcel-repo

注意

需要mkdir /opt/cm-5.7.0/run/cloudera-scm-agent

最后将CDH-5.7.1-1.cdh5.7.1.p0.5-el6.parcel.sha1,重命名为CDH-5.7.1-1.cdh5.7.1.p0.5-el6.parcel.sha

4、把cloudera-manager下的分发到node2和node3

5、cd  /opt/cloudera-manager/cm-5.8.0/etc/init.d 

准备启动

全部会话:cd /opt/cloudera-manager/cm-5.8.0/etc/init.d/

CDH1:执行./cloudera-scm-server start

CDH1,2,3执行:./cloudera-scm-agent start

 

观察启动server的日志

cd /opt/cloudera-manager/cm-5.8.0/log/cloudera-scm-server

tail -f 上面目录下的log的文件

警告一 
Cloudera 建议将 /proc/sys/vm/swappiness 设置为最大值 10。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf,以在重启后保存该设置。您可以继续进行安装,但 Cloudera Manager 可能会报告您的主机由于交换而运行状况不良。以下主机将受到影响 
解决方法 
每台受影响的主机运行 
echo 10 > /proc/sys/vm/swappiness 即可解决。

警告二 
已启用透明大页面压缩,可能会导致重大性能问题。请运行“echo never > /sys/kernel/mm/transparent_hugepage/defrag”以禁用此设置,然后将同一命令添加到 /etc/rc.local 等初始脚本中,以便在系统重启时予以设置。以下主机将受到影响 
解决方法 
每台受影响的主机运行命令 
echo never > /sys/kernel/mm/transparent_hugepage/defrag 
并且 
vim /etc/rc.local 
加入echo never > /sys/kernel/mm/transparent_hugepage/defrag这条命令。 
然后点击重新运行进行重新检查

 

 

添加mysql用户

mysql grant all on oozie.* TO 'oozie'@'%' identified by 'oozie';

 

解析Cloudera Manager内部结构

 

问题导读
1.CM的安装目录在什么位置?


2.hadoop配置文件在什么位置?


3.Cloudera manager运行所需要的信息存在什么位置?

4.CM结构和功能是什么?


1. 相关目录

  • /var/log/cloudera-scm-installer : 安装日志目录。
  • /var/log/* : 相关日志文件(相关服务的及CM的)。
  • /usr/share/cmf/ : 程序安装目录。
  • /usr/lib64/cmf/ : Agent程序代码。
  • /var/lib/cloudera-scm-server-db/data : 内嵌数据库目录。
  • /usr/bin/postgres : 内嵌数据库程序。
  • /etc/cloudera-scm-agent/ : agent的配置目录。
  • /etc/cloudera-scm-server/ : server的配置目录。
  • /opt/cloudera/parcels/ : Hadoop相关服务安装目录。
  • /opt/cloudera/parcel-repo/ : 下载的服务软件包数据,数据格式为parcels。
  • /opt/cloudera/parcel-cache/ : 下载的服务软件包缓存数据。
  • /etc/hadoop/* : 客户端配置文件目录。


2. 配置

  • Hadoop配置文件

    配置文件放置于/var/run/cloudera-scm-agent/process/目录下。如:/var/run/cloudera-scm-agent/process/193-hdfs-NAMENODE/core-site.xml。这些配置文件是通过Cloudera Manager启动相应服务(如HDFS)时生成的,内容从数据库中获得(即通过界面配置的参数)。

    在CM界面上更改配置是不会立即反映到配置文件中,这些信息会存储于数据库中,等下次重启服务时才会生成配置文件。且每次启动时都会产生新的配置文件。

    CM Server主要数据库为scm基中放置配置的数据表为configs。里面包含了服务的配置信息,每一次配置的更改会把当前页面的所有配置内容添加到数据库中,以此保存配置修改历史。

    scm数据库被配置成只能从localhost访问,如果需要从外部连接此数据库,修改vim /var/lib/cloudera-scm-server-db/data/pg_hba.conf文件,之后重启数据库。运行数据库的用户为cloudera-scm。

 

  • 查看配置内容

     
    • 直接查询scm数据库的configs数据表的内容。
    • 访问REST API: http://hostname:7180/api/v4/cm/deployment,返回JSON格式部署配置信息。


 

  • 配置生成方式

    CM为每个服务进程生成独立的配置目录(文件)。所有配置统一在服务端查询数据库生成(因为scm数据库只能在localhost下访问)生成配置文件,再由agent通过网络下载包含配置文件的zip包到本地解压到指定的目录。

 

  • 配置修改

    CM对于需要修改的配置预先定义,对于没有预先定义的配置,则通过在高级配置项中使用xml配置片段的方式进行配置。而对于/etc/hadoop/下的配置文件是客户端的配置,可以在CM通过部署客户端生成客户端配置。

3. 数据库

Cloudera manager主要的数据库为scm,存储Cloudera manager运行所需要的信息:配置,主机,用户等。


4. CM结构

CM分为Server与Agent两部分及数据库(自带更改过的嵌入Postgresql)。它主要做三件事件:

  • 管理监控集群主机。
  • 统一管理配置。
  • 管理维护Hadoop平台系统。

实现采用C/S结构,Agent为客户端负责执行服务端发来的命令,执行方式一般为使用python调用相应的服务shell脚本。Server端为Java REST服务,提供REST API,Web管理端通过REST API调用Server端功能,Web界面使用富客户端技术(Knockout)。

  • Server端主体使用Java实现。
  • Agent端主体使用Python, 服务的启动通过调用相应的shell脚本进行启动,如果启动失败会重复4次调用启动脚本。
  • Agent与Server保持心跳,使用Thrift RPC框架。



5. 升级

在CM中可以通过界面向导升级相关服务。升级过程为三步:

  • 下载服务软件包。
  • 把所下载的服务软件包分发到集群中受管的机器上。
  • 安装服务软件包,使用软链接的方式把服务程序目录链接到新安装的软件包目录上。



6. 卸载

sudo /usr/share/cmf/uninstall-scm-express.sh, 然后删除/var/lib/cloudera-scm-server-db/目录,不然下次安装可能不成功。



7. 开启postgresql远程访问

CM内嵌数据库被配置成只能从localhost访问,如果需要从外部查看数据,数据修改vim /var/lib/cloudera-scm-server-db/data/pg_hba.conf文件,之后重启数据库。运行数据库的用户为cloudera-scm。

 

 

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!