最近一段时间团队接到的项目需要处理的数据量非常大,之前的处理方式难以满足现有需求。最近两周前前后后折腾了不少,在搭建了hadoop+hbase+hive+spark的一个集群后,由于感觉管理和监控太麻烦就把它给干掉了,转而折腾CDH。

安装CDH前需要安装Cloudera Manager,官方文档提供的A,B,C三种安装方式。方式A傻瓜式的安装部署,安装时最好祈祷一次成功,否则卸载时时候非常麻烦。本文主要介绍方式C的部署。

系统环境以及相关软件版本

  • 机器数量:4台PC,名称分别为Master, Slave1, Slave2, Slave3.

  • 操作系统版本:Ubuntu 14.04
  • Cloudera Manager: 5.11.1,下载链接
  • CDH:5.11.1,CDH-5.11.1-1.cdh5.11.1.p0.4-trusty.parcel和CDH-5.11.1-1.cdh5.11.1.p0.4-trusty.parcel.sha1,下载链接
  • JDK:1.8.0_131
  • Postgresql:9.3

准备环境

192.168.1.110   Master
192.168.1.100 Slave1
192.168.1.120 Slave2
192.168.1.130 Slave3

Postgresql配置

开启外网访问;

添加Cloudera Manager所需用户和数据库:

  • 连接pg:$ sudo -u postgres psql
  • 为Cloudera Manager Server添加用户和数据库
postgres=# CREATE ROLE scm LOGIN PASSWORD 'scm';
postgres=# CREATE DATABASE scm OWNER scm ENCODING 'UTF8';
  • 为Activity Monitor, Reports Manager, Hive Metastore Server, Hue Server, Sentry Server, Cloudera Navigator Audit Server, Cloudera Navigator Metadata Serve添加数据库和用户。



    对于8.2.23以及更高版本的PostgreSQL,执行一下语句
postgres=# ALTER DATABASE Metastore SET standard_conforming_strings = off;

Cloudera Manager Server和Agents部署

服务端和服务端安装

  • 复制cloudera-manager-trusty-cm5.11.1_amd64.tar.gz到所有节点。
  • 创建Cloudera Manager的主目录且解压安装包
构建目录
$ sudo mkdir /opt/cloudera-manager
$ ssh hadoop@slave1 'sudo mkdir /opt/cloudera-manager'
$ ssh hadoop@slave2 'sudo mkdir /opt/cloudera-manager'
$ ssh hadoop@slave3 'sudo mkdir /opt/cloudera-manager'
进入所有节点解压安装包:
$ sudo tar xzf cloudera-manager-trusty-cm5.11.1_amd64.tar.gz -C /opt/cloudera-manager

在所有节点上创建用户cloudera-scm

注意目录为刚才解压的cdh压缩包下面的路径

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

创建Cloudera Manager服务端的本地文件夹

//仅Master节点
$ sudo mkdir /var/lib/cloudera-scm-server
$ sudo chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server

Cloudera Manager客户端配置

进入所有客户端节点中的/opt/cloudera-manager/cm-5.11.1/etc/cloudera-scm-agent/config.ini,将server_host值改为服务器ip,server_port保持不变:

# Hostname of the CM server.
server_host=Master # Port that the CM server is listening on.
server_port=7182

创建Parcel文件夹

  • 在服务端建立parcel源文件夹,存放CDH安装包,便于Cloudera Manager自动部署到集群各节点。
$ sudo mkdir -p /opt/cloudera/parcel-repo
  • 将文件夹所有者改为Cloudera Manager的运行用户(hadoop)
$ sudo chown hadoop:hadoop /opt/cloudera/parcel-repo
  • 所有节点间创建parcels文件夹,所有者为Cloudera Manager的运行用户(hadoop)
$ sudo mkdir -p /opt/cloudera/parcels
$ sudo chown hadoop:hadoop /opt/cloudera/parcels

