CDH安装部署步骤

article/2025/11/6 17:19:22

CDH下载地址:

CDH5.4:

http://archive.cloudera.com/cdh5/

Cloudera Manager5.4.3:

http://www.cloudera.com/downloads/manager/5-4-3.html

 

准备工作:(linux必须是64位的)

安装CDH之前,我们需要安装一下CM,CM环境搭建所需要的条件,对电脑来说:

我们要根据我们电脑的内存进行分配相应的空间。

然后就是centos环境的问题,我用的是,我之前搭建hadoop集群时用的机器centos6.6 这个里面主机名,ip,网络都已经配过了,然后三台机器之前也可以进行两两互相通信,要是配个centos都不会的话,那建议你就放弃吧。先把首先的环境准备好,再进行后续配置CDH的工作。

1、linux虚拟机准备工作:

系统环境搭建

1 、网络配置( 所有节点)

vi /etc/sysconfig/network 修改 hostname:

通过 service network restart 重启网络服务生效

vi /etc/hosts ,修改 ip 与主机名的对应关系

 

2 、SSH  免密码登录

主节点执行:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

生成无密码密钥对

拷贝公钥到其他节点,执行

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

测试:主节点 ssh 其他节点 ……

3、 关闭 防火墙

临时关闭:

service iptables stop

重启后生效:

chkconfig iptables off

 

4、 关闭 SELINUX

临时关闭:

setenforce 0

修改配置文件/etc/selinux/config(重启生效):

将 SELINUX=enforcing 改为 SELINUX=disabled

 

查看 SELINUX 状态:

1、/usr/sbin/sestatus –v

SELinux status: enabled(enabled:开启;disabled:关闭)

 

2、使用命令:getenforce

 

5、 安装 JDK

 

本文采用 RPM 包安装…….执行:(也可以用tar包进行安装jdk)

rpm -ivh jdk-7u80-linux-x64.rpm

 

配置环境变量,修改/etc/profile:

export JAVA_HOME=/usr/java/jdk1.7.0_80

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOMdE/lib/dt.jar:$JAVA_HOME/lib/tools.jar

 

生效:

source /etc/profile

 

查看版本:

[root@slave6 cdh]# java -version

java version "1.7.0_80"

Java(TM) SE Runtime Environment (build 1.7.0_80-b15)

Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

 

6、 设置 NTP

所有节点安装 NTP:

yum install ntp

配置开机启动:

chkconfig ntpd on

检查是否设置成功:

chkconfig --list ntpd (2-5 为 on 状态则成功)

设置同步:

ntpdate -u ntp.sjtu.edu.cn(时钟服务器根据实际环境设置、本文采用 210.72.145.44-国家授时

中心服务器 IP 地址)

 

7、 安装 配置 MySql

安装过程略……本文采用 MySql 5.5

安装成功以后,对权限进行一下设置:

 

首先选中mysql数据库:

 

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

flush privileges;

 

详情见hive环境搭建

 

建库操作及脚本参照:步骤三、步骤六

 

8 、下载依赖包(这个我没弄)

·  chkconfig

·  python (2.6 required for CDH 5)

·  bind-utils

·  psmisc

·  libxslt

·  zlib

·  sqlite

·  cyrus-sasl-plain

·  cyrus-sasl-gssapi

·  fuse

·  portmap

·  fuse-libs

·  redhat-lsb

整理一块就是一条命令:

(第一次失败,第二次成功,不要问我为什么,我也不知道)

yum install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs redhat-lsb -y

 

9、确保环境字符集为英文状态,如果是中文将会出现问题。如果时中文编码,请修改一下字符集:

 

编辑文件:

vi  /etc/sysconfig/i18n  

然后修改值为:

LANG="en_US"

2、CM的安装:(Cloudera Manager Server&Agent)

忠告:

