• CDH5集群搭建


    1.     修改主机名

    使用命令:hostnamectl set-hostname master修改主机名,

    使用 cat /etc/hostname查看修改情况

     

    hostnamectl set-hostname slave1

    hostnamectl set-hostname slave2

    重新连接发现修改成功。

    所有节点修改/etc/hosts文件,添加:

    192.168.101.1 master

    192.168.101.2 slave1

    192.168.101.3 slave2

    2.     配置SSH,打通masterslave1,slave2的无密码登录

    在master上使用 ssh-keygen -t rsa  来生成公钥和私钥(连续回车,不设置密码)

     

    使用scp命令将master的公钥发送到slave1,slave2的 ~/.ssh路径中并改名成authorized_keys,如果slave1,slave2中没有~/.ssh路径,则创建改路径。

    然后发送公钥文件,

     scp ~/.ssh/id_rsa.pub root@slave1:~/.ssh/authorized_keys

    在master通过 ssh slave1成功无密登录slave1。

    3.     关闭防火墙

    使用systemctl status firewalld.service查看防火墙状态。

    使用 systemctl stop firewalld.service关闭防火墙。

    关闭防火墙开机启动 systemctl disable firewalld.service

     4.     关闭selinux(所有节点)

    查看

    [root@dev-server ~]# getenforce

    Disabled

    [root@dev-server ~]# /usr/sbin/sestatus -v

    SELinux status:                 disabled

    临时关闭

    ##设置SELinux 成为permissive模式

    ##setenforce 1 设置SELinux 成为enforcing模式

    setenforce 0

    永久关闭

    vi /etc/selinux/config

    将SELINUX=enforcing改为SELINUX=disabled 
    设置后需要重启才能生效

     5.     安装NTP服务(所有节点)

    集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。

    6.     安装jdk

    下载JDK:

    http://download.oracle.com/otn/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.rpm

    拷贝jdk-8u151-linux-x64.rpm到/usr/java/

    删除以前安装的JDK

    rpm -e 以前JDK的包名

    安装JDK

    rpm -ivh jdk-8u151-linux-x64.rpm

    删除安装文件

    rm jdk-8u151-linux-x64.rpm

    修改环境变量

    进入文件/etc/profile:

    vi /etc/profile

    添加内容:

    JAVA_HOME=/usr/java/jdk1.8.0_151
    JRE_HOME=/usr/java/jdk1.8.0_151/jre
    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    export JAVA_HOME JRE_HOME PATH CLASSPATH

    保存修改(按Esc键):

    :wq

    使修改生效:

    source /etc/profile

    查看是否修改成功:

    echo $PATH

     7. 安装mysql

    下载Mysql:

    https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz

    拷贝mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz到/usr/local /下。

    将mysql安装包解压到指定目录,命令如下:

    tar -zxvf mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz -C /usr/local 

    进入/usr/local目录:

    cd /usr/local

    为mysql安装目录创建软链接:

    ln -s mysql-5.6.31-linux-glibc2.5-x86_64 mysql

    为centos添加mysql用户组和mysql用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限):

    groupadd mysql
    useradd -r -g mysql -s /bin/false mysql

    进入安装mysql软件的目录,命令如下:

    cd /usr/local/mysql

    修改当前目录拥有者为新建的mysql用户,命令如下:

    chown -R mysql:mysql ./

    安装mysql,命令如下:

    ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysqldata/mysql    //事先创建好 /home/mysqldata/mysql路径用于存放数据

    如果出现错误:

    FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:

    执行 : yum –y install autoconf

     

    修改 /etc/my.cnf ,如果没有改文件将 /support-files/my-default.cnf 复制到/etc中,改名成my.cnf。修改其内容为:

    [client]
    socket=/home/mysqldata/mysql/mysql.sock
    [mysqld]
    socket = /home/mysqldata/mysql/mysql.sock
    character-set-server=utf8
    datadir = /home/mysqldata/mysql
     
    [mysql]
    no-auto-rehash
    default-character-set=utf8

    启动mysql 服务:

    ./support-files/mysql.server start

    将mysql进程放入系统进程中,命令如下:(mysql服务)

    cp support-files/mysql.server /etc/init.d/mysqld
    chkconfig --add mysqld 
    chkconfig mysqld on

    把mysql客户端命令加入到系统命令中,命令如下:或者将mysql的客户端启动命令加入到path路径中。

    cd /usr/bin
    ln –s /usr/local/mysql/bin/mysql mysql

    重新启动mysql服务,命令如下:

    service mysqld restart

    开启数据库远程访问权限:

    grant all privileges  on *.* to ‘root’@'%' identified by "password";
    flush privileges;

     8.     CDH5安装

    1)  每个节点,在数据盘目录下建文件夹 hadoop用于存放数据,建立cloudera用于安装软件。 Tocc在home路径下创建这两个文件夹。

    2)  下载cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz,CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel,  CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha1,manfest.json,并将CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha1改命为CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha。将下载的所有文件发送到其他节点对应的目录。

    3)  所有节点。

    在 cloudera目录中解压 cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz。修改解压得到的文件夹中的 config.ini文件,将其中的server_host改成对应的主机名。

    vim cm-5.12.1/etc/cloudera-scm-agent/config.ini

    为所有机器创建用户:

    useradd --system --home-dir /home/cloudera/cm-5.12.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

    为cloudera manager建立数据库,需要下载msyql数据库驱动下载地址:http://dev.mysql.com/downloads/connector/j/。解压上传文件到所有主机的 /home/cloudera/cm-5.12.1/share/cmf/lib/目录下。

     

    4)  在master节点上使用cm给了脚本自动创建数据库:

    /home/cloudera/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p123456 --scm-host localhost scm 123456

    其中cm是数据库,scm为CDH5数据库的用户名,123456为CDH5数据库的密码。

    5)  启动CDH5.

    在master节点上启动server:

    /home/cloudera/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p123456 --scm-host localhost cdh 123456

     

    6)  登录 http://master:7180 admin, admin

    安装过程中:

     

    如果出现主机状况不良,每台主机运行

     

    rm /home/cloudera/cm-5.12.1/lib/cloudera-scm-agent/cm_guid, 然后重启服务端和客户端

     

    In HD01-05

    1)检查虚拟内存需求率

    cat /proc/sys/vm/swappiness

    显示如下:

     30

    2)临时降低虚拟内存需求率

    sysctl vm.swappiness=0

    3)永久降低虚拟内存需求率

    echo 'vm.swappiness = 0' > /etc/sysctl.d/swappiness.conf

    并运行如下命令使生效

    sysctl -p

     解决透明大页面问题

    In HD01-05

    1)检查透明大页面问题

    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)配置开机自动生效

    echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.local

    chmod +x /etc/rc.d/rc.local

     

     

     

     

     

  • 相关阅读:
    GIT和SVN之间的五个基本区别
    IOS多线程(NSThread,NSOperation,Grand Central Dispatch)
    MV*模型及部分vue
    你未必知道的49个CSS知识点--(转发地址)
    VUE增删改查
    动态树形菜单的几种递归写法小结
    vue-cli
    git的使用
    自动化构建工具----gulp
    前端包管理工具—bower
  • 原文地址:https://www.cnblogs.com/smzy/p/9274264.html
Copyright © 2020-2023  润新知