此篇文章主要介绍了CDH在centos 6.x下的安装,在centos 7 版本中的安装以后会推出.

这篇文档将着重介绍Cloudera管理器域CDH的安装,并基于以下假设:

>>操作系统版本: centos 6.8

>>MySQL数据库版本: 5.6.24

>>CM版本: CM  5.12.1

>>CDH版本: CDH 5.12.1

>>采用root对集群进行部署

1、准备工作:

0)新建centos 6.x虚拟机,然后克隆3台(需要完整克隆,具体如何克隆,自行百度,这里不做过多说明)

以3台克隆机器中的其中一台为例,进行网络的配置

1> vi /etc/udev/rules.d/70-persistent-net.rules

敲dd将含有eth0的一行删除,并使用shift+$跳到文章末尾,将eth1改为eth0

2> 并复制ATTR中的引号中的内容

3> 保存退出后,vi /etc/sysconfig/network-scripts/ifcfg-eth0,将刚刚复制的内容粘贴到此文件下的HWADDR(先把之前的删除),并且

按照图中的内容进行添加或者修改,ONBOOT=yes,表示开机自启动,需要改为yes,BOOTPROTO这个主要是网络配置模式的修改,如果新安装的虚拟机默认是dhcp,表示动态获取ip,这对于后面配置集群是非常麻烦的,所以我们需要将其修改为static或者none都是表示配置静态ip模式,并且添加IPADDR,这个我们可以自己配置ip地址.

然后使用service network restart 重启下网络,然后使用ifconfig或者ip a 查看ip是否修改成功.如果出现下图错误,那么使用reboot重启虚拟机,便可解决此问题

另外两台克隆的虚拟机按照以上操作做一次.

1)关闭防火墙(3台克隆机同时操作)
         临时关闭:

service iptables stop

永久关闭:

chkconfig iptables off

1.5)关闭Selinux

临时关闭

setenforce 0

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

将SELINUX=enforcing 改为SELINUX=disabled

sed -i 's#enforcing#disabled#g' /etc/selinux/config

2)设置主机名(每台克隆机,设置不通的主机名)

vi /etc/sysconfig/network    根据自己的配置修改hostname,这个需要重启虚拟机才会生效

3)配置DNS(3台克隆机同时操作)

vi /etc/resolv.conf  添加:nameserver 8.8.8.8 或者nameserver 网关地址

然后ping baidu.com  看是否有回应

如果在这个地方,出现了宿主机ping不通虚拟机,或者虚拟机ping不通宿主机,请自行百度吧,这里我也不想做过多描述.如果实在有问题加最下面的qq群寻求答案吧.

4)配置host文件(3台克隆机同时操作)

vi /etc/hosts   根据自己的ip 进行相应配置

配置完之后,可以在同一台机器上ping 不同的域名,查看是否有响应.

表明配置成功

为了以后,我们使用谷歌或者其他浏览器访问域名也可以,那么我们需要对windows中的hosts文件进行配置

打开C:\Windows\System32\drivers\etc下的hosts文件,进行相应的配置

5)更新yum源(使用阿里云镜像源)

第一步:备份你的原镜像文件,以免出错后可以恢复

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

第二步:下载新的CentOS-Base.repo 到/etc/yum.repos.d/

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

第三步:清空yum缓存

yum clean all

第四步:生成缓存

yum makecache

6) 安装JDK(3台克隆机同时操作)

1>卸载现有JDK

查询是否安装Java软件:

rpm -qa | grep java

如果安装的版本低于1.7,卸载该JDK:

rpm -e 软件包

查看JDK安装路径:

which java

2>创建两个目录,主要是存放tar包

mkdir /opt/module

mkdir /opt/software