老哥给你一个忠告,好好检查一下上面的环境是否配置成功,然后jdk的环境是否成功。时间是否一致,ssh免密码登录是否配置好,字符集是否是英文的,防火墙是否关闭。检查检查再检查,别急着往下怼,怼不好,还得重新开始、

 

2-1、安装CM

拷贝 cloudera-manager-el6-cm5.4.3_x86_64.tar.gz 到所有 Server、Agent 节点

创建 cm 目录:

mkdir /opt/cloudera-manager

解压 cm 压缩包:

tar xvzf cloudera-manager*.tar.gz -C /opt/cloudera-manager

 

2-2、创建用户 cloudera-scm (所有节点)

执行:

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

2-3、配置 CM Agent:

修改文件/opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini 中

server_host 修改成server的主机名,我用的是master,然后这个server_port千万别改。

 

2-4、配置 CM Server的数据库:

将驱动包拷贝到目录下( 注意拷贝过去的驱动包名字一定要和下边的一样,否则会报错 ):

cp mysql-connector-java-5.1.31/mysql-connector-java-5.1.31-bin.jar /usr/share/java/mysql-

connector-java.jar

 

执行:

mysql> grant all privileges  on *.* to 'temp'@'%' identified by 'temp' with grant option;

 

cd /opt/cloudera-manager/cm-5.4.3/share/cmf/schema

 

模板:

./scm_prepare_database.sh mysql temp -h 主机名 -utemp -ptemp --scm-host 主机名 scm scm scm

如:

 

./scm_prepare_database.sh mysql temp -h master -utemp -ptemp --scm-host master scm scm scm

(对应于:数据库类型、数据库服务器、用户名、密码、CMServer 所在节点…….)

注意:

如果我们执行失败的话,我们将权限扩大一点。把

mysql> grant all privileges  on *.* to 'temp'localhost'%' identified by 'temp' with grant

mysql> grant all privileges  on *.* to 'temp'主机名'%' identified by 'temp' with grant

 

或者删除掉其它权限只留下一个带%的就OK了:

删除多余会对权限造成影响的数据:

delete from user where host !='%';

刷新权限  flush privileges;

 

mysql> drop user 'temp'@'%';

若上步失败或过程中操作中断,删除所有库、重头来过 /( ㄒ o ㄒ )/~~

若安装 Oozie 等组件可能需要手动创建对应组件所需的数据库,例如:

create database ooziecm DEFAULT CHARACTER SET utf8;

grant all on ooziecm.* TO 'ooziecm'@'%' IDENTIFIED BY 'ooziecm';

 

2-5、创建 Parcel  目录:

Manager  节点创建目录/opt/cloudera/parcel-repo,

 

执行:

mkdir -p /opt/cloudera/parcel-repo

chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo

将下载好的文件(CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel、CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel.sha、manifest.json)拷贝到该目录下。

Agent  节点创建目录/opt/cloudera/parcels,执行:

mkdir -p /opt/cloudera/parcels

chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

 

2-6、启动 CM Manager&Agent  服务

执行:

Manager:   /opt/cloudera-manager/cm-5.4.3/etc/init.d/cloudera-scm-server start

Agents:    /opt/cloudera-manager/cm-5.4.3/etc/init.d/cloudera-scm-agent start

访问:http://ManagerHost:7180,若可以访问(用户名、密码:admin),则安装成功。

 

Manager 启动成功需要等待一段时间,过程中会在数据库中创建对应的表需要耗费一些时间。

然后返回两级目录进入 log里面

可以通过  

tail -f XXX.log

进行动态查看文件日志,看是否启动成功。

 

CDH5 5  安装成功测试:

CM Manager && Agent 成功启动后,登录前端页面进行 CDH 安装配置。

如果出现如下界面表示安装成功:

http://master:7180 

 

 

要是觉得不详细可以参考:

http://www.cnblogs.com/haozhengfei/p/d90e8f4da465036fabbb1d1e1eae886a.html 

