最全CDH集群搭建教程 CentOS6.5

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

操作系统版本: centos 6.5
MySQL数据库版本: 5.6.24
CM版本: CM 5.12.1
CDH版本: CDH 5.10.1
采用 root 对集群进行部署

本文适合电脑内存16G以上的,安装的是纯正的CDH,不是三个节点的,纯正四节点。建议配置主节点3G内存,从节点1.5G内存,硬盘大小建议单节点配置20G以上,CDH版本比apache吃内存和硬盘,请准备好再安装

1.CentOS-6.5-x86_64-bin-DVD1.iso 下载

2.安装CentOS

这个可以看下面写的虚拟机搭建:
虚拟机搭建
要不查看下面的链接:
https://blog.csdn.net/weixin_44161678/article/details/85724973

1、准备工作:

1)新建centos 6.x虚拟机,然后克隆3台(需要完整克隆,具体如何克隆,自行百度,这里不做过多说明) 以3台克隆机器中的其中一台为例,进行网络的配置

     vi /etc/sysconfig/network-scripts/ifcfg-eth0

在这里插入图片描述

1). 克隆后上面标红的需要修改,也可以按照我这样配置
2).HWADDR克隆机最好在设置里找到这台机的mac地址在这里面进行修改
3).按照图中的内容进行添加或者修改,ONBOOT=yes,表示开机自启动,需要改为yes,BOOTPROTO这个主要是网络配置模式的修改,如果新安装的虚拟机默认是dhcp,表示动态获取ip,这对于后面配置集群是非常麻烦的,所以我们需要将其修改为static或者none都是表示配置静态ip模式,并且添加IPADDR,这个我们可以自己配置ip地址.

2)进行修改主机名

在 root 账号下用命令

	vi /etc/sysconfig/network

或者如果配置了 hadoop账号 sudo 权限,则在 hadoop 登录情况下使用命令:sudo vi /etc/sysconfig/network

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

在这里插入图片描述
4) 关闭防火墙(3台克隆机同时操作)

    临时关闭:
          service iptables stop
   永久关闭:
          chkconfig iptables off
  1. 关闭Selinux
    临时关闭
         setenforce 0
    修改配置文件/etc/selinux/config(重启生效)
        将SELINUX=enforcing 改为SELINUX=disabled
        sed -i 's#enforcing#disabled#g' /etc/selinux/config 

在这里插入图片描述

  1. 目前可以操作以下命令是否可以连通网络

    ping baidu.com
    在这里插入图片描述

如果在这个地方,出现了宿主机ping不通虚拟机或者是网络不可达的情况,或者虚拟机ping不通宿主机,请自行百度吧解决吧,就不描述太多了

  1. 配置host文件
    vi /etc/hosts 根据自己的ip 进行相应配置
    在这里插入图片描述

为了以后,我们使用谷歌或者其他浏览器访问域名也可以,那么我们需要对windows中的hosts文件进行配置
打开C:\Windows\System32\drivers\etc下的hosts文件,进行相应的配置
在这里插入图片描述

  1. 也可以更新下yum 源

更新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  

3.安装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
  1. 上传文件

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

  1. 解压JDK和配置环境变量
		tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/
		pwd  #可以获取当前路径这里查看jdk当前安装路径
			/opt/module/jdk1.8.0_40
		vi /etc/profile    #在profile文件末尾添加JDK路径
		 #JAVA_HOME
		export JAVA_HOME=/opt/module/jdk1.8.0_40
		export PATH=$PATH:$JAVA_HOME/bin
		# 刷新环境变量让修改后的文件生效
		source /etc/profile
  1. 测试JDK是否安装成功
    java -version
    在这里插入图片描述

4.配置免密登陆

    cd ~
   1>生成公钥和私钥
        ssh-keygen -t rsa  一路回车就好
   2> 将公钥拷贝到要免密登录的目标机器上

        ssh-copy-id  CDH11
        ssh-copy-id  CDH12
        ssh-copy-id  CDH13
        ssh-copy-id  CDH14

5.时间同步(必须root用户)

  1. 检查ntp是否安装
    rpm -qa|grep ntp
    在这里插入图片描述

  2. 修改ntp配置文件
    [root@CDH11 hadoop]# vi /etc/ntp.conf

     		修改1(授权192.168.1.0网段上的所有机器可以从这台机器上查询和同步时间)
    
                       #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap为
    
                       restrict 192.168.80.0 mask 255.255.255.0 nomodify notrap
    
                         ip地址根据自己的网段进行配置
    
            修改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
    
            添加3(当该节点丢失网络连接,依然可以作为时间服务器为集群中的其他节点提供时间同步)
    
                 server 127.127.1.0
    
                 fudge 127.127.1.0 stratum 10
    

在这里插入图片描述

  1. 修改/etc/sysconfig/ntpd 文件

        [root@CDH11 hadoop]# vim /etc/sysconfig/ntpd
       增加内容如下(让硬件时间与系统时间一起同步)
        SYNC_HWCLOCK=yes
    
  2. 重新启动ntpd

          [root@CDH11 hadoop]# service ntpd status
    
           ntpd 已停
    
         [root@CDH11 hadoop]# service ntpd start
    
         正在启动 ntpd:                                            [确定]
    
  3. 设置ntpd服务开机启动:

             [root@CDH11 hadoop]# chkconfig ntpd on
    
  4. 其他机器配置(必须root用户)

          (1)在其他机器配置10分钟与时间服务器同步一次
             	[root@CDH12 hadoop]# crontab -e
               编写定时任务如下:(测试可以调整时间为1分钟同步一回)
                */10 * * * * /usr/sbin/ntpdate CDH11
          (2)修改任意机器时间
     		 	[root@CDH11 hadoop]# date -s "2017-4-11 11:11:11"
          (3)十分钟后查看机器是否与时间服务器同步
        		[root@CDH12 hadoop]# date
    