在客户端复制CDH到/opt/cloudera/parcel-repo

CDH-5.11.1-1.cdh5.11.1.p0.4-trusty.parcel
CDH-5.11.1-1.cdh5.11.1.p0.4-trusty.parcel.sha1

CDH-5.11.1-1.cdh5.11.1.p0.4-trusty.parcel.sha1重命名为CDH-5.11.1-1.cdh5.11.1.p0.4-trusty.parcel.sha

Cloudera Manager启动

服务端启动

  • 为Cloudera Manager Server启动外部数据库postgresql
sudo /opt/cloudera-manager/cm-5.11.1/share/cmf/schema/scm_prepare_database.sh postgresql scm scm scm
  • 删除/opt/cloudera-manager/cm-5.11.1/etc/default/cloudera-scm-server中的export CMF_SUDO_CMD=" "
  • 更改/opt/cloudera-manager/cm-5.11.1/etc/init.d/cloudera-scm-server:
USER=hadoop
GROUP=hadoop
  • 启动Cloudera Manager服务端$ sudo /opt/cloudera-manager/cm-5.11.1/etc/init.d/cloudera-scm-server start
  • 服务端开机自启设置
sudo  cp /opt/cloudera-manager/cm-5.11.1/etc/init.d/cloudera-scm-server /etc/init.d/cloudera-scm-server
sudo update-rc.d cloudera-scm-server defaults

客户端启动

  • 删除/opt/cloudera-manager/cm-5.11.1/etc/default/cloudera-scm-agent中的export CMF_SUDO_CMD=" "
  • 启动Cloudera Manager服务端$ sudo /opt/cloudera-manager/cm-5.11.1/etc/init.d/cloudera-scm-agent start
  • 服务端开机自启设置
sudo  cp /opt/cloudera-manager/cm-5.11.1/etc/init.d/cloudera-scm-agent /etc/init.d/cloudera-scm-agent
sudo update-rc.d cloudera-scm-agent defaults

安装相关依赖包

sudo apt-get install ant apache2 bash debhelper fuse gcc libfuse2 libsasl2-modules libsasl2-modules-gssapi-mit libsqlite3-0 libssl-dev libxslt1.1 make openssl perl postgresql-client psmisc python-dev python-mysqldb python-psycopg2 python-setuptools rpcbind sed swig zlib1g

CDH部署

  • 主节点上访问http://localhost:7180/,输入用户名admin,密码admin

  • 点击“向集群添加主机”(下图中的是配好之后的可以忽略)

  • 输入所有需要构建集群的节点名称或IP

  • 选定主机构建集群

  • 进入主页面http://192.168.1.110:7180/cmf/home

  • 为集群Cluster 1添加服务:

  • 为各服务的组件分配节点主机,完成安装。

