CDH集群安装部署


大数据平台软件清单

本文部署的大数据基础平台为CDH,操作系统的版本为CentOS6.8,JDK的版本为1.8,Cloudera Manager与CDH的版本为5.15.1,数据库采用MySQL5.7,JDBC驱动的版本为5.1.40,以上所有软件均为开源版本,具体如下表所示:

NO. 软件名称 版本

:--- :---------------- :-------------

1 操作系统 CentOS6.8 64位

2 JDK 1.8.0_73

3 Cloudera Manager 5.15.1

4 CDH 5.15.1

5 数据库 MySQL5.7

6 JDBC驱动 5.1.40

安装前准备

配置网络名称和SSH

(1)编辑/etc/sysconfig/network文件,修改HOSTNAME,将主机名修改为kms-1.example.com,三台主机名依次为kms-1.example.com、kms-2.example.com、kms-3.example.com

[root@kms-1  ~]# vi /etc/sysconfig/network

(2)编辑/etc/hosts文件,配置主机IP与主机名

[root@kms-1  ~]# vi /etc/hosts

添加配置的内容如下所示

192.168.10.200   kms-1.apache.com kms-1    192.168.10.201   kms-2.apache.com kms-2    192.168.10.202   kms-3.apache.com kms-3

(3)执行 ssh-keygen -t rsa命令,生成密钥,生成的密钥存在于/home/kms/.ssh目下

[root@kms-1  ~]# ssh-keygen -t rsa

(4)执行ssh-copy-id命令,将公钥发送至其他主机

[root@kms-1  ~]# ssh-copy-id kms-1.example.com    [root@kms-1  ~]# ssh-copy-id kms-2.example.com    [root@kms-1  ~]# ssh-copy-id kms-3.example.com

首先免密登录本地

免密登录本地主机

(5)在其他主机执行上述相同操作

集群时间同步

(1)安装ntp,如果操作系统已经安装了,可以不用再安装

[root@kms-1  ~]# yum install -y ntp

(2)设置ntp开机启动

[root@kms-1  ~]# chkconfig ntpd on

(3)检查是否设置成功

[root@kms-1  ~]# chkconfig --list ntpd

(4)在其他主机上执行上述步骤

(5)主节点ntpserver配置,编辑/var/lib/ntp/drift文件,添加如下内容

[root@kms-1 ~]# vi /var/lib/ntp/drift  restrict 127.0.0.1   restrict -6 ::1   restrict default nomodify notrap     server 202.120.2.101 prefer     includefile /etc/ntp/crypto/pw     keys /etc/ntp/keys

(6)启动主节点ntp服务

[root@kms-1  ~]# service ntpd start

(7)执行ntpstat命令查看同步状态

[root@kms-1  ~]# ntpstat

(8)从节点ntp客户端配置

[root@kms-2 ~]# vi /var/lib/ntp/drift  restrict 127.0.0.1  restrict -6 ::1  restrict default nomodify notrap  server kms-1.example.com  includefile /etc/ntp/crypto/pw  keys /etc/ntp/keys

(9)手动与主节点时间同步

[root@kms-2  ~]# ntpdate -u kms-1.example.com

(10)启动从节点ntp服务

[root@kms-2  ~]# service ntpd start

(11)查看从节点的时间同步状态

[root@kms-2  ~]# ntpstat

关闭防火墙与SELINUX

(1)执行chkconfig iptables off

[root@kms-1  ~]# chkconfig iptables off

(2)执行service iptables stop

[root@kms-1  ~]# service iptables stop

(3)查看状态

[root@kms-1  ~]# chkconfig --list iptables

(4)编辑/etc/sysconfig/selinux,将SELINUX=enforcing改为SELINUX=disabled

[root@kms-1  ~]# vi /etc/sysconfig/selinux

(5)在其他节点执行上述步骤

(6)重启所有主机

安装JDK与MySQL

(1)解压tar包到/usr/java目录下

[root@kms-1  softwares]# tar -xzvf jdk-8u73-linux-x64.tar.gz -C /usr/java/

(2)设置java环境变量在文件末尾添加下面的内容

[root@kms-1  jdk1.8.0_73]# vi /etc/profile  export  JAVA_HOME=/usr/java/jdk1.8.0_73   export  PATH=$JAVA_HOME/bin:$PATH   export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

(3)让环境变量生效

[root@kms-1  jdk1.8.0_73]# source /etc/profile