3> 将jdk-8u144-linux-x64.tar.gz上传至/opt/software,关于上传有两种方法,一种是使用yum install lrzsz -y或者windows下载WinSCP软件,之前做过测试,WinSCP上传下载的速度大约是rzsz的十倍左右.各有利弊,如果使用rzsz,可以直接将上传的资料直接拖到远程连接工具就可以,非常方便,下载的话直接使用   sz 需要下载的文件   就可以了

4>解压JDK

tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/

5> 配置JDK环境变量

(1)先获取JDK路径

#  pwd

/opt/module/jdk1.8.0_144

(2)打开/etc/profile文件

vi /etc/profile   在profile文件末尾添加JDK路径

#JAVA_HOME

export JAVA_HOME=/opt/module/jdk1.8.0_144

export PATH=$PATH:$JAVA_HOME/bin

(3)保存后退出

:wq

(4)让修改后的文件生效

source /etc/profile

6> 测试JDK是否安装成功

java -version

出现上图所示,则表示JDK配置成功

7)配置免密登陆 (只在CDH101上操作)

cd ~

1>生成公钥和私钥

ssh-keygen -t rsa  一路回车就好

2> 将公钥拷贝到要免密登录的目标机器上

ssh-copy-id  CDH101

ssh-copy-id  CDH102

ssh-copy-id  CDH103

8)在CDH101上安装mysql,配置相应的用户权限(也可以使用yum安装mysql)

1>查看mysql是否安装,如果安装了,卸载mysql

rpm -qa|grep mysql

rpm -e --nodeps  xx

2>安装mysql服务端

rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm

3>查看产生的随机密码

cat /root/.mysql_secret   找个位置复制,为下面修改mysql密码做准备

4>查看mysql状态并启动mysql

service mysql status

service mysql start

5>安装mysql客户端

rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm

6>链接mysql,并修改密码

mysql -uroot -ptxj5IaUyV2Pw1tI5

SET PASSWORD=PASSWORD('000000');

7)退出mysql,使用修改后的密码重新登录mysql,并做相关操作

登录mysql

mysql -uroot -p000000

使用mysql数据库

use mysql;
                   查询user表

select User,Host,Password from user;

修改user表,把Host表内容修改为%

update user set host='%' where host='localhost';

删除root用户的其他host

刷新权限并退出

9)下载第三方依赖

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

如果不下载这些依赖,使用cdh安装的时候会报各种各样的错误.

10) 时钟同步(必须root用户)

(1)检查ntp是否安装

[root@hadoop102 桌面]# rpm -qa|grep ntp

ntp-4.2.6p5-10.el6.centos.x86_64

fontpackages-filesystem-1.41-1.1.el6.noarch

ntpdate-4.2.6p5-10.el6.centos.x86_64

(2)修改ntp配置文件

[root@hadoop102 桌面]# vi /etc/ntp.conf

修改内容如下

a)修改1(授权192.168.1.0网段上的所有机器可以从这台机器上查询和同步时间)

                          #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap为

restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap

ip地址根据自己的网段进行配置

b)修改2(集群在局域网中,不使用其他的网络时间)

server 0.centos.pool.ntp.org iburst

server 1.centos.pool.ntp.org iburst

server 2.centos.pool.ntp.org iburst

server 3.centos.pool.ntp.org iburst为

                    #server 0.centos.pool.ntp.org iburst

                   #server 1.centos.pool.ntp.org iburst

                   #server 2.centos.pool.ntp.org iburst

                   #server 3.centos.pool.ntp.org iburst

c)添加3(当该节点丢失网络连接,依然可以作为时间服务器为集群中的其他节点提供时间同步)

server 127.127.1.0

fudge 127.127.1.0 stratum 10

(3)修改/etc/sysconfig/ntpd 文件

[root@hadoop102 桌面]# vim /etc/sysconfig/ntpd

增加内容如下(让硬件时间与系统时间一起同步)

SYNC_HWCLOCK=yes

(4)重新启动ntpd

[root@hadoop102 桌面]# service ntpd status

ntpd 已停

