zoukankan      html  css  js  c++  java
  • 03

    CDH 6.3.x 离线安装

    环境

    修改主机名,配置host文件

    # 根据个人需要修改主机名称
    hostnamectl set-hostname node1
    hostnamectl set-hostname node2
    hostnamectl set-hostname node3
    
    # 修改每个主机的 host 文件
    vi /etc/hosts
    172.16.1.181 node1
    172.16.1.182 node2
    172.16.1.183 node3

    关闭系统默认安全防护

    • 关闭防火墙
    systemctl stop firewalld && systemctl disable firewalld && systemctl status firewalld

    ssh 使用密钥登陆

    • node1 到其他节点即可,配置参考文档:Linux SSH 使用密钥登陆.md
    • 所有节点使用相同的密码,在安装的时候使用密码操作。

    机器间时钟同步

    PG数据库

    准备CM软件

    准备CDH软件

    准备yum源

    yum源下载地址

    安装http和yum源

    • 这里仅在 node1 上安装即可。
    yum install httpd createrepo -y

    安装JDK

    • 将 oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm 上传到每个节点上面。
    • 确认已经卸载了机器自带的OpenJDK。
    • 最后安装此包并验证。
    rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
    
    # 默认会安装到如下目录中:
    cd /usr/java/jdk1.8.0_181-cloudera
    java -version

    修改系统参数

    • 修改Linux swappiness参数(所有节点)
    # 在 SentOS7 中 tuned 服务会动态调整系统参数,查找tuned中配置,直接修改配置
    cd /usr/lib/tuned/
    grep "vm.swappiness" * -R
    latency-performance/tuned.conf:vm.swappiness=10
    throughput-performance/tuned.conf:vm.swappiness=10
    virtual-guest/tuned.conf:vm.swappiness = 30
    # 然后将文件中的配置依次修改为 0,修改后将这些文件同步到其他机器上
    • 禁用透明页(所有节点)
    vi /etc/rc.local
    # 在文件中添加如下内容:
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
    echo never > /sys/kernel/mm/transparent_hugepage/enabled

    配置本地Parcel存储库,在Node1

    • 创建/opt/cloudera/parcel-repo目录,将下载好的 parce 和 manifest.json 文件放置到该目录,命令如下:
    mkdir -p /opt/cloudera/parcel-repo
    
    [root@node1 parcel-repo]# ls -lart
    总用量 2035088
    drwxr-xr-x. 3 root root 24 10月 24 10:39 ..
    -rw-r--r--. 1 root root 33887 10月 24 10:40 manifest.json
    -rw-r--r--. 1 root root 2083878000 10月 24 11:17 CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel
    -rw-r--r--. 1 root root 40 10月 24 11:17 CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha1
    drwxr-xr-x. 2 root root 4096 10月 24 11:17 .
    -rw-r--r--. 1 root root 64 10月 24 11:17 CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha256
    
    [root@cdh01 parcel-repo]# sha1sum CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel | awk '{ print $1 }' > CDH-6.3.1-1.cdh6.3.1.p0.1470567-el7.parcel.sha
    

    安装CM

    • 创建CM存放路径,将如下内容上传到该目录中。
    # 创建目录,复制CM文件到此目录中。
    mkdir /opt/cloudera/cloudera-repo
    
    [root@node1 cloudera-repo]# createrepo .
    Spawning worker 0 with 3 pkgs
    Spawning worker 1 with 2 pkgs
    Workers Finished
    Saving Primary metadata
    Saving file lists metadata
    Saving other metadata
    Generating sqlite DBs
    Sqlite DBs complete
    
    
    [root@node1 cloudera-repo]# ll
    总用量 1366552
    -rw-r--r--. 1 root root 10483568 10月 24 13:34 cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
    -rw-r--r--. 1 root root 1203832464 10月 24 13:54 cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
    -rw-r--r--. 1 root root 232 10月 24 13:34 cloudera-manager.repo
    -rw-r--r--. 1 root root 11488 10月 24 13:54 cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
    -rw-r--r--. 1 root root 10996 10月 24 13:54 cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
    -rw-r--r--. 1 root root 184988341 10月 24 13:34 oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
    drwxr-xr-x. 2 root root 4096 10月 24 13:56 repodata
    -rw-r--r--. 1 root root 1718 10月 24 13:34 RPM-GPG-KEY-cloudera
    
    
    # 将 cloudera-repo 整个目录复制到 /var/www/html 目录下
    cp -r /opt/cloudera/cloudera-repo /var/www/html
    
    # 将上面下载的 allkeys.asc 文件也放置在 html 目录下
    
    # 在 /etc/yum.repos.d 目录下新建 cloudera-manager.repo 文件,在每个节点都需要创建
    cd /etc/yum.repos.d/
    vi cloudera-manager.repo
    
    # 在cloudera-manager.repo 文件添加如下内容:
    [cloudera-manager]
    name=Cloudera Manager 6.3.1
    baseurl=http://node1/cloudera-repo/
    gpgkey=http://node1/cloudera-repo/RPM-GPG-KEY-cloudera
    gpgcheck=1
    enabled=1
    autorefresh=0
    type=rpm-md
    
    # 保存退出后更新源信息
    yum clean all
    yum makecache
    
    # 安装CDH所依赖的包,如下是从互联网搜集的(实际的测试环境下是可以联网下载的,这里先不补充)
    yum install edhat-lsb portmap mod_ssl openssl-devel python-psycopg2
    yum install chkconfig bind-utils libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs
    
    # 安装守护进程包(每个节点都需要安装)
    yum install cloudera-manager-daemons -y
    
    # 安装 agent 软件包(每个节点都要安装,会自动更新一些依赖包)
    yum install cloudera-manager-agent -y
    
    # 安装 server 软件包(仅Server需要安装)
    yum install cloudera-manager-server -y
    
    
    # 创建CM所需要的数据库、用户
    su - postgres
    psql
    CREATE ROLE scm LOGIN PASSWORD 'scm';
    CREATE ROLE hive LOGIN PASSWORD 'hive';
    CREATE ROLE oozie LOGIN PASSWORD 'oozie';
    CREATE ROLE hue LOGIN PASSWORD 'hue';
    CREATE DATABASE scm OWNER scm ENCODING 'UTF8';
    CREATE DATABASE hive OWNER hive ENCODING 'UTF8';
    CREATE DATABASE oozie OWNER oozie ENCODING 'UTF8';
    CREATE DATABASE hue OWNER hue ENCODING 'UTF8';
    
    # 针对8.4以上版本的 pg 在使用 hive 和 oozie 的时候需要关闭如下配置:
    ALTER DATABASE hive SET standard_conforming_strings=off;
    ALTER DATABASE oozie SET standard_conforming_strings=off;
    
    # 初始化 scm 数据库,可以在命令上显示的写出 pg 数据库 scm 用户的密码,也可以在下面输入你的密码:
    [root@node1 ~]# /opt/cloudera/cm/schema/scm_prepare_database.sh postgresql scm scm [password]
    Enter SCM password: [input your password]
    JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
    Verifying that we can write to /etc/cloudera-scm-server
    Creating SCM configuration file in /etc/cloudera-scm-server
    Executing: /usr/java/jdk1.8.0_181-cloudera/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/java/postgresql-connector-java.jar:/opt/cloudera/cm/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
    [ main] DbCommandExecutor INFO Successfully connected to database.
    All done, your SCM database is configured correctly!
    
    # 启动 Server 服务,这里不用启动 agent,后面从Web界面上安装的时候直接启动。
    systemctl start cloudera-scm-server
    systemctl status cloudera-scm-server
    • 自动安装的依赖包如下:
    作为依赖被安装:
      GeoIP.x86_64 0:1.5.0-14.el7
      MySQL-python.x86_64 0:1.2.5-1.el7
      at.x86_64 0:3.1.13-24.el7
      bc.x86_64 0:1.06.95-13.el7
      bind-export-libs.x86_64 32:9.11.4-9.P2.el7 bind-libs.x86_64 32:9.11.4-9.P2.el7
      bind-utils.x86_64 32:9.11.4-9.P2.el7
      cups-client.x86_64 1:1.6.3-40.el7
      cups-libs.x86_64 1:1.6.3-40.el7
      cyrus-sasl-gssapi.x86_64 0:2.1.26-23.el7
      cyrus-sasl-plain.x86_64 0:2.1.26-23.el7
      ed.x86_64 0:1.9-4.el7
      fuse.x86_64 0:2.9.2-11.el7
      geoipupdate.x86_64 0:2.5.0-1.el7
      keyutils-libs-devel.x86_64 0:1.5.8-3.el7
      krb5-devel.x86_64 0:1.15.1-37.el7_7.2
      libcom_err-devel.x86_64 0:1.42.9-16.el7
      libkadm5.x86_64 0:1.15.1-37.el7_7.2
      libselinux-devel.x86_64 0:2.5-14.1.el7
      libsepol-devel.x86_64 0:2.5-10.el7
      libtirpc.x86_64 0:0.2.4-0.16.el7
      libverto-devel.x86_64 0:0.2.5-4.el7
      m4.x86_64 0:1.4.16-10.el7
      mailx.x86_64 0:12.5-19.el7
      mod_ssl.x86_64 1:2.4.6-90.el7.centos
      openssl-devel.x86_64 1:1.0.2k-19.el7
      patch.x86_64 0:2.7.1-12.el7_7
      pcre-devel.x86_64 0:8.32-17.el7
      psmisc.x86_64 0:22.20-16.el7
      python-psycopg2.x86_64 0:2.5.1-4.el7
      redhat-lsb-core.x86_64 0:4.1-27.el7.centos.1
      redhat-lsb-submod-security.x86_64 0:4.1-27.el7.centos.1
      rpcbind.x86_64 0:0.2.0-48.el7
      spax.x86_64 0:1.5.2-13.el7
      time.x86_64 0:1.7-45.el7
      zlib-devel.x86_64 0:1.2.7-18.el7
    
    更新完毕:
      selinux-policy-targeted.noarch 0:3.13.1-252.el7.1
    
    作为依赖被升级:
      bind-libs-lite.x86_64 32:9.11.4-9.P2.el7
      bind-license.noarch 32:9.11.4-9.P2.el7
      cyrus-sasl-lib.x86_64 0:2.1.26-23.el7
      dhclient.x86_64 12:4.2.5-77.el7.centos
      dhcp-common.x86_64 12:4.2.5-77.el7.centos
      dhcp-libs.x86_64 12:4.2.5-77.el7.centos
      e2fsprogs.x86_64 0:1.42.9-16.el7
      e2fsprogs-libs.x86_64 0:1.42.9-16.el7
      krb5-libs.x86_64 0:1.15.1-37.el7_7.2
      libcom_err.x86_64 0:1.42.9-16.el7
      libselinux.x86_64 0:2.5-14.1.el7
      libselinux-python.x86_64 0:2.5-14.1.el7
      libselinux-utils.x86_64 0:2.5-14.1.el7
      libsemanage.x86_64 0:2.5-14.el7
      libsepol.x86_64 0:2.5-10.el7
      libss.x86_64 0:1.42.9-16.el7
      pcre.x86_64 0:8.32-17.el7
      policycoreutils.x86_64 0:2.5-33.el7
      selinux-policy.noarch 0:3.13.1-252.el7.1
      zlib.x86_64 0:1.2.7-18.el7
    • 安装PG驱动

    配置集群

    这里搜索我们的机器,注意上面安装 agent 包的时候不要启动 agent 服务。

    这里使用本地仓库地址:http://node1/cloudera-repo

    这里不勾选,上面我们已经在每个机器上安装了jdk

    所有机器的密码相同,也就不需要使用上面的免Key登录了。

    在各个节点安装 agent 服务。

    这里进行网络和主机配置检查,根据提示调整机器配置,我这里先跳过了。

    选择安装的服务,这里我们自定义:先之选一个 HDFS 服务。

    然后为每个服务的角色分配所在主机节点:

    配置 HDFS 的基本参数,留意数据存放路径,需要是机器上存放数据的目录,这个目录需要足够大。

    然后等待安装完成即可。

  • 相关阅读:
    白话SSL协议的握手过程
    PHP进程高负载
    Apache不定时宕机
    KindEditor
    过滤进程命令
    LAMP 平台必建安装包
    scp command
    ssl_request_log日志拆分
    Day01:Python入门
    Day03:集合、文件处理和函数基础
  • 原文地址:https://www.cnblogs.com/duchaoqun/p/11940925.html
Copyright © 2011-2022 走看看