(4)查看java

[root@kms-1  jdk1.8.0_73]# java -version

(5)在其他主机上执行上述步骤

(6)卸载已有的已有的mysql-libs

[root@kms-1  mysql5.7]# rpm -qa grep mysql  [root@kms-1  mysql5.7]# rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_64

(7)使用RPM包安装MySQL

[root@kms-1 mysql5.7]# rpm -ivh  mysql-community-common-5.7.15-1.el6.x86_64.rpm  [root@kms-1 mysql5.7]# rpm -ivh  mysql-community-libs-5.7.15-1.el6.x86_64.rpm  [root@kms-1 mysql5.7]# rpm -ivh  mysql-community-client-5.7.15-1.el6.x86_64.rpm  [root@kms-1 mysql5.7]# rpm -ivh  mysql-community-server-5.7.15-1.el6.x86_64.rpm

(8)设置开机启动

[root@kms-1  mysql5.7]# chkconfig mysqld on

(9)启动MySQL服务

[root@kms-1  mysql5.7]# chkconfig mysqld on

(10)关闭密码校验

[root@kms-1  mysql5.7]# echo "validate_password=off">> /etc/my.cnf

(11)修改/etc/my.cnf

[root@kms-1  mysql5.7]# vi /etc/my.cnf

添加如下内容

[mysqld]character-set-server=utf8############################[client]     default-character-set=utf8     [mysql]     default-character-set=utf8

(12)重启MySQL服务

[root@kms-1  ~]# service mysqld restart

(13)查看root用户初始密码

[root@kms-1  ~]# cat /var/log/mysqld.log  more  grep password

(14)登录MySQL修改密码

[root@kms-1  ~]# mysql -uroot -p  mysql> set  password='123qwe';

(15)为Cloudera组件创建数据库

mysql>CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;mysql>GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY '123qwe';mysql>CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;mysql>GRANT ALL ON amon.* TO ' amon'@'%' IDENTIFIED BY '123qwe';mysql>CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;mysql>GRANT ALL ON rman.* TO ' rman'@'%' IDENTIFIED BY '123qwe';mysql>CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;mysql>GRANT ALL ON hue.* TO ' hue'@'%' IDENTIFIED BY '123qwe';mysql>CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;mysql>GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY '123qwe';mysql>CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;mysql>GRANT ALL ON sentry.* TO ' sentry'@'%' IDENTIFIED BY '123qwe';mysql>CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;mysql>GRANT ALL ON nav.* TO ' nav'@'%' IDENTIFIED BY '123qwe';mysql>CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;mysql>GRANT ALL ON navms.* TO ' navms'@'%' IDENTIFIED BY '123qwe';mysql>CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;mysql>GRANT ALL ON oozie.* TO ' oozie'@'%' IDENTIFIED BY '123qwe';mysql> GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY '123qwe';mysql> flush privileges;

Linux参数配置

(1)查看swappiness

[root@kms-1  ~]# cat /proc/sys/vm/swappiness

(2)设置swappiness的值

[root@kms-1  ~]# echo 10 > /proc/sys/vm/swappiness  [root@kms-1  ~]# echo vm.swappiness = 10 >> /etc/sysctl.conf

(3) 查看透明大页是否启用

[root@kms-1  ~]# cat /sys/kernel/mm/transparent_hugepage/defrag  [root@kms-1  ~]# cat /sys/kernel/mm/transparent_hugepage/enabled

(4)关闭透明大页面

[root@kms-1  ~]# vi /etc/rc.d/rc.local

在最后一行添加如下内容

if test -f /sys/kernel/mm/transparent_hugepage/enabled; thenecho never > /sys/kernel/mm/transparent_hugepage/enabledfiif test -f /sys/kernel/mm/transparent_hugepage/defrag; thenecho never > /sys/kernel/mm/transparent_hugepage/defragfi

(5)赋予rc.local具有可执行权限

[root@kms-1  ~]# chmod +x /etc/rc.d/rc.local

(6) 查看文件句柄数

[root@kms-1  ~]# ulimit -n

(7)修改限制

[root@kms-1  ~]# vi /etc/security/limits.conf

添加如下内容

* soft nofile  100000  * hard nofile  100000

(8)在其他主机上执行上述操作,并重启主机

部署Cloudera Manager

安装Cloudera Manager

(1)解压安装cloudera-manager