[root@hadoop102 桌面]# service ntpd start

正在启动 ntpd:                                            [确定]

(5)设置ntpd服务开机启动:

[root@hadoop102 桌面]# chkconfig ntpd on

2.    其他机器配置(必须root用户)

(1)在其他机器配置10分钟与时间服务器同步一次

[root@hadoop103桌面]# crontab -e

编写定时任务如下:

*/10 * * * * /usr/sbin/ntpdate hadoop102

(2)修改任意机器时间

[root@hadoop103桌面]# date -s "2017-9-11 11:11:11"

(3)十分钟后查看机器是否与时间服务器同步

[root@hadoop103桌面]# date

说明:测试的时候可以将10分钟调整为1分钟,节省时间。

2、CM安装部署

CM下载地址:http://archive.cloudera.com/cm5/cm/5/

离线库下载地址:http://archive.cloudera.com/cdh5/parcels

2.1)上传cloudera-manager-el6-cm5.12.1_x86_64.tar.gz到/opt/software并解压

创建/opt/module/cloudera-manager目录

mkdir /opt/module/cloudera-manager

tar -zxvf /opt/software/cloudera-manager-el6-cm5.12.1_x86_64.tar.gz -C /opt/module/cloudera-manager/

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

useradd --system --home=/opt/module/cloudera-manager/cm-5.12.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

--system 创建一个系统账户

--home 指定用户登入时的主目录,替换系统默认值/home/<用户名>

--no-create-home 不要创建用户的主目录

--shell 用户的登录 shell 名

--comment 用户的描述信息

注意:

Cloudera Manager默认用户为cloudera-scm,创建具有此名称的用户是最简单的方法。 安装完成后,将自动使用此用户。

2.3)配置CM Agent

修改文件/opt/module/cloudera-manage/cm-5.12.1/etc/cloudera-scm-agent/ config.ini

vim /opt/module/cloudera-manage/cm-5.12.1/etc/cloudera-scm-agent/config.ini

server_host=CDH101

2.4)配置CM的数据库

1>拷贝mysql jar文件到目录 /usr/share/java/

mkdir /usr/share/java/

cp /opt/software/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar /usr/share/java

mv mysql-connector-java-5.1.27-bin.jar mysql-connector-java.jar

• 注意jar包名称要修改为mysql-connector-java.jar

2>在mysql中创建cm库

/opt/module/cloudera-manager/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hCDH101 -uroot -p000000 --scm-host CDH101 scm scm scm

注解:

-u:Database username

-p:Database Password

mysql:数据库用的是mysql,如果安装过程中用的oracle,那么该参数就应该改为oracle。

cm:表示在mysql数据库中创建cm database

-h:Database host 表示安装数据库的主机名 (我是在在CDH101上安装的MySQL数据库,所以我指定了CDH101)

--scm-host CDH101 :CMS的主机,一般是和mysql安装的主机是在同一个主机上。

最后三个参数是:数据库名,数据库用户名,数据库密码。

执行完创建cm库的命令后,只有当看到All done, your SCM database is configured correctly!这句话时,表明命令操作是成功的.在执行这行命令后,会遇到很多问题,最常见到的是用户权限问题,这个自行百度吧,或者查看我的另一篇博客:安装CDH过程中所遇到的问题整理

2.5)分发cloudera-manage(在CDH101上执行命令,时间会稍长)

scp -r /opt/module/cloudera-manager/ CDH102:/opt/module/

scp -r /opt/module/cloudera-manager/ CDH103:/opt/module/

2.6)创建Parcel-repo 目录

1> Servre 节点创建目录/opt/cloudera/parcel-repo(server节点就是CDH101节点)

创建Cloudera Manager默认存放离线库的地址

mkdir -p /opt/cloudera/parcel-repo

并赋予parcel-repo所有者权限

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

2> 拷贝下载文件到/opt/cloudera/parcel-repo

