zoukankan      html  css  js  c++  java
  • kudu_CM安装准备工作

    Cloudera Manager简介:

    hadoop: https://yq.aliyun.com/articles/60759

    ----------------------------------------------下载----------------------------------------------

    --下载安装包:
    1.Cloudera Manager仓库镜像包下载地址:
    https://archive.cloudera.com/cdh5/parcels/5.12/

    CDH-5.12.2-1.cdh5.12.2.p0.4-el7.parcel
    CDH-5.12.2-1.cdh5.12.2.p0.4-el7.parcel.sha1
    manifest.json


    2.CDH parcel安装包地址:
    http://archive.cloudera.com/cm5/repo-as-tarball/5.12.2/

    cm5.12.2-centos7.tar.gz

    3.kudu的parcel安装包地址:
    http://archive.cloudera.com/kudu/parcels/latest/

    KUDU-1.4.0-1.cdh5.12.2.p0.8-el7.parcel
    KUDU-1.4.0-1.cdh5.12.2.p0.8-el7.parcel.sha1

    4.kudu 的csd安装包地址:
    http://archive.cloudera.com/kudu/csd/
    注意: 通过 Cloudera Manager 安装parcel时sha1格式的文件需要提前修改为sha。

    ----------------------------------------------准备工作----------------------------------------------

    --配置

    修改主机名:
    hostnamectl set-hostname Node1

    --1.修改hosts文件 所有节点

    [root@node1 .ssh]# cat /etc/hosts
    127.0.0.1 localhost.Node1
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.2.171 Node1
    192.168.2.172 Node2
    192.168.2.173 Node3 

    --2.配置公钥认证 免密登录
    2.1 配置公钥认证
    ssh-keygen -t rsa
    一路回车,生成无密码的密钥对

    2.2 将公钥添加到认证文件中:

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    2.3 scp文件到所有受管节点( Node2 和 Node3)的~/.ssh目录:

    scp ~/.ssh/authorized_keys root@Node2:~/.ssh/
    scp ~/.ssh/authorized_keys root@Node3:~/.ssh/
    

    2.4如果没有.ssh目录,手动创建并赋权限

    [root@node1 ~]# mkdir .ssh
    [root@node1 ~]# chmod 700 .ssh/

    --3.关闭防火墙

    [root@node1 .ssh]# systemctl stop firewalld.service
    [root@node1 .ssh]# firewall-cmd --state
    not running
    

      

    --4.关闭SELINUX
    sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
    setenforce 0

    --5.配置NTP服务 同步时间

    --6.优化虚拟内存需求率(所有节点)
    1)检查虚拟内存需求率
      cat /proc/sys/vm/swappiness


    2)临时降低虚拟内存需求率
      sysctl vm.swappiness=0

    永久降低虚拟内存需求率
    使用命令 vi /etc/sysctl.conf 增加
      vm.swappiness = 0
    并运行如下命令使生效
      sysctl -p

    --7.解决透明大页面问题(所有节点)

    1)检查透明大页面问题

    执行代码:

    echo never > /sys/kernel/mm/transparent_hugepage/defrag 
    echo never > /sys/kernel/mm/transparent_hugepage/enabled  

    以禁用此设置,然后将同一命令添加到 /etc/rc.local 等初始化脚本中,以便在系统重启时予以设置。

    cat /sys/kernel/mm/transparent_hugepage/defrag

      如果显示为:

      [always] madvise never

    2)临时关闭透明大页面问题
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
    确认配置生效:
    cat /sys/kernel/mm/transparent_hugepage/defrag
    应该显示为:
    always madvise [never]
    3)配置开机自动生效
    使用命令 vim /etc/rc.local,加入如下内容

    echo never > /sys/kernel/mm/transparent_hugepage/defrag 
    echo never > /sys/kernel/mm/transparent_hugepage/enabled

    --8.安装JDK

    卸载自带的OpenJdk,
    使用 rpm -qa | grep java 查询java相关的包,
    使用 rpm -e --nodeps 包名 卸载。

    --------------------------------------- -----------------安装配置MariaDB--------------------------------------- 

    a. 确保/var/lib/mysql目录有足够大的磁盘空间
    b. 卸载自带的mysql。
      yum remove mysql
    1.添加yum源

    vi /etc/yum.repos.d/MariaDB.repo
    
    [mariadb]
    name = MariaDB
    baseurl = http://yum.mariadb.org/10.1/centos7-amd64
    gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck=1  

    2.安装MariaDB
      yum install MariaDB-server MariaDB-client MariaDB-devel --enablerepo=MariaDB.repo

    3.配置my.conf
    vim /etc/my.cnf
    用以下内容替换
    
    [mysqld]
    transaction-isolation = READ-COMMITTED
    # Disabling symbolic-links is recommended to prevent assorted security risks;
    # to do so, uncomment this line:
    # symbolic-links = 0
    
    key_buffer = 16M
    key_buffer_size = 32M
    max_allowed_packet = 32M
    thread_stack = 256K
    thread_cache_size = 64
    query_cache_limit = 8M
    query_cache_size = 64M
    query_cache_type = 1
    
    max_connections = 550
    #expire_logs_days = 10
    #max_binlog_size = 100M
    
    #log_bin should be on a disk with enough free space. Replace '/var/lib/mysql/mysql_binary_log' with an appropriate path for your system
    #and chown the specified folder to the mysql user.
    log_bin=/var/lib/mysql/mysql_binary_log
    
    binlog_format = mixed
    
    read_buffer_size = 2M
    read_rnd_buffer_size = 16M
    sort_buffer_size = 8M
    join_buffer_size = 8M
    
    # InnoDB settings
    innodb_file_per_table = 1
    innodb_flush_log_at_trx_commit  = 2
    innodb_log_buffer_size = 64M
    innodb_buffer_pool_size = 4G
    innodb_thread_concurrency = 8
    innodb_flush_method = O_DIRECT
    innodb_log_file_size = 512M
    
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    

    3.启动MariaDB
      service mysql start

    启动失败:
    失败1:
        /usr/bin/mysqld_safe_helper: Can't create/write to file '/var/log/mysqld.log' (Errcode: 13 "Permission denied")
    授权:
        chown -R mysql /var/log/
    失败2:
        2018-02-05 11:22:22 139647932491520 [ERROR] mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 13 "Permission denied")
        2018-02-05 11:22:22 139647932491520 [ERROR] Can't start server: can't create PID file: Permission denied
    解决:
    [root@Node1 log]# cat /var/log/mysqld.log
    [root@Node1 run]# mkdir mysqld
    [root@Node1 log]# chown -R mysql /var/run/mysqld
    [root@Node1 log]# chgrp -R mysql /var/run/mysqld

    4.查看MariaDB版本
    mysql --version

    5.设置开机启动
    chkconfig mysql on

    6.初始化数据库

    sudo /usr/bin/mysql_secure_installation
    
    Enter current password for root (enter for none):  Enter
    
    Set root password? [Y/n] y
    New password: 123456
    Re-enter new password: 
    Password updated successfully!
    Reloading privilege tables..
     ... Success!
    
    Remove anonymous users? [Y/n] y
     ... Success!
    
    Normally, root should only be allowed to connect from 'localhost'.  This
    ensures that someone cannot guess at the root password from the network.
    
    Disallow root login remotely? [Y/n] n
     ... skipping.
    
    By default, MariaDB comes with a database named 'test' that anyone can
    access.  This is also intended only for testing, and should be removed
    before moving into a production environment.
    
    Remove test database and access to it? [Y/n] y
     - Dropping test database...
     ... Success!
     - Removing privileges on test database...
     ... Success!
    
    Reloading the privilege tables will ensure that all changes made so far
    will take effect immediately.
    
    Reload privilege tables now? [Y/n] y
     ... Success!
    
    Cleaning up...
    
    All done!  If you've completed all of the above steps, your MariaDB
    installation should now be secure.
    
    Thanks for using MariaDB!
    

    7.使用mysql -uroot -p进入mysql命令行,创建数据库和用户:

    [root@Node1 log]# mysql -uroot -p
    Enter password: 
    Welcome to the MariaDB monitor.  Commands end with ; or g.
    Your MariaDB connection id is 12
    Server version: 10.1.30-MariaDB MariaDB Server
    
    Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    MariaDB [(none)]> create database hive DEFAULT CHARACTER SET utf8;
    Query OK, 1 row affected (0.00 sec)
    
    MariaDB [(none)]> grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> create database hue DEFAULT CHARACTER SET utf8;
    Query OK, 1 row affected (0.00 sec)
    
    MariaDB [(none)]> grant all on hue.* TO 'hue'@'%' IDENTIFIED BY 'hue';
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> create database oozie DEFAULT CHARACTER SET utf8;
    Query OK, 1 row affected (0.00 sec)
    
    MariaDB [(none)]> grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie';   
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> exit
    Bye
     

    -------------------------------------------安装mysql JDBC 驱动(管理节点)-----------------------------------------

    下载mysql JDBC 驱动放到目录 /usr/share/java/ 并修改名为mysql-connector-java.jar
    下载地址:https://dev.mysql.com/downloads/connector/j/

    [root@Node1 mysql-connector-java-5.1.45]# cp mysql-connector-java-5.1.45-bin.jar /usr/share/java/mysql-connector-java.jar

    ----------------------------------------- 安装配置 Cloudera Manager(管理节点)---------------------------------------
    建立Cloudera Manager安装文件自定义存储库

    a.安装httpd服务器

    查询一下是否已经安装了apache
    rpm -qa httpd 
    如果还没有则进行安装
    yum -y install httpd
    启动apache
    service httpd start
    开机自启动
    chkconfig httpd on

    1.将Cloudera Manager仓库镜像包cm5.12.2-centos7.tar.gz
    解压到/var/www/html目录,文件目录结构如下
    [root@Node1 cm]# tar zxvf /root/softwares/kudu/cm5.12.2-centos7.tar.gz -C /var/www/html

    2.通过rpm安装包本地安装 Cloudera Manager
    到目录 /var/www/html/cm/5/RPMS/x86_64

    --本地安装rpm包,不验证签名

    yum --nogpgcheck localinstall cloudera-manager-daemons-5.12.*.rpm cloudera-manager-server-5.12.*.rpm enterprise-debuginfo-5.12.*.rpm

    3.Parcel和csd格式文件上传
    a. 上传下列文件到Parcel包的存放路径: /root/cloudera/parcel-repo/
    CDH-5.12.2-1.cdh5.12.2.p0.4-el7.parcel
    CDH-5.12.2-1.cdh5.12.2.p0.4-el7.parcel.sha1
    KUDU-1.4.0-1.cdh5.12.2.p0.8-el7.parcel
    KUDU-1.4.0-1.cdh5.12.2.p0.8-el7.parcel.sha1
    manifest.json

     

    4.上传最新的kudu csd文件到csd包存放路径: /root/cloudera/csd/
    KUDU-5.10.2.jar

    5.配置 Cloudera Manager Server 数据库

    使用命令scm_prepare_database.sh创建Cloudera Manager Server数据库配置文件
    命令格式如下
    /usr/share/cmf/schema/scm_prepare_database.sh database-type [options] database-name username password
    如:

    /usr/share/cmf/schema/scm_prepare_database.sh mysql -hNode1 -uroot -p123456 --scm-host Node1 scm scm scm
    
    成功:
    
    [root@node1 cloudera-scm-server]# /usr/share/cmf/schema/scm_prepare_database.sh mysql -hNode1 -uroot -p123456 --scm-host Node1 scm scm scm
    JAVA_HOME=/usr/java/jdk1.7.0_79
    Verifying that we can write to /etc/cloudera-scm-server
    Creating SCM configuration file in /etc/cloudera-scm-server
    Executing: /usr/java/jdk1.7.0_79/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/cmf/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!
    [root@node1 cloudera-scm-server]# 
    执行完成后生成数据库配置文件/etc/cloudera-scm-server/db.properties
    # Auto-generated by scm_prepare_database.sh on 2018年 01月 10日 星期三 14:42:32 CST
    #
    # For information describing how to configure the Cloudera Manager Server
    # to connect to databases, see the "Cloudera Manager Installation Guide."
    #
    com.cloudera.cmf.db.type=mysql
    com.cloudera.cmf.db.host=localhost
    com.cloudera.cmf.db.name=scm
    com.cloudera.cmf.db.user=scm
    com.cloudera.cmf.db.setupType=EXTERNAL
    com.cloudera.cmf.db.password=scm
    
    报错:
    mysql>use mysql;
    mysql>desc user;
    mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";  //为root添加远程连接的能力。
    mysql>update user set Password = password('123456') where User='root';
    mysql>select Host,User,Password  from user where User='root'; 
    mysql>flush privileges;
    mysql>exit
    
    grant all on scm.* to 'root'@'%' identified by '123456' with grant option;
    
    cat /etc/cloudera-scm-server/db.properties
    

    6.启动Cloudera Manager Server

    [root@node1 ~]# service cloudera-scm-server start
    Starting cloudera-scm-server (via systemctl): Warning: cloudera-scm-server.service changed on disk. Run 'systemctl daemon-reload' to reload units.
    [ 确定 ]
    [root@node1 ~]# systemctl daemon-reload
    [root@node1 ~]# service cloudera-scm-server start
    Starting cloudera-scm-server (via systemctl): [ 确定 ]
    启动失败报错没有JDK
    一个是OS的环境变量,一个是脚本运行时候的设置
    [root@Node1 init.d]# pwd
    /etc/init.d
    [root@Node1 init.d]# vim cloudera-scm-server
    添加:
    export JAVA_HOME=/root/jdk1.7.0_79
    
    再次启动:
    [root@Node1 init.d]# service cloudera-scm-server start
    查看日志:
    [root@Node1 init.d]# cat /var/log/cloudera-scm-server/cloudera-scm-server.out 
    JAVA_HOME=/root/jdk1.7.0_79
    /usr/share/cmf/bin/cmf-server:行129: /root/jdk1.7.0_79/bin/java: 权限不够
    /usr/share/cmf/bin/cmf-server: 第 129 行:exec: /root/jdk1.7.0_79/bin/java: 无法执行: 权限不够
    
    修改jdk路径
    [root@Node1 ~]# cd /usr/
    [root@Node1 usr]# mkdir java/
    [root@Node1 init.d]# echo $JAVA_HOME
    /usr/java/jdk1.7.0_79
    
    再次启动:
    [root@Node1 init.d]# service cloudera-scm-server start
    

    --CM

    等待大概两分钟,访问 http://192.168.2.171:7180/ 进入管理端 (登陆名:admin 密码:admin)

    --kudu
    http://192.168.2.171:8051/

      

      

     

  • 相关阅读:
    NOIP 2017 游记?
    bzoj4596 [Shoi2016]黑暗前的幻想乡
    bzoj2467 [中山市选2010]生成树
    bzoj3534 [Sdoi2014]重建
    bzoj1016 [JSOI2008]最小生成树计数
    bzoj4044 [Cerc2014] Virus synthesis
    bzoj4530 [Bjoi2014]大融合
    bzoj2594 [Wc2006]水管局长数据加强版
    bzoj 2342 [Shoi2011]双倍回文
    bzoj [HNOI2008]Cards
  • 原文地址:https://www.cnblogs.com/ZHUJIBlogs/p/8418684.html
Copyright © 2011-2022 走看看