cloudera manager 的目录默认位置在/opt 下, 将解压后的cm-5.15.1 和cloudera 目录放到/opt 目录下。

[root@kms-1  ~]tar -xzvf  cloudera-manager-el6-cm5.15.1_x86_64.tar.gz   -C /opt

(2)安装cloudera-manager数据库,将驱动改名,并放到/opt/cm-5.15.1/share/cmf/lib/和/usr/share/java目录中

[root@kms-1 mysql5.7]# cp  mysql-connector-java.jar /opt/cm5.15.1/share/cmf/lib/ [root@kms-1 mysql5.7]# cp  mysql-connector-java.jar /usr/share/java/

(3)初始化CM5 的数据库

/opt/cm-5.15.1/share/cmf/schema/scm_prepare_database.sh mysql scm scm

(4)配置Agent

将config.ini中的server_host 修改为主节点的主机名。

[root@kms-1 ~]# vi  /opt/cm-5.15.1/etc/cloudera-scm-agent/config.ini # Hostname of the CM server.  server_host=kms-1.example.com

同步Agent 到其他节点

[root@kms-1 opt]# scp -r cm-5.15.1/ kms-2.example.com:/opt/  [root@kms-1 opt]# scp -r cm-5.15.1/ kms-3.example.com:/opt/

(5)在所有节点创建cloudera-scm 用户

[root@kms-1 ~]# useradd --system  --home=/opt/cm-5.15.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false  --comment "Cloudera SCM User" cloudera-scm

(6)准备Parcels包

将CHD5 相关的Parcel 包放到主节点的/opt/cloudera/parcel-repo/目录

[root@kms-1 parcel-repo]# cp  /opt/softwares/CDH5.15.1/* .

相关的文件如下:

CDH-5.15.1-1.cdh5.15.1.p0.4-el6.parcelCDH-5.15.1-1.cdh5.15.1.p0.4-el6.parcel.sha1manifest.json

将CDH-5.15.1-1.cdh5.15.1.p0.4-el6.parcel.sha1 重命名为CDH-5.15.1-1.cdh5.15.1.p0.4-el6.parcel.sha

[root@kms-1 parcel-repo]# mv CDH-5.15.1-1.cdh5.15.1.p0.4-el6.parcel.sha1  CDH-5.15.1-1.cdh5.15.1.p0.4-el6.parcel.sha

访问CM Server与Agent

(1)在主节点上启动cloudera-scm-server

[root@kms-1 ~]#  /opt/cm-5.15.1/etc/init.d/cloudera-scm-server start

(2)在所有节点上,启动cloudera-scm-agent :

[root@kms-1 ~]#  /opt/cm-5.15.1/etc/init.d/cloudera-scm-agent start

(3)在浏览器中访问http://192.168.10.200:7180,用户名和密码均为admin

部署CDH

选择部署的版本与主机

(1)登录后用户许可条款和条件

(2)选择部署版本

(3)选择免费版本后点击继续

(4)指定主机,选择当前管理的主机后点击继续

群集安装

(1)选择本地的Parcel版本后点击继续

(2)等待安装选定的parcel完成,点击继续

(3)检查主机的正确性,点击完成

群集设置

(1)选择安装所有服务,点击继续

(2)自定义角色分配

(3)数据库设置,测试连接成功之后,点击继续

(4)选择默认配置,点击继续

(5)其中服务成功之后,点击继续

(6)安装完成

