CentOS7、Docker下搭建CDH6.2.0集群环境

安装规划

hadoop1hadoop2hadoop3mysqlcmrepo
cloudera-manager-server
cloudera-manager-agent
NameNode
DataNode
SecondaryNameNode
ResouceManager
NodeManager
MetaStore
HiveServer2
HueServer
ImpalaCatelogServer
ImpalaDaemon
ImpalaStateStore
Oozie Server
Zookeeper
MySQL
Repo源

环境准备

Docker环境准备

docker pull centos:7
docker pull mysql:5.7

请添加图片描述

安装包准备

环境安装

  1. 【宿主机】 创建docker集群的网段

    docker network create --subnet 172.20.0.0/16 bigdata

  2. 【宿主机】 创建三个centos容器,并指定22端口映射及主机名

    docker run -itd --privileged -p 2221:22 --name hadoop1 --hostname hadoop1 --network bigdata centos:7 /usr/sbin/init
    docker run -itd --privileged -p 2222:22 --name hadoop2 --hostname hadoop2 --network bigdata  centos:7 /usr/sbin/init
    docker run -itd --privileged -p 2223:22 
    
  3. 进入三台主机

    docker exec -it hadoop1 /bin/bash
    docker exec -it hadoop2 /bin/bash
    docker exec -it hadoop3 /bin/bash
    
  4. 【三台dokcer】 安装ssh,配置免密登录

    passwd root
    yum -y install openssh-server openssh-clients
    systemctl start sshd
    ssh-keygen -t rsa # 三次回车
    ssh-copy-id hadoop1
    ssh-copy-id hadoop2
    ssh-copy-id hadoop3
    
  5. 【三台dokcer】 关闭防火墙

    yum -y install firewalld
    systemctl status firewalld
    systemctl stop firewalld
    systemctl disable firewalld
    
  6. 同步服务器时钟,静态ip,主机映射

    • 【hadoop1】 作为时钟服务器

      yum -y install ntp
      ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
      cp /etc/ntp.conf /etc/ntp.conf.bak
      cp /etc/sysconfig/ntpd /etc/sysconfig/ntpd.bak
      echo "restrict hadoop1 mask 255.255.0.0 nomodify notrap" >> /etc/ntp.conf
      echo "SYNC_HWCLOCK=yes" >> /etc/sysconfig/ntpd
      systemctl restart ntpd
      
    • 【hadoop2,hadoop3】 与hadoop1时钟服务器同步

      yum -y install ntpdate crontabs
      ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
      ntpdate hadoop1
      echo "*/30 * * * * /usr/sbin/ntpdate hadoop1.bigdata" >> /var/spool/cron/root
      
    • 【三台】 配置hosts和ip映射

      vi /etc/hosts 
      172.20.0.2 hadoop1.bigdata
      172.20.0.3 hadoop2.bigdata
      172.20.0.4 hadoop3.bigdata
      
  7. 【宿主机】 创建mysql容器

    docker run -itd -p 3306:3306 --name mysql --hostname mysql --network bigdata -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7docker exec -it mysql /bin/bash
    

    进入mysql

    reate database metastore default character set utf8;  CREATE USER 'hive'@'%' IDENTIFIED BY 'password';   GRANT ALL PRIVILEGES ON metastore. * TO 'hive'@'%';   FLUSH PRIVILEGES;  create database cm default character set utf8;  CREATE USER 'cm'@'%' IDENTIFIED BY 'password';   GRANT ALL PRIVILEGES ON cm. * TO 'cm'@'%';   FLUSH PRIVILEGES;  create database am default character set utf8;   CREATE USER 'am'@'%' IDENTIFIED BY 'password';    GRANT ALL PRIVILEGES ON am. * TO 'am'@'%';    FLUSH PRIVILEGES;      create database rm default character set utf8;   CREATE USER 'rm'@'%' IDENTIFIED BY 'password';    GRANT ALL PRIVILEGES ON rm. * TO 'rm'@'%';    FLUSH PRIVILEGES;create database hue default character set utf8;   CREATE USER 'hue'@'%' IDENTIFIED BY 'password';    GRANT ALL PRIVILEGES ON hue. * TO 'hue'@'%';    FLUSH PRIVILEGES;create database oozie default character set utf8;   CREATE USER 'oozie'@'%' IDENTIFIED BY 'password';    GRANT ALL PRIVILEGES ON oozie. * TO 'oozie'@'%';    FLUSH PRIVILEGES;create database sentry default character set utf8;   CREATE USER 'sentry'@'%' IDENTIFIED BY 'password';    GRANT ALL PRIVILEGES ON sentry. * TO 'sentry'@'%';    FLUSH PRIVILEGES;create database nav_ms default character set utf8;   CREATE USER 'nav_ms'@'%' IDENTIFIED BY 'password';    GRANT ALL PRIVILEGES ON nav_ms. * TO 'nav_ms'@'%';    FLUSH PRIVILEGES;create database nav_as default character set utf8;  CREATE USER 'nav_as'@'%' IDENTIFIED BY 'password';   GRANT ALL PRIVILEGES ON nav_as. * TO 'nav_as'@'%';   FLUSH PRIVILEGES;
    