至此,CM算是搭建好了。

 

CDH正式环境搭建:

通过CM把CDH集群部署起来,部署的方式有四种:cm,yum,rpm,tarball,其中我们采用的是离线cdh

下面所有的操作都是在web界面上操作的;9个步骤,

1、如果不小心点击了外网的版本,那么就会从外网下载,这个时候点击返回,依旧会下载,那么唯一的解决办法

2、就是停掉server,进去之后会出现已下载,也就是我们早就下载好到了parcels-repo,当然会是100%;然后第二

3、个步骤是分配,就是把parcels-repo里面的软件分发到agent的parcel目录去;

4、cloudera建议我们的/proc/sys/vm/swappiness交换内存为0,将这个文件设置为0即可;当然这样修改只是本次开机

5、下次开机依旧不会改成这样;可以改另一个文件;

6、我们后面看到的图表,监控都是来自于CM service;从最开始那个ppt图上面可以看到

7、在使用cm配置cdh的时候,默认是没有给我们做高可用,虽然我们使用的是cm版本五,使用的hadoop是2.x,但是

8、还是会有snn,只有在做了高可用之后snn才会消失;当我们只在cm上面安装hadoop的时候,有一个步骤,数据库检测

9、由于安装hadoop不需要数据库,所以会一闪而过;

 

 

参考链接:

https://www.cnblogs.com/cac2020/p/10488341.html

http://www.cnblogs.com/haozhengfei/p/d90e8f4da465036fabbb1d1e1eae886a.html 

 


http://chatgpt.dhexx.cn/article/q2B2DSBY.shtml

相关文章

CDH安装配置(详细说明)

