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. flutter3-winchat桌面端聊天实例|Flutter3+Dart3+Getx仿微信Exe程序

    首发原创flutter3+bitsdojo_window+getx客户端仿微信exe聊天Flutter-WinChat. flutter3-dart3-winchat 基于flutter3+dart3 ...

  2. 科技大厂、手机厂商、企服领域齐发力,手机智能体成AI Agent新趋势

    AI Agent涌向移动终端,手机智能体势不可挡 还没搞清楚什么是AI Agent,手机Agent就已经横空出世 AIGC为何涌向移动端?背后有哪些逻辑?什么是手机智能体?一文看明白 科技大厂.手机厂 ...

  3. 10 个解放双手的 IDEA插件,少些冤枉代码(第三弹)

    大家好,我是小富- 好久没发这种实用贴了,最近用到了一些能提升工作效率的IDEA插件,给小伙伴们分享一下.相信我,我分享的这些插件,都是实实在在能解决实际开发场景中痛处的. 以往的两篇IDEA插件分享 ...

  4. vim没有clipboard,没法复制到系统剪切板,通过xclip将复制、删除的内容放到系统剪切板

    解决方法:在/etc/vim/vimrc 或者 ~/.vimrc 中添加下面的命令 au TextYankPost * exe system("xclip -selection clipbo ...

  5. 基于python的多线程串口处理实例源码解析

    一 概念 1.简介 该源码可以让串口收发数据并行处理. 2.特性 使用了线程 使用了serial 使用了class 二 源码解析 1.串口读取固定数据函数: def uart_recv_header( ...

  6. SPEAK 510全向麦克风无线蓝牙拾音器产品体验及评测

    产品简介     大家开会的时候,很多人都直接使用手机app了,比如,zoom,腾讯会议等.既方便又快捷.由于手机设备拾音距离有限,也不是针对会议场景做的,所有,在多人会议的时候,问题就出来了.这个时 ...

  7. Django使用Bootstrap的经典方法

    前面的话 Bootstrap是简单.灵活的用于搭建WEB页面的HTML.CSS.Javascript的工具集.Bootstrap基于HTML5和CSS3,具有漂亮的设计.友好的学习曲线.卓越的兼容性, ...

  8. day18--Java集合01

    Java集合01 1.什么是集合? 前面我们保存数据使用的是数组,数组有不足的地方,我们来分析一下: 长度开始时必须指定,而且一但指定不能更改 保存的必须是同一类型的元素 使用数组进行增加/删除元素的 ...

  9. windows通过cmd重启网卡

    ipconfig/release ipconfig/renew

  10. MySQL函数GROUP_CONCAT()函数简介

    一.数据需求按id分组然后把name用英文逗号分隔开 id name countryid age 1 曹操 1 56 2 刘备 2 47 3 孙权 3 38 4 司马懿 1 61 5 诸葛亮 2 42 ...