CDH实战

CDH简介

CDH安装

系统环境准备

  1. 网络配置

    1. vim /etc/systemfig/network
    2. vim /etc/hosts
      • 修改每台节点的name和ip
  2. SSH免密钥登录

    • ssh localhost //将自己的密钥加入到known_hosts

    • ssh-kegen -t rsa -P ‘’ -f ~/.ssh/id_rsa

    • ssh-copy-id
    • cat id_rsa.pub >> authoried_keys
  3. 防火墙关闭

    • 旧版
      • service iptables stop
      • chkconfig iptables off
    • 新版
      • systemctl stop firewalld
      • systemctl disable firewalld
  4. SELINUX关闭

    • setenforce 0
    • vim /etc/selinux/config(SELINUX=disabled)
  5. 安装JDK

    • export JAVA_HOME=/usr/jvm/java
    • export PATH=\$JAVA_HOME/bin:$PATH
    • export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  6. 安装NTP

    • 设置开机启动chkconfig ntpd on
    • 时间同步
      • ntpdate ip地址
  7. 安装配置mysql

    • 安装mysql
    1
    2
    3
    yum clean all
    yum makecache
    yum install mysql-server
    • 设置权限:
    1
    2
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
    flush privileges;
  8. 第三方依赖包

1
yum install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb

安装ClouderaManager

官网: https://www.cloudera.com/downloads/manager/6-1-0.html

  1. 安装Coudera Manager Server和Agent

    • mkdir /opt/cloudera-manager
    • tar -zxvf cloudera-manager*.tar.gz -C /opt/cloudera-manager
  2. 创建用户cloudera-scm

    • useradd -system –no-create-home –shell=/bin/false –comment “Cloudera SCM User” cloudera-scm
  3. 配置CM Agent

    • 修改 /opt/cloudera-manager/cm-6.1/etc/cloudera-scm-agent/config.ini 中的server_host
  4. 配置CM Server数据库

    • 拷贝mysql jar文件到/usr/share/java/

      注意jar包名要修改为mysql-connector-java.jar

    • 创建用户权限:

    1
    2
    GRANT ALL PRIVILEGES ON *.* TO 'any'@'%' IDENTIFIED BY 'any' WITH GRANT OPTION;
    cd /opt/cloudera-manager/cm-6.1/share/cmf/schema/
    • 运行脚本:
    1
    ./scm_prepare_database.sh mysql any -h node01 -uany -pany --scm-host node01 scm scm scm
    • 格式: 数据库类型, 数据库, 数据库服务器, 用户名, 密码, cm server服务器

    这里只是配置了数据库连接方式和用户,库名,并没有创建数据库和表的操作, 当Cloudera manager初始化的时候就会自动创建数据库和表

  5. 创建Parcel目录

    这里配置了数据源

    • Server节点
    1
    2
    mkdir -p /opt/cloudera/parcel-repo
    chown couldera-scm:cloudera-scm /opt/cloudera/parcel-repo
    • Agent节点
    1
    2
    mkdir -p /opt/cloudera/parcels
    chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
  6. CDH本地源

    • 下载好CDH.parcel和manifest.json
    • 需要准备的文件
      • *.parcel
      • manifest.json
      • *(同名).parcel.sha -> 在manifest.json中找到hash码
  7. 启动CM Server , Agent

    1
    2
    3
    cd /opt/cloudera-manager/cm-6.1/etc/init.d/
    ./cloudera-scm-server start # Server首次启动会自动创建表和数据, 不要关闭或重启, 否则需要删除所有的表以及数据重新安装
    ./cloudera-scm-agent start

启动了之后,将设置安全性

1
echo 0 > /proc/sys/vm/sqappiness

Cloudera Manager使用

名词解释:

主机-host, 机架-rack, 集群-cluster, 服务-service, 服务实例-service instance, 角色-role, 角色实例-role instance, 角色组-role group, 主机模板-host templete parcel, 静态服务池-static service pool. 动态资源池-dynamic resource pool

集群

  1. 离线集群
  2. 实时计算集群
  3. 查询集群Hbase

为什么Hbase查询很快?

  • 分布式
  • 列存储
  • 内存缓存机制
Donate comment here