[root@CDH101 software]# cp CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel manifest.json /opt/cloudera/parcel-repo/

[root@CDH101 software]# mv CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha1 CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha
             [root@CDH101 software]# cp CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha /opt/cloudera/parcel-repo/

3> 在Agent 节点(CDH102,CDH103,CDH104)创建目录/opt/cloudera/parcels

mkdir -p /opt/cloudera/parcels

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

2.7)分发Parcel-repo

scp -r /opt/cloudera/ CDH102:/opt/

scp -r /opt/cloudera/ CDH103:/opt/

注意:

当scp之后,需要查看CDH102和CDH103上的parcel-repo的所属主是不是cloudera-scm,如果不是,则使用chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/进行修改

2.8)启动和关闭CM Server&Agent 服务

服务节点:CDH101

[root@CDH101 cloudera]# /opt/module/cloudera-manager/cm-5.12.1/etc/init.d/cloudera-scm-server start

Starting cloudera-scm-server:                              [确定]

工作节点:CDH101\CDH102\CDH103

/opt/module/cloudera-manager/cm-5.12.1/etc/init.d/cloudera-scm-agent start    (三个节点同时执行)

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

一段时间过后,可以使用下列命令查看7180端口是否已经启动:  netstat -anp | grep 7180   如果查看被占用则表示安装成功了!!!

[root@CDH101 init.d]# netstat -anp | grep 7180

tcp        0      0 0.0.0.0:7180                0.0.0.0:*                   LISTEN      5498/java

2.9)访问

访问http://CDH101:7180,(用户名、密码:admin

这个地方注意,需要在windows的hosts文件中配置ip地址和域名

关闭服务:

服务节点:CDH101

[root@CDH101 init.d]# /opt/module/cloudera-manager/cm-5.12.1/etc/init.d/cloudera-scm-server stop

停止 cloudera-scm-server:                                 [确定]

工作节点:CDH101\CDH102\CDH103

[root@CDH101 init.d]# /opt/module/cloudera-manager/cm-5.12.1/etc/init.d/cloudera-scm-agent stop

Stopping cloudera-scm-agent:                               [确定]

3、Cloudera Manager界面操作

用户和密码都是admin,

具体解决方案见上面的准备操作中的时钟同步操作。

版本汇总如下:

自定义服务中,我们先只选择HDFS,hive和yarn三个组件

继续下一步开始进行数据库的配置

接下来开始安装,直到显示集群安装成功.

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

至此,CDH集群已经全部安装完毕

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

用人品去感动别人,用改变去影响别人,用状态去燃烧别人,用行动去带动别人,用阳光去照耀别人,用坚持去赢得别人,要求自己每天都去做与目标有关的事情,哪怕每天只进步一点点,坚持下来你就是最优秀卓越的!欢迎大家加入大数据交流群:725967421     一起交流,一起进步!!

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