ubuntu14.04, Cloudera Manager 5.11.1, cdh5.11.1 postgresql离线部署的更多相关文章

  1. CM5.11与CDH5.11安装使用说明

    1.cdh5 支持jdk7和jdk82.cloudera只支持oracle发布的jdk3.集群中所有主机的jdk版本必须一致4.生态圈中用到的所有组件所依赖的jdk版本必须一致5.cloudera m ...

  2. cloudera manager服务迁移(scm数据库在postgresql上,其他amon,rman,oozie,metastore等在mysql上)

    公司线上大数据集群,之前用的是公有云主机,现在换成了自己idc机房机器,需要服务迁移,已下为测试: 1.备份原postgresql数据库: pg_dump -U scm scm > scm.sq ...

  3. 手动安装cloudera manager 5.x(tar包方式)详解

    官方共给出了3中安装方式:第一种方法必须要求所有机器都能连网,由于最近各种国外的网站被墙的厉害,我尝试了几次各种超时错误,巨耽误时间不说,一旦失败,重装非常痛苦.第二种方法下载很多包.第三种方法对系统 ...

  4. 安装CDH5.11.2集群

    master  192.168.1.30 saver1  192.168.1.40 saver2  192.168.1.50 首先,时间同步 然后,ssh互通 接下来开始: 1.安装MySQL5.6. ...

  5. CDH使用秘籍(一):Cloudera Manager和Managed Service的数据库

    背景 从业务发展需求,大数据平台须要使用spark作为机器学习.数据挖掘.实时计算等工作,所以决定使用Cloudera Manager5.2.0版本号和CDH5. 曾经搭建过Cloudera Mana ...

  6. (转)Installing Cloudera Manager and CDH

    转:https://blog.csdn.net/qq_26222859/article/details/79976506 译自官网: Installing Cloudera Manager and C ...

  7. Cloudera Manager安装之利用parcels方式(在线或离线)安装3或4节点集群(包含最新稳定版本或指定版本的安装)(添加服务)(Ubuntu14.04)(五)

    前期博客 Cloudera Manager安装之Cloudera Manager 5.6.X安装(tar方式.rpm方式和yum方式) (Ubuntu14.04) (三) 如果大家,在启动的时候,比如 ...

  8. Cloudera Manager安装之Cloudera Manager安装前准备(Ubuntu14.04)(一)

    其实,基本思路跟如下差不多,我就不多详细说了,贴出主要图. 博主,我是直接借鉴下面这位博主,来进行安装的!(灰常感谢他们!) 在线和离线安装Cloudera CDH 5.6.0  Cloudera M ...

  9. Cloudera Manager安装之Cloudera Manager 5.6.X安装(tar方式、rpm方式和yum方式) (Ubuntu14.04) (三)

    见 Ubuntu14.04下完美安装cloudermanage多种方式(图文详解)(博主推荐) 欢迎大家,加入我的微信公众号:大数据躺过的坑     免费给分享       同时,大家可以关注我的个人 ...

随机推荐

  1. IO流的总结(二)

    缓冲字节流: 我们先说一下缓存区的概念: 缓冲区就好比一辆车,一车一车的把数据拉走,这样就效率快多了 按照流的方向分类: 写入数据到流中,字节缓冲输出流 BufferedOutputStream 读取 ...

  2. TCP、UDP以及HTTP的简单讲解

    先来一个讲TCP.UDP和HTTP关系的 1.TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层.在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议.在传输层中有T ...

  3. HTML常用标签定义,用法及例子

    1.HTML注释 <!--...--> 定义:使用注释可对代码进行解释,不会显示在浏览器中. <!--这是一段呢注释.注释不会在浏览器中显示.--> <p>段落标签 ...

  4. Docker Kubernetes 容器扩容与缩容

    Docker Kubernetes 容器扩容与缩容 环境: 系统:Centos 7.4 x64 Docker版本:18.09.0 Kubernetes版本:v1.8 管理节点:192.168.1.79 ...

  5. Codeforces Round #505 (Div 1 + Div 2 Combined) Solution

    从这里开始 题目列表 瞎扯 Problem A Doggo Recoloring Problem B Weakened Common Divisor Problem C Plasticine zebr ...

  6. eclipse软件仿真操作

    1.编写程序代码(以SDRAM为例) 1.1 编写head.s汇编文件 .equ SDRAM_BASE, 0x30000000 .equ MEM_CTL_BASE, 0x48000000 .text ...

  7. flutter登录页部分内容

    import 'package:flutter/material.dart'; class MyIdPage extends StatelessWidget { @override Widget bu ...

  8. 浅谈Overload和Override

    Overload是重载的意思,Override是覆盖的意思,也就是重写. 重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同). 重写Ove ...

  9. svg(二)---半瓶子晃荡

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. 【转载】URL编码与两次encodeURI

    当使用地址栏提交查询参数时,如果不编码,非英文字符会按照操作系统的字符集进行编码提交到服务器,服务器会按照配置的字符集进行解码,所以如果两者不一致就会导致乱码. encodeURI函数采用UTF-8对 ...