CDH5部署三部曲之一:准备工作
欢迎访问我的GitHub
https://github.com/zq2599/blog_demos
内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;
系列介绍
《CDH5部署三部曲》共三篇文章,对CDH5.7.2版本的准备、部署、启动、设置等环节进行实战,内容如下:
第一篇:《准备工作》,即CDH集群中每一台机器都要做的操作;
第二篇:《部署和设置》,本章完成CDH集群部署和启动;
第三篇:《问题总结》,列出实战中遇到的问题及解决办法;
系列文章链接
版本信息
- CentOS:7.6.1810
- Python: 2.7.5(操作系统自带)
- 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内存 | 任务节点 |
文件下载
- 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_191
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export 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 master
192.168.133.155 worker1
192.168.133.156 worker2
- 三台电脑都执行命令:ssh-keygen 然后四个回车完成ssh公私钥创建;
- 在master执行ssh-copy-id root@worker1、ssh-copy-id root@worker2
- 在worker1执行ssh-copy-id root@master、ssh-copy-id root@worker2
- 在worker2执行ssh-copy-id root@master、ssh-copy-id root@worker1
至此,准备工作全部完成,请确保所有机器都做了上述操作,下一篇会用这些机器来完成部署。
欢迎关注公众号:程序员欣宸
微信搜索「程序员欣宸」,我是欣宸,期待与您一同畅游Java世界...
https://github.com/zq2599/blog_demos
CDH5部署三部曲之一:准备工作的更多相关文章
- CDH5部署三部曲之二:部署和设置
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- CDH5部署三部曲之三:问题总结
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Cloudera CDH5 部署实战指南(离线安装)
配置软件源服务器 1.安装createreporpm -ivh deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm rpm -ivh python-deltarpm ...
- storm on yarn(CDH5) 部署笔记
按照storm on yarn(Apache hadoop)部署好之后,然后修改HADOOP_HOME,hadoopenv.sh中的JAVA_HOME,以及storm-yarn-master中pom. ...
- 第四章 部署K8s前准备工作
一.主机准备 1.硬件 准备5台2C/2g/50g虚拟机: Centos7.6系统 2.集群规划 使用10.4.7.0/24网络 IP 主机名 10.4.7.11 hdss7-11.host.com ...
- 基于Tomcat的Solr3.5集群部署
基于Tomcat的Solr3.5集群部署 一.准备工作 1.1 保证SOLR库文件版本相同 保证SOLR的lib文件版本,slf4j-log4j12-1.6.1.jar slf4j-jdk14-1.6 ...
- IIS安装与MVC程序部署
最近在做访客系统,虽然说不是什么多大的项目,但麻雀虽小五脏俱全,使用EF Code First+Mysql+Frozenui响应式布局,感觉通过这个项目学到好多东西,Mysql的使用.EF映射Mysq ...
- SolrCloud-5.2.1 集群部署及测试
一. 说明 Solr5内置了Jetty服务,所以不用安装部署到Tomcat了,网上部署Tomcat的资料太泛滥了. 部署前的准备工作: 1. 将各主机IP配置为静态IP(保证各主机可以正常通信,为避免 ...
- Storm集群部署
一. 说明 Storm是一个分布式实时计算系统,Storm对于实时计算的意义就相当于Hadoop对于批量计算的意义.对于实时性较高的系统Storm是不错的选择.Hadoop提供了map, reduce ...
随机推荐
- vueRooter的总结
这一周学习了Vue的脚手架的结构,最重要的router 该进行总结和回忆了. 1首先是router的安装,用npm命令npm install vue-router --save 2装完后,在main. ...
- 想要使用GPU进行加速?那你必须事先了解CUDA和cuDNN
这一期我们来介绍如何在Windows上安装CUDA,使得对图像数据处理的速度大大加快,在正式的下载与安装之前,首先一起学习一下预导知识,让大家知道为什么使用GPU可以加速对图像的处理和计算,以及自己的 ...
- jackson读取json tree讲解
待读取的json文本: {"data":{"count":4031,"list":[{"symbol":"SH ...
- leetcode刷题-64最小路径和
题目 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明:每次只能向下或者向右移动一步. 示例: 输入:[ [1,3,1], [1,5, ...
- Python基础 读取二进制文件
问题 有二进制文件中保存了 20 亿个 2 Bytes 的数,需将其读出,每 20000 个数作图,拟合后输出结果. 解决 # -*- coding: utf-8 -*- ""&q ...
- IDEA下Git分支开发
IDEA下Git分支开发使用 1.新建本地开发分支 VCS-->git-->branches-->New Branch,输入分支名字,如branch_test,点击OK后本地开发分支 ...
- command三国杀开发日记20200914
目前状态 一时脑热开始写的东西,计划完全使用C语言实现,尽量使用通用接口,能够在windows上直接运行 几乎是一穷二白,初步搭建了牌堆.玩家信息接口体,编写了简单的UI函数,能够将玩家信息显示在屏幕 ...
- Linux实战(20):Docker部署EKL入门环境记录文档
安装环境: centos7 ,EKL全套为7.5.2版本 前期工作 拉取已下三个镜像 docker.io/logstash 7.5.2 b6518c95ed2f 6 months ago 805 MB ...
- Java 异常面试题(2020 最新版)
Java异常架构与异常关键字 Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制. Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程 ...
- 【Linux常用命令①】程序员必须掌握的Linux命令
目录 man:帮助命令 echo:输出 date:时间 reboot:重启 poweroff:关闭系统 wget:下载 ps:查看进程状态 top:任务管理器 pidof:查询某个指定进程的PID值 ...