史上最全cdh安装详细教程相关推荐

  1. 史上最全django安装教程

    史上最全django安装教程 选择版本 首先由于版本兼容性问题,所以需要安装好对应的django,python,mysql版本才能确保今后程序的顺利运行,其兼容性见下表(表来源于博客) 根据上表,我选 ...

  2. 如果自己组装一个台式计算机有哪些,2015电脑组装教程:史上最全自己组装电脑教程...

    DIY电脑一直都是电脑爱好者非常喜欢的,电脑组装通常包括电脑硬件的选择,DIY硬件组装以及操作系统安装三个部分. 对于电脑爱好者来说,通过自己动手DIY组装电脑,不仅可以更为深刻的认识硬件,了解电脑主 ...

  3. 史上最全vscode配置使用教程

    史上最全vscode配置使用教程 正在上传-重新上传取消 灰蓝宇墨 ​ 上海闪店联信息科技有限公司 前端工程师 5,041 人赞同了该文章 工欲善其事,必先利其器.想要优雅且高效的编写代码,必须熟练使 ...

  4. .Net魔法堂:史上最全的ActiveX开发教程——发布篇

    一. 前言 接着上一篇<.Net魔法堂:史上最全的ActiveX开发教程--开发篇>,本篇讲述如何发布我们的ActiveX. 二.废话少讲,马上看步骤! 1. 打包  C#开发的Activ ...

  5. .Net魔法堂:史上最全的ActiveX开发教程——部署篇

    一.前言 接<.Net魔法堂:史上最全的ActiveX开发教程--发布篇>,后我们继续来部署吧! 二. 挽起衣袖来部署   ActiveX的部署其实就是客户端安装ActiveX组件,对未签 ...

  6. 10_史上最全的Markdown使用教程(没有之一)(20190115)

    我用markdown写博客已经有半年之久了吧,但是还是会出现有些你想用的功能很难找,或者你尝试使用它不好使,为了帮助那些和我一样热衷于使用markdown的乘客,我决定自己造一架航班,让我们一起搭乘M ...

  7. 史上最全的FreeIPA搭建教程(二)

    如有疑问,请私信我!!!! 码字儿截图不容易啊 1.web后台使用教程 名字显示是反的,需要改成正确的 2.FreeIPA更新证书 默认的证书都是2年时间,到期不更新后果的就是所有账号都无法登录了 # ...

  8. 史上最全scrcpy投屏教程(用你的电脑控制手机)

    史上最全scrcpy投屏教程(用你的电脑控制手机) 一.下载投屏所需的资源 网址:scrcpy-win64-v1.17 提取码: yvid : 当然你也可以去github下载最新的或你所需要的资源,网 ...

  9. 史上最全虚拟机安装、安装系统、玩游戏、多开游戏

    史上最全虚拟机安装.安装系统.玩游戏.多开游戏 史上最全虚拟机安装.安装系统.玩游戏.多开游戏

最新文章

  1. MongoDB 启动 Failed to connect to 127.0.0.1:27017, reason: 由于目标计算机积极拒绝,无法连接。...
  2. Oracle学习笔记--第2章 oracle 数据库体系结构
  3. 关于微信小程序登录授权
  4. Android严苛模式StrictMode使用与取消
  5. mac下,svn配置
  6. 副业刚需? 恐怕并不靠谱!
  7. 【渝粤教育】广东开放大学 社会工作综合能力 形成性考核 (27)
  8. python3判断字典、列表、元组为空以及字典是否存在某个key的方法
  9. [转载] 机器学习之主成分分析PCA(Python实现)
  10. “腾讯基因”讨论:为什么我常说做to C的人很难去做to B?
  11. 汇编语言 emu8086 电子时钟 课程设计
  12. 身份证前六位对应代码
  13. 一、数据库表设计规范
  14. js数字金额转大写,javaScript数字金额转大写。
  15. docker-compose up -d --build不会更新镜像;什么时候容器会变更
  16. 从零开始学习股票知识
  17. HTML正方体滚动特效
  18. 体验AI拜年新姿势,爱奇艺技术团队这波操作真秀!
  19. 学习笔记:贝塞尔曲线法
  20. linux多核操作命令,利用多核CPU加速你的Linux命令

热门文章

  1. 一个PS切图神器-蓝湖
  2. 感悟20160923
  3. win10 计算机休眠后无法唤醒,win10睡眠无法唤醒怎么解决_win10电脑睡眠后无法唤醒的解决教程...
  4. php 二维数组变一维数组,PHP二维数组如何转换为一维数组
  5. Linux DM9000网卡驱动程序完全分析
  6. javascript高级程序设计 第三版
  7. Cmder:windows开发环境必备终端工具_安装及使用指南
  8. Python爬虫-urllib-post请求
  9. 【附源码】计算机毕业设计JAVA汽车销售系统
  10. mpdf(htmle内容转pdf输出)