从网上看了很多的资料,填了不少的坑。总结一下。(这篇是整合网络的资料自己的坑) 关于CDH和Cloudera Manager CDH (Clouderas Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloudera维护&…

CDH的安装详细步骤

目录 目录 第1章 配置环境 1.1.准备阶段 1.1.1.服务器 1.1.2.操作系统 1.2.安装配置 1.2.1.安装操作系统 1.2.2.配置操作系统 1.2.3.安装Oracle JDK (所有节点) 1.2.4.配置SSH免密 1.2.5.安装配置mysql 1.2.6. NTP时间同步 第2章 安装CDH …

CDH6.2.0详细安装步骤

CDH6.2.0版本安装指南 1. 准备集群 本文档使用的是三台虚拟机,IP和主机名自行修改,三台虚拟机需要能联网,并且能够免密登录,这些网上都能找到详细的教程,有问题也可以底部留言交流。 ip名称内存xxx.xx.x.169node16916…

俗话说:学好c语言,走遍天下都不怕

c语言的重要性 C语言产生于1972年,是计算机的一种高级语言,目前在国际上还是很流行的,因为它具有低级程序语言的功能,所以也有人说它是中级语言。 对于大多数程序员来说。C语言是学习编程的第一门语言,也可以说是入门…

如何学习 C 语言?

在线资源 C程序员帮助建立了互联网,而互联网可以帮助你学习C。互联网时刻都在发展、变化,这里所列的资源只是在撰写本书时可用的资源。当然,你可以在互联网中找到其他资源。 如果有一些与C语言相关的问题或只是想扩展你的知识,可…

关于学好C语言的心得

一.工欲善其事,必先利其器 选择visual sudio 2019 原因:1.vs2019是集成开发环境,对新手友好,不需要配置环境,上手就可以使用 2.大部分网课教程都在使用,避免产生冲突 下载网址:Visual Studio 产…

c语言学的是什么,C语言怎么学?

计算机有一种专业叫c语言,那么什么是c语言,怎么去学它?能给我们带来什么?这篇文章主要是针对此内容做一讲解! c语言是一种电脑程序设计语言。它有高级语言的特点,也有整编语言的特征。可以作为系统设计和应…

为什么要学好c语言,c语言到底多重要,你造吗

一、前言 对于理工 科学生来说,这个答案可能很简单,因为这是一门必修课。而对于程序员来说选择一门编程语言,在某种程度上,对职业生涯的发展会产生重大的影响,所以必须慎 之又慎。那么,为什么要选择一门诞…

零基础如何学好C语言?

经常有人会这样问"我没有一点基础,该如何入门C语言,该如何学好C语言 ?"看到很多初学者摸不到门路,我在这里制定了相应的学习计划,对于零基础新手一定会有很大的帮助。 很多新手认为学习C语言离不开记忆语法&#xff0c…

怎样学习C语言?

一 、怎样学习C语言 很多人对学习C语言感到无从下手,经常问我同一个问题:究竟怎样学习C语言?我是一个教师,已经开发了很多年的程序,和很多刚刚起步的人一样,学习的第一个计算机语言就是C语言。 经过这些年的…

如何学好C语言--你的学渣朋友告诉你

光说不练假把式,光练不说傻把式,又练又说真把式。 真实感受,不是我不想学,是我真的不知道我哪里不会啊和得怎么做啊?本文作者当初就是这么废掉的 推荐两个练习的网站 (一)C语言网 https://www.dotcpp.com/ 水题基…

学好C语言,你只需要这几句口诀!

学好C语言的秘诀就是1234:“一字真言,两种态度,三个框架,四项注意”。 一、一字真言 各位看官,学好C语言,其实只需一个字,那就是“编”。 (一)编。 学习C语言&#x…

推荐给初学者:如何学好C语言?

点击上方“大鱼机器人”,选择“置顶/星标公众号” 福利干货,第一时间送达! 学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。如何以最小的代价学习并精通C语言是本文的主题。请注意,即使是“最小的代价”…

如何学好C语言?

目录 零基础学习C语言该怎么入门?第一步 视频课程第二步 阅读配套教材第三步 完成配套练习习题第四步 如果题目不会做怎么办?第五步 如果参考答案看不懂怎么办?第六步 熟练使用C语言第七步 全面理解C语言第八步 精通C语言第九步 C语言实战 零…

新手如何学好C语言?

作为一名资深码农,在软件行业也拼搏了十多年,这里跟想学习C语言的萌新童鞋分享下我的个人学习心得!!! 在大学时代,我们大二才开始学习C语言(起步有点晚啊),第一次看到那…

完全卸载nginx的详细步骤

一个执着于技术的公众号 前言 在开局配置Nginx时有可能会配置错误,报各种错误代码。看不懂或者懒得去看这个报错时,其实最简单的方式是卸载并重装咯。今天就带大家一起学习下,如何彻底卸载nginx程序。 卸载nginx程序的详细步骤 1、停止Nginx软…

Linux中完全卸载nginx及安装的详细步骤

前言 在开局配置Nginx时有可能会配置错误,报各种错误代码。看不懂或者懒得去看这个报错时,其实最简单的方式是卸载并重装咯。今天就带大家一起学习下,如何彻底卸载nginx程序。 一、卸载NGINX 卸载nginx程序的详细步骤 1、停止Nginx软件 …

Linux 下卸载nginx的操作步骤(亲测有效)

亲测有效,傻瓜式步骤,按着步骤来你也可以成功卸载nginx!!! 1.执行命令,看nginx是否在运行 ps -ef|grep nginx 上图可看出nginx在运行状态,接下来 2.到nginx的安装目录下 cd /tmp/upload/software/nginx 3.输入停止…

Centos7安装、卸载nginx及配置,配置成系统服务(一步到位)

目录 前言 一、下载安装解压 1.进入临时文件夹里(随便一个都行) 2.下载并安装nginx压缩包 3.解压该压缩包 4.创建目标文件夹 5.(默认会安装在/usr/local/nginx)这里通过configure命令指定安装目录 6.编译安装 7.最后生成的…