写点什么

CDH5 部署三部曲之一:准备工作

作者:程序员欣宸
  • 2022-11-27
    广东
  • 本文字数:1703 字

    阅读完需:约 6 分钟

CDH5部署三部曲之一:准备工作

欢迎访问我的 GitHub

这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos

系列介绍

  • 《CDH5 部署三部曲》共三篇文章,对 CDH5.7.2 版本的准备、部署、启动、设置等环节进行实战,内容如下:

  • 第一篇:《准备工作》,即 CDH 集群中每一台机器都要做的操作;

  • 第二篇:《部署和设置》,本章完成 CDH 集群部署和启动;

  • 第三篇:《问题总结》,列出实战中遇到的问题及解决办法;

系列文章链接

  1. 《CDH5部署三部曲之一:准备工作》

  2. 《CDH5部署三部曲之二:部署和设置》

  3. 《CDH5部署三部曲之三:问题总结》

版本信息

  1. CentOS:7.6.1810

  2. Python: 2.7.5(操作系统自带)

  3. CM 包:cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz

服务器规划

  • 本次搭建的 CDH 集群一共用到三台机器,一台 master,另外两台是 agent:



文件下载

  • cm 下载地址: http://archive.cloudera.com/cm5/cm/5/ ,找到自己需要的 cm 包下载,本次实战用的是 cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz ,如下图红框:

  • parcel 下载地址: http://archive.cloudera.com/cdh5/parcels ,本次实战用到的是 CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel ,请下载下图红框中的三个文件,注意一共要下载三个文件:

所有机器都要做的相同操作

  • 以下操作需要 master、worker1、worker2 各自做一遍:

  • 本次实战在所有机器上的操作,都使用 root 账号;

  • 确保所有机器都可以用 SSH 工具远程登录;

  • 安装时间同步工具:


yum install -y ntpdate
复制代码


  • 时间同步:


ntpdate cn.ntp.org.cn
复制代码


  • 关闭和禁用防火墙:


systemctl stop firewalld && systemctl disable firewalld
复制代码


  • 关闭 SELINUX:打开文件 /etc/selinux/config ,找到 SELINUX=xxx 那一行,改为 SELINUX=disabled ,如下图红框:

  • 关闭 swap:打开文件 /etc/fstab ,找到带有 swap 的那一行,注释掉,如下图红框:

  • 重启电脑;

  • 新建文件夹 /usr/lib/jvm

  • 安装 JDK,我这里下载的是 jdk-8u191-linux-x64.tar.gz ,解压后是个名为 jdk1.8.0_191 的文件夹,将此文件夹放在 /usr/lib/jvm 目录下;

  • 打开文件 /etc/profile ,在尾部增加以下内容:


export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_191export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH
复制代码


  • 使配置生效:


source /etc/profile
复制代码


  • CDH 默认的 JDK 目录是 /usr/java/default ,因此要创建软链接,执行以下命令:


mkdir /usr/java && ln -s /usr/lib/jvm/jdk1.8.0_191 /usr/java/default
复制代码


  • 检查 Python 是否可用,如果没有还请自行安装,本次用到的是 2.6 或者 2.7 版本:

  • 安装多个依赖包:


yum -y install chkconfig bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
复制代码


  • 创建目录:


mkdir /opt/cloudera-manager
复制代码


  • 把前面准备好的文件 cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz 上传到 master ,执行以下命令将该文件解压到 /opt/cloudera-manager 目录:


tar -zxvf cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz -C /opt/cloudera-manager/
复制代码


  • 创建账号 cloudera-scm


useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
复制代码


  • 编辑文件 config.ini


vi /opt/cloudera-manager/cm-5.7.2/etc/cloudera-scm-agent/config.ini
复制代码


  • 修改 server_host 的值,改为 master ,如下图红框所示:

  • 新建目录 /usr/share/java/ ,将刚才下载的 mysql-connector-java-5.1.34.jar 放入该目录,并改名为 mysql-connector-java.jar

三台电脑相互免密码登录设置

  • 三台电脑的/etc/hosts 文件,都增加以下相同内容:


192.168.133.154 master192.168.133.155 worker1192.168.133.156 worker2
复制代码


  • 三台电脑都执行命令: ssh-keygen 然后四个回车完成 ssh 公私钥创建;

  • 在 master 执行 ssh-copy-id root@worker1ssh-copy-id root@worker2

  • 在 worker1 执行 ssh-copy-id root@masterssh-copy-id root@worker2

  • 在 worker2 执行 ssh-copy-id root@masterssh-copy-id root@worker1

  • 至此,准备工作全部完成,请确保所有机器都做了上述操作,下一篇会用这些机器来完成部署。

欢迎关注 InfoQ:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...


发布于: 2022-11-27阅读数: 30
用户头像

搜索"程序员欣宸",一起畅游Java宇宙 2018-04-19 加入

前腾讯、前阿里员工,从事Java后台工作,对Docker和Kubernetes充满热爱,所有文章均为作者原创,个人Github:https://github.com/zq2599/blog_demos

评论

发布
暂无评论
CDH5部署三部曲之一:准备工作_大数据_程序员欣宸_InfoQ写作社区