Sam's Notes | Sam Blog

梦想还是要有的,万一实现了呢

0%

cloudera

主要内容

  • CM 安装
  • CDH 安装

CDH Cloudera’s Distribution, including Apache Hadoop。 Cloudera 公司出品。
拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具(软件),使得集群的安装可以从几天的时间缩短为几个小时,运维人数也会从数十人降低到几个人,极大的提高了集群管理的效率。


提前工作

关闭防火墙,SeLinux

校准时间

使用NTP服务 同步时间相关服务器时间
ntpd, ntpdate

1
echo "*/20  * * * * /usr/sbin/ntpdate pool.ntp.org" | sudo tee -a /etc/crontab > /dev/null

hostname

根据不同机器角色设置 hostname, 如下 master

1
hostnamectl set-hostname master

hostname 解析

master slave 都配置好,要和 hostname 匹配, 如下例子:

vim /etc/hosts

1
2
3
192.168.8.23 master-23
192.168.8.24 slave-24
192.168.8.25 slave-25

额外

  • 所有虚机分发 cloudera cm 和 cdh
  • 所有虚机优化 swappiness 和 透明大页面,本文下部有
  • master 安装 cm全部, slave 安装 jdk,cm daemons, cm agent
  • 所有虚拟机安装zsh(可选)

公钥登录

公钥要分发到所有slave机器

1
2
ssh-keygen -t rsa -C "your_email@your_email.com" -b 4096
ssh-copy-id -i ~/.ssh/id_rsa.pub username@hostname

cloudera-manager

使用当前最新版本 6.3.1, 只需要在master上安装。网络原因,可使用 清华的代理 https://cloudera.proxy.ustclug.org/cm6/6.3.1/redhat7/yum/RPMS/x86_64/

安装

手工rpm方式 (推荐)

  • 下载如下的包

    1
    2
    3
    4
    5
    cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
    cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
    cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
    cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
    oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
  • 安装
    到下载目录

    1
    yum install -y ./*.rpm

yum方式 (看网络)

yum文件

cloudera-manager-installer.bin 安装 (看网络)

1
2
3
4
5
$ wget https://cloudera.proxy.ustclug.org/cm6/6.3.1/cloudera-manager-installer.bin

$ chmod u+x cloudera-manager-installer.bin

$ sudo ./cloudera-manager-installer.bin

结果

安装完成目录

  • cdh
    /opt/cloudera/

  • jdk
    /usr/java/

  • cloudera
    /var/lib/cloudera-scm-*

服务

cm 安装成功后,重启系统, 大约 1min,
服务为 cloudera-scm-agent.servicecloudera-scm-server.service
localhost:7180 可访问, 初始账户 admin, 密码 admin

cm daemons, cm agent

slave 都安装好 jdk,cm daemons, cm agent,
可以避免 下载速度慢
将 master上的
cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
copy 到 slave上,像master 一样安装。

1
yum install -y cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm

注意:
cloudera-scm 必须拥有 /opt/cloudera 路径的所有权。

1
chown -R cloudera-scm:cloudera-scm /opt/cloudera

安装完成重启系统。

CDH 6.3.2

parcels(离线) 方式, 注意一定要检测到 所需的cdh
仅需要在master安装

数据库

默认是内存数据库,如果上生产,建议还是关系数据库。
官方文档

Mysql

java 驱动

可去清华镜像下载

1
2
3
4
5
6
7
8
9
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz

tar zxvf mysql-connector-java-5.1.46.tar.gz

mkdir -p /usr/share/java/
cd mysql-connector-java-5.1.46
cp mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar


初始化数据库
1
/opt/cloudera/cm/schema/scm_prepare_database.sh -h 192.168.11.229 mysql  --scm-host 192.168.11.220 -u root -P 3306 -p  scm scm

如果 是本机数据库, -h 和 –扫描-host 去掉
依次输入 root 和 scm 密码

如果存在,删除embedded PostgreSQL properties

1
rm /etc/cloudera-scm-server/db.mgmt.properties

手工下载 CDH

官网
https://cloudera.proxy.ustclug.org/cdh6

国内镜像
https://cloudera.proxy.ustclug.org/cdh6/6.3.2/parcels/

对应操作系统下载文件

manifest.json
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha256

仅需上传到 master的目录/opt/cloudera/parcel-repo下, CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1 copy 一份成为 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1

注意:
cloudera-scm 必须拥有 /opt/cloudera 路径的所有权,否则 cloudera manage 会无法识别 CDH。

一旦出现,如下操作。 如再不能识别,重启master操作系统。

1
2
3
4
5
chown -R cloudera-scm:cloudera-scm /opt/cloudera
systemctl stop cloudera-scm-agent.service
systemctl restart cloudera-scm-server.service
# wait 30s ?
systemctl restart cloudera-scm-agent.service

如果仍然无法识别,

CM 图形安装

cloudera express












需要解决详细报告内的问题。

  • swappiness

    1
    2
    3
    4
    vim /etc/sysctl.conf
    vm.swappiness=10

    sysctl -p
  • 透明大页面压缩

    1
    2
    3
    4
    5
    6
    7
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
    echo never > /sys/kernel/mm/transparent_hugepage/enabled

    vim /etc/rc.local
    # add
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
    echo never > /sys/kernel/mm/transparent_hugepage/enabled

如果 slave 安装异常,
解决方法:

  • 检查 /etc/hosts
  • 重启agent
    systemctl restart cloudera-scm-agent

错误

1
2
3
4
5
6
7
8
9
Configurator not found

or

slave1: Host with invalid Cloudera Manager GUID is detected

# 重置 cm_guid
rm /var/lib/cloudera-scm-agent/cm_guid
systemctl restart cloudera-scm-agent.service

参考

CDH离线搭建