欢迎访问我的GitHub

https://github.com/zq2599/blog_demos

内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;

系列介绍

《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:

主机名 IP地址 内存 身份
master 192.168.133.152 双核4G内存 管理节点
worker1 192.168.133.153 双核8G内存 任务节点
worker2 192.168.133.154 双核16G内存 任务节点

文件下载

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

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

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

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

  1. 本次实战在所有机器上的操作,都使用root账号;
  2. 确保所有机器都可以用SSH工具远程登录;
  3. 安装时间同步工具:
yum install -y ntpdate
  1. 时间同步:
ntpdate cn.ntp.org.cn
  1. 关闭和禁用防火墙:
systemctl stop firewalld && systemctl disable firewalld
  1. 关闭SELINUX:打开文件/etc/selinux/config,找到SELINUX=xxx那一行,改为SELINUX=disabled,如下图红框:

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

  3. 重启电脑;
  4. 新建文件夹/usr/lib/jvm
  5. 安装JDK,我这里下载的是jdk-8u191-linux-x64.tar.gz,解压后是个名为jdk1.8.0_191的文件夹,将此文件夹放在/usr/lib/jvm目录下;
  6. 打开文件/etc/profile,在尾部增加以下内容:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_191
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
  1. 使配置生效:
source /etc/profile
  1. CDH默认的JDK目录是 /usr/java/default,因此要创建软链接,执行以下命令:
mkdir /usr/java && ln -s /usr/lib/jvm/jdk1.8.0_191 /usr/java/default
  1. 检查Python是否可用,如果没有还请自行安装,本次用到的是2.6或者2.7版本:

  2. 安装多个依赖包:
yum -y install chkconfig bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
  1. 创建目录:
mkdir /opt/cloudera-manager
  1. 把前面准备好的文件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/
  1. 创建账号cloudera-scm:
useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
  1. 编辑文件config.ini:
vi /opt/cloudera-manager/cm-5.7.2/etc/cloudera-scm-agent/config.ini
  1. 修改server_host的值,改为master,如下图红框所示:

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

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

  1. 三台电脑的/etc/hosts文件,都增加以下相同内容:
192.168.133.154 master
192.168.133.155 worker1
192.168.133.156 worker2
  1. 三台电脑都执行命令:ssh-keygen 然后四个回车完成ssh公私钥创建;
  2. 在master执行ssh-copy-id root@worker1、ssh-copy-id root@worker2
  3. 在worker1执行ssh-copy-id root@master、ssh-copy-id root@worker2
  4. 在worker2执行ssh-copy-id root@master、ssh-copy-id root@worker1

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

欢迎关注公众号:程序员欣宸

微信搜索「程序员欣宸」,我是欣宸,期待与您一同畅游Java世界...

https://github.com/zq2599/blog_demos

CDH5部署三部曲之一:准备工作的更多相关文章

  1. CDH5部署三部曲之二:部署和设置

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  2. CDH5部署三部曲之三:问题总结

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  3. Cloudera CDH5 部署实战指南(离线安装)

    配置软件源服务器 1.安装createreporpm -ivh deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm rpm -ivh python-deltarpm ...

  4. storm on yarn(CDH5) 部署笔记

    按照storm on yarn(Apache hadoop)部署好之后,然后修改HADOOP_HOME,hadoopenv.sh中的JAVA_HOME,以及storm-yarn-master中pom. ...

  5. 第四章 部署K8s前准备工作

    一.主机准备 1.硬件 准备5台2C/2g/50g虚拟机: Centos7.6系统 2.集群规划 使用10.4.7.0/24网络 IP 主机名 10.4.7.11 hdss7-11.host.com ...

  6. 基于Tomcat的Solr3.5集群部署

    基于Tomcat的Solr3.5集群部署 一.准备工作 1.1 保证SOLR库文件版本相同 保证SOLR的lib文件版本,slf4j-log4j12-1.6.1.jar slf4j-jdk14-1.6 ...

  7. IIS安装与MVC程序部署

    最近在做访客系统,虽然说不是什么多大的项目,但麻雀虽小五脏俱全,使用EF Code First+Mysql+Frozenui响应式布局,感觉通过这个项目学到好多东西,Mysql的使用.EF映射Mysq ...

  8. SolrCloud-5.2.1 集群部署及测试

    一. 说明 Solr5内置了Jetty服务,所以不用安装部署到Tomcat了,网上部署Tomcat的资料太泛滥了. 部署前的准备工作: 1. 将各主机IP配置为静态IP(保证各主机可以正常通信,为避免 ...

  9. Storm集群部署

    一. 说明 Storm是一个分布式实时计算系统,Storm对于实时计算的意义就相当于Hadoop对于批量计算的意义.对于实时性较高的系统Storm是不错的选择.Hadoop提供了map, reduce ...

随机推荐

  1. java初探(1)之秒杀的业务简单实现

    前言 秒杀的业务场景广泛存在于电商当中,即有一个倒计时的时间限制,当倒计时为0时,秒杀开始,秒杀之后持续很小的一段时间,而且秒杀的商品很少,因此会有大量的顾客进行购买,会产生很大的并发量,从而创造技术 ...

  2. js error 错误处理

    (new) Error([message[, fileName[,lineNumber]]]) 单独定义Error()错误,函数继续进行 当像函数一样使用 Error 时 -- 如果没有 new,它将 ...

  3. python3之print()函数

    print语法格式 print()函数具有丰富的功能,详细语法格式如下: print(value, -, sep=' ', end='\n', file=sys.stdout, flush=False ...

  4. Webpack 打包优化之体积篇

    谈及如今欣欣向荣的前端圈,不仅有各类框架百花齐放,如Vue, React, Angular等等,就打包工具而言,发展也是如火如荼,百家争鸣:从早期的王者Browserify, Grunt,到后来赢得宝 ...

  5. linux下查找文件中的某个关键字

    1.方法一:grep '关键字' filename 2.方法二:vim filename进入文件里面,不要进入insert编辑模式,直接在normal模式下输入/关键字进行搜索 按n进行查找下一个

  6. 《Java从入门到失业》第四章:类和对象(4.2):String类

    4.2String类 这一节,我们学习第一个类:String类.String翻译成汉语就是“字符串”,是字符的序列.我们知道,在Java中,默认采用Unicode字符集,因此字符串就是Unicode字 ...

  7. jenkins 下载插件失败 有效的处理办法(亲测)

    jenkins 下载插件失败,提示: java.io.IOException: Downloaded file /app/jenkins_home/plugins/jacoco.jpi.tmp doe ...

  8. [LeetCode]面试题67. 把字符串转换成整数

    题目 写一个函数 StrToInt,实现把字符串转换成整数这个功能.不能使用 atoi 或者其他类似的库函数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当我们 ...

  9. Git进阶之路:配置git同时推送github和gitee仓库

    1. 进入工程根目录打开.git文件夹(需要显示隐藏文件夹) 2. 打开.git文件夹下的config文件进行编辑添加github和gitee仓库地址 3. 推送验证 github提交记录 gitee ...

  10. 学习 | css3基本动画之demo篇

    移动端使用的框架是zepto,但是zepto的内置对象没有传统的animate这个方法,效果都是需要css3来实现的,zepto也不支持fadeIn和fadeOut等一些基本的动画,基于这一现状,我自 ...