CM安装

  1. 【宿主机】 本地配置repo源的容器

    docker run -itd --privileged -p 80:80 --name cmrepo --hostname cmrepo -v 本地的文件路径(需要包含cm6.2和cdh6.2):/opt/software/cdh6.2 --network bigdata centos:7 /usr/sbin/init#进入容器、安装http服务docker exec -it cmrepo /bin/bashyum -y install httpd createrepocd /opt/software/cdh6.2/cm6.2createrepo .systemctl start httpdsystemctl enable httpdln -s /opt/software/cdh6.2/cm6.2 /var/www/html/cm6.2ln -s /opt/software/cdh6.2/cdh6.2 /var/www/html/cdh6.2
    
  2. 【hadoop1】 编写yum文件

    vi /etc/yum.repos.d/cm.repo#-------------------------[cmrepo]name = cm_repobaseurl = http://cmrepo/cm6.2enable = truegpgcheck = false#-------------------------yum repolist allcd /etc/yum.repos.d/scp -r cm.repo hadoop2:$PWDscp -r cm.repo hadoop3:$PWD
    
  3. 【三台】 安装oracle-j2sdk1.8-1.8.0+update181-1.x86_64

    yum -y install oracle-j2sdk1.8-1.8.0+update181-1.x86_64
    
  4. 安装cloudera-manager-server和cloudera-manager-agent

    【hadoop1】

    yum -y install cloudera-manager-server cloudera-manager-agent cloudera-manager-daemons
    

    【hadoop2、hadoop2】

    yum -y install cloudera-manager-agent cloudera-manager-daemons
    
  5. 【三台】 拷贝JDBC驱动

    mkdir /usr/share/javamv mysql-connector-java-5.1.31.jar /usr/share/java/mysql-connector-java.jar# 拷贝驱动包时需要注意,应把版本号去掉
    
  6. [hadoop1] 初始化并启动cm

    /opt/cloudera/cm/schema/scm_prepare_database.sh -h mysql mysql cm cm passwordsystemctl start cloudera-scm-server
    

集群安装

  1. 配置端口代理映射
    请添加图片描述
    请添加图片描述

  2. 访问hadoop1的7180端口,用户名和密码都为admin

请添加图片描述

  1. 继续!继续!选择试用

请添加图片描述
请添加图片描述

  1. 输入新的集群名称
    请添加图片描述

  2. 这里选择搜索主机,如果之前已经安装过agent,可以直接从已有主机来创建

请添加图片描述

  1. cm源设置。选择更多选项,配置CDH安装源cdh源设置
    请添加图片描述
    请添加图片描述

  2. 安装JDK,如果之前已经安装过,这里可以选择跳过
    请添加图片描述
    请添加图片描述

  3. 等待安装
    在这里插入图片描述

  4. 检查,查看一下hosts就行,第一个检查要很久

    在这里插入图片描述

  5. 选择需要安装的服务,这里选择Data Warehouse
    在这里插入图片描述

  6. 进入集群角色分配
    在这里插入图片描述

  7. 点击“继续”,进入下一步,测试数据库连接
    在这里插入图片描述

  8. 测试成功,点击“继续”,进入目录设置,此处使用默认默认目录,根据实际情况进行目录修改
    在这里插入图片描述

  9. 点击“继续”,进入各个服务启动

  10. 安装成功后进入home管理界面

集群的重启

全部重启后需要

  1. hadoop1、hadoop2、hadoop3

    systemctl start cloudera-scm-agent
    
  2. hadoop1

    systemctl start cloudera-scm-server
    
  3. 进入hadoop1的7180启动所有服务

常见问题

  1. ip端口映射注意
  2. 文件路径注意
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值