6.安装mysql

  1. 查看mysql是否安装,如果安装了,卸载mysql
    rpm -qa|grep mysql
    rpm -e --nodeps xxx
    在这里插入图片描述
  2. 安装mysql服务端
    rpm -ivh MySQL-server-5.5.28-1.linux2.6.x86_64.rpm
  3. 查看mysql状态并启动mysql
    service mysql status
    service mysql start
  4. 安装mysql客户端
    rpm -ivh MySQL-5.5.28-1.linux2.6.x86_64.rpm
  5. 链接mysql,并修改密码(我这个版本安装出来是无密码)
    mysql -uroot -p
    在这里插入图片描述
    SET PASSWORD=PASSWORD(‘root’);

在这里插入图片描述
6) 退出mysql,使用修改后的密码重新登录mysql,并做相关操作

登录mysql
mysql -uroot -proot
使用mysql数据库
use mysql;
查询user表
select User,Host,Password from user;
在这里插入图片描述
修改user表,把Host表内容修改为%
update user set host=’%’ where host=‘localhost’;
删除root用户的其他host
在这里插入图片描述
刷新权限并退出
在这里插入图片描述

7.CM安装部署

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

  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/
  1. 创建用户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 用户的描述信息
  1. 配置CM Agent
    3.1.修改 config.ini 文件
vi /opt/module/cloudera-manager/cm-5.12.1/etc/cloudera-scm-agent/config.ini

在这里插入图片描述

  1. 配置CM的数据库

拷贝mysql jar文件到目录 /usr/share/java/
注意: jar包名称要修改为mysql-connector-java.jar
mv mysql-connector-java-5.1.27-bin.jar mysql-connector-java.jar

# 在mysql中创建cm库
/opt/module/cloudera-manager/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh mysql cm -h CDH11 -uroot -proot --scm-host CDH11 scm scm scm
#-u:Database username  我这是mysql
#-p:Database Password
# mysql:数据库用的是mysql,如果安装过程中用的oracle,那么该参数就应该改为oracle。
# cm:表示在mysql数据库中创建cm database   
# -h:Database host 表示安装数据库的主机名,所以我指定了CDH11
#--scm-host CDH11 :CMS的主机,一般是和mysql安装的主机是在同一个主机上。
# 最后三个参数 scm scm scm 是:数据库名,数据库用户名,数据库密码。

出现以下图片所示,就说明操作成功
在这里插入图片描述

  1. 分发cloudera-manage到另3台机上
scp -r /opt/module/cloudera-manager/ CDH12:/opt/module/
scp -r /opt/module/cloudera-manager/ CDH13:/opt/module/
scp -r /opt/module/cloudera-manager/ CDH14:/opt/module/

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

  1. 创建Parcel-repo 目录

    主节点创建目录/opt/cloudera/parcel-repo(我这是CDH11)
    创建Cloudera Manager默认存放离线库的地址
    mkdir -p /opt/cloudera/parcel-repo
    并赋予parcel-repo所有者权限
    chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/

[root@CDH11 software]# cp CDH-5.10.2-1.cdh5.10.2.p0.5-el6.parcel manifest.json /opt/cloudera/parcel-repo/
[root@CDH11 software]# mv CDH-5.10.2-1.cdh5.10.2.p0.5-el6.parcel.sha1 CDH-5.10.2-1.cdh5.10.2.p0.5-el6.parcel.sha
[root@CDH11 software]# cp CDH-5.10.2-1.cdh5.10.2.p0.5-el6.parcel.sha /opt/cloudera/parcel-repo/

在Agent 节点(CDH11,CDH12,CDH13,CDH14)创建目录/opt/cloudera/parcels

 [root@CDH12 software]# mkdir -p /opt/cloudera/parcels
 [root@CDH13 software]# chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
  1. 分发Parcel-repo

         scp -r /opt/cloudera/ CDH12:/opt/
         scp -r /opt/cloudera/ CDH13:/opt/
         scp -r /opt/cloudera/ CDH14:/opt/
         
         注意:parcel-repo的所属主是不是cloudera-scm,如果不是,使用以下代码进行修改
         ==chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/==
    

8.启动和关闭CM Server&Agent 服务

启动服务:

服务主节点:CDH11启动Server

[root@CDH11 cloudera]# /opt/module/cloudera-manager/cm-5.12.1/etc/init.d/cloudera-scm-server start
Starting cloudera-scm-server:                              [确定]

工作节点: CDH11\CDH12\CDH13\CDH14

#  其余节点同时执行
[root@CDH11 cloudera]# /opt/module/cloudera-manager/cm-5.12.1/etc/init.d/cloudera-scm-agent start

关闭服务:

服务主节点:CDH11

[root@CDH11 init.d]# /opt/module/cloudera-manager/cm-5.12.1/etc/init.d/cloudera-scm-server stop
停止 cloudera-scm-server:                                 [确定]

工作节点:CDH11\CDH12\CDH13\CDH14

[root@CDH11 init.d]# /opt/module/cloudera-manager/cm-5.12.1/etc/init.d/cloudera-scm-agent stop
Stopping cloudera-scm-agent:                               [确定]

9.访问

  1.访问http://CDH11:7180,(用户名、密码:admin)

在这里插入图片描述

  2.Cloudera Manager界面操作 (账号密码都是admin)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
自定义服务中,我们先只选择HDFS,hive和yarn三个
在这里插入图片描述
在这里插入图片描述
继续下一步进行数据库的配置
在这里插入图片描述
在这里插入图片描述
进入管理界面–就算安装完毕了
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值