CDH5.15.1集群安装部署的更多相关文章

  1. HBase 1.2.6 完全分布式集群安装部署详细过程

    Apache HBase 是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,是NoSQL数据库,基于Google Bigtable思想的开源实现,可在廉价的PC Server上搭建大规模结构化存 ...

  2. 2 Hadoop集群安装部署准备

    2 Hadoop集群安装部署准备 集群安装前需要考虑的几点硬件选型--CPU.内存.磁盘.网卡等--什么配置?需要多少? 网络规划--1 GB? 10 GB?--网络拓扑? 操作系统选型及基础环境-- ...

  3. HBase集群安装部署

    0x01 软件环境 OS: CentOS6.5 x64 java: jdk1.8.0_111 hadoop: hadoop-2.5.2 hbase: hbase-0.98.24 0x02 集群概况 I ...

  4. flink部署操作-flink standalone集群安装部署

    flink集群安装部署 standalone集群模式 必须依赖 必须的软件 JAVA_HOME配置 flink安装 配置flink 启动flink 添加Jobmanager/taskmanager 实 ...

  5. Hadoop ha CDH5.15.1-hadoop集群启动后,集群容量不正确,莫慌,这是正常的表现!

    Hadoop ha CDH5.15.1-hadoop集群启动后,集群容量不正确,莫慌,这是正常的表现! 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.集群启动顺序 1>. ...

  6. Hadoop ha CDH5.15.1-hadoop集群启动后,两个namenode都是standby模式

    Hadoop ha CDH5.15.1-hadoop集群启动后,两个namenode都是standby模式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一说起周五,想必大家都特别 ...

  7. 1.Hadoop集群安装部署

    Hadoop集群安装部署 1.介绍 (1)架构模型 (2)使用工具 VMWARE cenos7 Xshell Xftp jdk-8u91-linux-x64.rpm hadoop-2.7.3.tar. ...

  8. K8S集群安装部署

    K8S集群安装部署   参考地址:https://www.cnblogs.com/xkops/p/6169034.html 1. 确保系统已经安装epel-release源 # yum -y inst ...

  9. 【分布式】Zookeeper伪集群安装部署

    zookeeper:伪集群安装部署 只有一台linux主机,但却想要模拟搭建一套zookeeper集群的环境.可以使用伪集群模式来搭建.伪集群模式本质上就是在一个linux操作系统里面启动多个zook ...

  10. 第06讲:Flink 集群安装部署和 HA 配置

    Flink系列文章 第01讲:Flink 的应用场景和架构模型 第02讲:Flink 入门程序 WordCount 和 SQL 实现 第03讲:Flink 的编程模型与其他框架比较 第04讲:Flin ...

随机推荐

  1. [Python] 协程学习过程

    开始 ​ 之前一直在做那个rProxy的项目,后来发现,服务端不用协程或者异步编程这样的手段是不行的,最主要的问题就是对于每个http请求都对应一个线程,这个开销非常大.对于一个网页而言,四五十个ht ...

  2. 如何提取html中的token?

    通过正则表达式提取(适用于提取文本结果): Re.seach()提取一个值,通过下标取值 Re.findall()提取多个值,通过下标取值 Resp= reques.get(url);print(re ...

  3. 3. JVM运行时数据区

    1. 运行时数据区概述 前面的章节中已经将类的加载过程大致过程说清楚了,此时类已经加载到内存中,,后面就是运行时数据区的各个组件的工作了 由上图可以看出来, jvm将class字节码加载完成后,后面运 ...

  4. SpringCloud Eureka基本使用

    1. 简介 Eureka是Netflix开发的服务发现框架,并被Spring cloud 收录 并封装成为其服务治理的模块实现 Eureka采用了CS的架构设计,分为 Server端 和 Client ...

  5. C++ //栈 stack 容器 先进后出 不允许遍历

    1 //栈 stack 容器 先进后出 不允许遍历 2 3 4 #include<iostream> 5 #include<stack> 6 7 using namespace ...

  6. jQuery 框架

    jQuery 框架 目录 jQuery 框架 一. 概述 二. jQuery 安装引用 2.1 安装 2.2 本地导入使用 2.3 jQuery CDN引入 三. jQuery基本语法 四. 查找标签 ...

  7. 图数据库基准测试 LDBC SNB 系列讲解:Schema 和数据生成的机制

    LDBC(Linked Data Benchmark Council)Social Network Benchmark,简称 LDBC SNB,是一种针对社交网络场景的评估图数据库性能的基准测试. L ...

  8. 重新认识 tag 快照 git (项目临时添加需求,之前有分支合并,导致从节点拉分支不行了,因为没有tag快照)

    之前的tag认知 之前一直以为tag就是在git的提交commit上打一个标,然后可以拉出分支.之前没太重视. 因为我觉得 可以直接从某个commit直接拉出分支,这打不打tag无所谓 翻车现场 今天 ...

  9. RaspberryPi 树莓派 omxplayer 的音量设置方法实测有效!

    正确的设置初始音量的方法,其中n/100=你期望的初始dB值, omxplayer --vol n target.media omxplayer介绍 omxplayer 在github中的描述是一个弃 ...

  10. idea的使用操作

    怎么让idea中的方法之间显示横线 点击setting 选择Editor 选择Appearance 选择Show method separators 效果: 如果设置idea的标签页可以多行显示 点击 ...