• 安装cdh6.2.0


    CDH至少3台服务器部署集群,规划如下:
    ip1 node01.hadoop.com Hadoop Master, CM Server, dataNode, Mysql
    ip2 node02.hadoop.com dataNode, CM Agent
    ip3 node03.hadoop.com dataNode, CM Agent

    一 修改主机名,更改Hosts映射文件,配置server到其他主机互信
    1.1 修改主机名
    hostnamectl set-hostname node01.hadoop.com
    hostname node01.hadoop.com
    hostnamectl set-hostname node02.hadoop.com
    hostname node02.hadoop.com
    hostnamectl set-hostname node03.hadoop.com
    hostname node03.hadoop.com

    1.2 配置主机名与ip地址的映射
    cat <<EOF >> /etc/hosts
    ip1 node01.hadoop.com node01
    ip2 node02.hadoop.com node02
    ip3 node03.hadoop.com node03
    EOF

    1.3 配置互信
    ssh-keygen
    for host in node01 node02 node03
    do
    ssh-copy-id ${host}.hadoop.com -o StrictHostKeyChecking=no
    done


    二 关闭防火墙,停掉selinux
    systemctl disable firewalld
    systemctl stop firewalld
    setenforce 0
    sed -i 's/SELINUX=enforcing/SELINUX=disabled' /etc/sysconfig/SELINUX


    三 时间同步

    3.1 安装ntp
    yum install ntp -y

    3.2 立即同步时间
    ntpdate ntp1.aliyun.com

    3.3 设置同步时间池
    sed -i 's/server 0.centos.pool.ntp.org iburst/server ntp1.aliyun.com/g' /etc/ntp.conf
    sed -i 's/server 1.centos.pool.ntp.org iburst/server ntp2.aliyun.com/g' /etc/ntp.conf
    sed -i 's/server 2.centos.pool.ntp.org iburst/server ntp3.aliyun.com/g' /etc/ntp.conf
    sed -i 's/server 3.centos.pool.ntp.org iburst/server ntp4.aliyun.com/g' /etc/ntp.conf

    3.4 开机自启
    systemctl enable ntpd

    3.5 启动ntp服务
    systemctl start ntpd


    四 设置主机参数

    4.1 修改虚拟内存交换页大小(机器-all)
    // 临时修改
    sysctl -w vm.swappiness=0
    // 永久修改
    echo "vm.swappiness=0" > /etc/sysctl.conf
    sysctl -p

    4.2 禁用透明页(kernel优化)(机器-all)
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    # 开机自启
    echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local
    echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag" >> /etc/rc.local
    chmod u+x /etc/rc.local

    4.3 修改linux系统打开文件最大数量的限制
    cat <<EOF >> /etc/security/limits.conf
    * soft nproc 11000
    * hard nproc 11000
    * soft nofile 65535
    * hard nofile 65535
    EOF
    cat <<EOF >> /etc/security/limits.conf
    * soft nproc 11000
    * hard nproc 11000
    EOF

    五 安装java,jdbc驱动(所有主机)
    mkdir -pv /data/apps
    tar -xf jdk-8u221-linux-x64.tar.gz -C /data/apps
    cat <<EOF > /etc/profile.d/jdk.sh
    export JAVA_HOME=/data/apps/jdk1.8.0_221
    export PATH=:$JAVA_HOME/bin:$PATH
    EOF
    source /etc/profile


    wget http://central.maven.org/maven2/mysql/mysql-connector-java/8.0.16/mysql-connector-java-8.0.16.jar
    mkdir -pv /usr/share/java # 必须是此目录
    mv mysql-connector-java-8.0.16.jar /usr/share/java/mysql-connector-java.jar
    scp /usr/share/java/mysql-connector-java.jar node02:/usr/share/java/
    scp /usr/share/java/mysql-connector-java.jar node03:/usr/share/java/


    #useradd --system --home=/var/lib/cloudera-scm-server --no-create-home --shell=/sbin/nologin --comment "Cloudera Manager" cloudera-scm

    六 安装配置mysql

    6.1 检查和卸载自带mysql、mariadb
    rpm -qa | grep mysql
    #rpm -e --nodeps mysql
    rpm -qa | grep mysql |xargs rpm -e --nodeps
    rpm -qa | grep mariadb
    rpm -e --nodeps mariadb

    6.2 安装配置mysql
    # wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
    # rpm -ivh mysql-community-release-el7-5.noarch.rpm
    # yum -y install mysql-server
    # systemctl start mysqld
    # systemctl enable mysqld


    6.3 配置
    cat <<EOF > /etc/my.cnf
    [mysqld]
    basedir = /data/apps/mysql
    datadir = /data/apps/mysql/data
    character_set_server = utf8
    skip_name_resolve = on
    innodb_buffer_pool_size =8G
    innodb_write_io_threads = 8
    innodb_read_io_threads= 8
    innodb_log_file_size = 128M
    innodb_log_buffer_size = 32M
    innodb_page_cleaners = 4
    innodb_io_capacity = 5000
    innodb_flush_log_at_trx_commit = 2
    innodb_flush_method = O_DIRECT
    max_allowed_packet = 32M
    max_connections = 4000
    key_buffer_size = 32M
    read_buffer_size = 2M
    read_rnd_buffer_size = 16M
    sort_buffer_size = 8M
    join_buffer_size = 8M
    thread_stack = 256K
    thread_cache_size = 64
    query_cache_limit = 8M
    query_cache_size = 64M
    query_cache_type = 1
    server_id = 180
    log_bin = mysql-bin
    binlog_format = row
    relay_log = relay-log
    #gtid_mode = ON
    #enforce_gtid_consistency = true
    gtid_mode = OFF
    enforce_gtid_consistency = OFF
    master_info_repository = TABLE
    relay_log_info_repository = TABLE
    slave_parallel_type = LOGICAL_CLOCK
    slave_parallel_workers = 8
    relay_log_recovery = ON
    slow_query_log = on
    long_query_time = 3
    slow_query_log_file = mysql-slow.log
    expire_logs_days = 40
    log_error = mysql.log
    log_bin_trust_function_creators = on
    sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
    lower_case_table_names = 1
    log_timestamps = SYSTEM
    EOF

    mv /var/lib/mysql/ib_logfile0 /var/lib/mysql/ib_logfile1 /var/lib/mysql/back

    6.4 防止mysql默认账号被人乱用,执行以下命令并一直回车
    /usr/bin/mysql_secure_installation


    6.5 配置CM及其他服务的数据库基于mysql, 增加mysql-connector包
    #CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

    #GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'password';
    GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'password';
    GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'password';
    GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'password';
    GRANT ALL ON metastore.* TO 'metastore'@'%' IDENTIFIED BY 'password';
    GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY 'password';
    GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY 'password';
    GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY 'password';
    GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'password';
    GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY 'password';

    create user 'cdh'@'112.198.9.11' identified by 'password';
    grant all on *.* to 'cdh'@'%';
    FLUSH PRIVILEGES;
    SHOW DATABASES;
    SHOW GRANTS FOR '<user>'@'%';

    七 准备CM yum源
    yum -y install httpd
    systemctl start httpd
    systemctl enable httpd
    mkdir -pv /var/www/html/cloudera-repos

    wget --recursive --no-parent --no-host-directories https://archive.cloudera.com/cm6/6.2.0/redhat7/ -P /var/www/html/cloudera-repos
    wget https://archive.cloudera.com/cm6/6.2.0/allkeys.asc -P /var/www/html/cloudera-repos/cm6/6.2.0/
    chmod -R ugo+rX /var/www/html/cloudera-repos/cm6


    #https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/RPMS/x86_64/cloudera-manager-agent-6.2.0-968826.el7.x86_64.rpm
    #https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/RPMS/x86_64/cloudera-manager-daemons-6.2.0-968826.el7.x86_64.rpm
    #https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/RPMS/x86_64/cloudera-manager-server-6.2.0-968826.el7.x86_64.rpm
    #https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/RPMS/x86_64/cloudera-manager-server-db-2-6.2.0-968826.el7.x86_64.rpm
    #https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/RPMS/x86_64/enterprise-debuginfo-6.2.0-968826.el7.x86_64.rpm
    #https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/RPMS/x86_64/oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm


    yum -y install screen
    screen -S simpeServer
    cd /var/www/html
    python -m SimpleHTTPServer 8900


    cat <<EOF > /etc/yun.repos.d/cloudera-repo.repo
    [cloudera-repo]
    name=cloudera-repo
    baseurl=http://ip:8900/cloudera-repos/cm6/6.2.0/redhat7/yum
    enabled=1
    gpgcheck=0
    EOF


    八 安装cdh

    8.1 安装cloudera manager server
    # master
    yum -y install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server

    # slave
    yum -y install cloudera-manager-daemons cloudera-manager-agent

    8.2 设置 Cloudera Manager 数据库
    #/opt/cloudera/cm/schema/scm_prepare_database.sh mysql db_cdh6_scm -hnode01 -uroot -p't' --scm-host node01 db_cdh6_scm scm scm
    /opt/cloudera/cm/schema/scm_prepare_database.sh mysql -hnode01 -uroot -p'' --scm-host node01 scm root ''
    # 前一个是数据库主机 后一个是cm主机

    8.3 配置
    sed -i 's/server_host=/server_host=node01.hadoop.com' /etc/cloudera-scm-agent/config.ini
    scp /etc/cloudera-scm-agent/config.ini node02:/etc/cloudera-scm-agent/
    scp /etc/cloudera-scm-agent/config.ini node03:/etc/cloudera-scm-agent/

    8.3 启动

    # master 上
    systemctl start cloudera-scm-server
    systemctl enable cloudera-scm-server
    # 所有主机
    systemctl start cloudera-scm-agent
    systemctl enable cloudera-scm-agent

    # 列出重复的包
    package-cleanup --dupes
    # 删除重复的包
    package-cleanup --cleandupes --removenewestdupes


    namenode用来部署mysql,hdfs.namenode,Hbase.master,Yarn,ResourceManager
    datenode用来做worker节点,承担zk,kafka等其他服务的部署

    # 安装StreamSets3.9 网址:https://archives.streamsets.com/index.html

    wget -P /var/www/html/streamsets3.9.0/ https://archives.streamsets.com/datacollector/3.9.0/parcel/manifest.json
    wget -P /var/www/html/streamsets3.9.0/ https://archives.streamsets.com/datacollector/3.9.0/parcel/STREAMSETS_DATACOLLECTOR-3.9.0-el7.parcel.sha
    wget -P /var/www/html/streamsets3.9.0/ https://archives.streamsets.com/datacollector/3.9.0/parcel/STREAMSETS_DATACOLLECTOR-3.9.0-el7.parcel

    # 配置csd 网址: https://streamsets.com/opensource
    wget -P /opt/cloudera/csd/ https://archives.streamsets.com/datacollector/3.9.0/csd/STREAMSETS-3.9.0.jar
    cd /opt/cloudera/csd/
    chown cloudera-scm:cloudera-scm STREAMSETS-3.9.0.jar && chmod 644 STREAMSETS-3.9.0.jar
    systemctl restart cloudera-scm-server

  • 相关阅读:
    Spring基础篇——AOP切面编程
    像我这样的人
    Java 内部类
    SQLite 带你入门
    Spring基础篇——通过Java注解和XML配置装配bean
    Spring基础篇——自动化装配bean
    VMware虚拟机+CentOS系统安装
    Spring基础篇——Spring容器和应用上下文理解
    Spring基础篇——DI/IOC和AOP原理初识
    Web 项目刚要打包,却找不到项目资源?
  • 原文地址:https://www.cnblogs.com/ray-mmss/p/12116434.html
Copyright © 2020-2023  润新知