大数据生产环境部署 CDH5

大数据平台生产环境部署 

 

CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,并集成了很多补丁,可直接用于生产环境。

ClouderaManager(本文以下简称为CM)则是为了便于在集群中进行Hadoop等大数据处理相关的服务安装和监控管理的组件,对集群中主机、Hadoop、Hive、Spark等服务的安装配置管理做了极大简化.

 

 

 

环境要求

Cloudera Manager5安装遇到很多的问题,安装ClouderaManager如果不注意,会成为一部血泪史。为了避免多次、重复安装不成功,所以你需要具备以下条件。

1.  内存要足够大,主机必须至少有10 GB的RAM;

2.  必须具有root或无密码sudo访问主机;

3.  如果使用root,则主机必须接受相同的root密码;

4.  主机必须具有Internet访问权限才能使向导从中安装软件 archive.cloudera.com;

5.  运行支持的操作系统:

软件下载与安装

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

CDH下载地址:http://archive.cloudera.com/cdh5/parcels/5.11/

 

准备工作(系统环境准备)

建议:以下所有操作均在root下完成,否侧,出现错误,10个有9个都是目录权限问题,根据log查错即可。

1.打通SSH,设置ssh无密登陆(所有节点)

(1)进入到我的home目录

 cd ~/.ssh 

(2)生成公钥和私钥:

ssh-keygen -t rsa 

然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

将公钥拷贝到要免密登录的目标机器上(别忘了copy给本机一份)

ssh-copy-id dt013190

ssh-copy-id dt013191

...

ssh-copy-id dt013199

最后通过ssh ip 命令可以登录到其他服务节点及视为成功。(提示:退出使用 exit 命令)

2.JDK安装

 

首先卸载自带的OpenJdk,有些linux会默认自带较低版本的jdk如Centos。

使用命令rpm -qa | grep java查询java相关的包,命令rpm -e --nodeps包名并卸载它们,如果什么都没有则没有默认安装的jdk,直接进行下一步即可。

去Oracle的官网下载jdk的rpm安装包,并使用rpm -ivh 包名安装之。

这里不建议使用最新版本的jdk,因为oracle官网更新的jdk版本要高于CDH官方推荐的最高版本,会出现兼容性警告。

3.关闭防火墙以及SELINUX



    在所有的节点上执行,因为涉及到的端口太多,临时关闭防火墙是为了安装起来更方便。安装完毕后可以根据需要设置防火墙策略,保证集群安全。

关闭防火墙(重启生效)(所有节点)

chkconfig iptables off https://i-blog.csdnimg.cn/blog_migrate/0d33b6eec19f6b1881049ba720986fce.png

 

关闭SELinux(重启生效)(所有节点)

(SELinux主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则))

vi /etc/selinux/config   

SELINUX=disabled

重启后使用如下命令检查一下:sestatus –v https://i-blog.csdnimg.cn/blog_migrate/b2007e07edda304ee201f24c21e58d58.png

 

出现disable即为成功

4 配置hosts

vi /etc/hosts

5.配置NTP时间同步服务

 

6.创建CM用的数据库

 Mysql已经安装,

--hive数据库 

create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci ;

--集群监控数据库

create database reoprt DEFAULT CHARSET utf8 COLLATE utf8_general_ci ;

--hue数据库

create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

-- oozie数据库

create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;


 

 

Cloudrea Manager安装

创建cloudera-scm用户(每个节点都要创建)

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

安装Cloudera Manager Server

首先需要安装Python,CentOS7默认安装了Python2.7

主节点解压安装cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz到/opt文件夹

tar -xvf cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz -C /opt

将MySQL驱动复制到/opt/cm-5.12.1/share/cmf/lib中

配置MySQL的远程访问权限

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

flush privileges;

1

 

初始化CM的元数据库

/opt/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh mysql cm -uroot -proot -h127.0.0.1(或者远程数据库的地址) --scm-host cdh1 scm scm scm

mysql指定数据库类型,cm为元数据库名,-u为数据库用户名,-p为数据库密码,-h为数据库地址,–scm-host 为cm主节点地址,最后三个scm不用理会,是从官网直接上copy过来的

执行完毕后如果报Access denied,检查一下是否启用了global id,如果启用了,禁用即可。原因在于上述脚本执行语句时在建表过程中会执行select命令,而启用了global id的情况下不允许这种操作。

建库成功后会发现MySQL的用户表里多出一个名为scm的用户,host为CM主节点的host,执行

 

use mysql;

update user set host='%' where User='scm';

grant all privileges on *.* to 'scm'@'%';

flush privileges;

 

安装Cloudera Manager Agent

修改/opt/cm-5.12.1/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。

将主节点的/opt/cm-5.12.1同步到其它节点

scp /opt/cm-5.12.1 root@cdh2:/opt

将Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中(如没有parcel-repo,需要手动创建)

cp CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel /opt/cloudera/parcel-repo/

cp CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha

cp manifest.json /opt/cloudera/parcel-repo/

 

启动Cloudera Manager Server

创建以下三个文件夹

mkdir -p /var/lib/cloudera-scm-server

mkdir -p /var/lib/cloudera-scm-agent

mkdir -p /var/lib/cloudera-scm-server-db/data

 

/opt/cm-5.12.1/etc/init.d/cloudera-scm-server start #启动成功后等5分钟左右查看进程会出现7180端口

 

启动Cloudera Manager Agent

所有节点通过/opt/cm-5.12.1/etc/init.d/cloudera-scm-agent start启动Agent服务。 (所有节点都要启动Agent服务,包括主节点)

查看进程出现9000等端口代表启动成功

 

启动CM

 

在浏览器访问http://IP:7180输入账号密码(初始均为admin)出现如下界面: 

https://i-blog.csdnimg.cn/blog_migrate/de4938ee373f085020fb6a94e577e176.jpeg

点继续,然后根据自己的需要来配置相关项,

 

 

 

 

启动成功后的界面:

 

 

 

 

 

启动hue

 

 

 

 

 

 

遇到的问题

1免密登陆失败

 两台服务器之间免密登陆IP1能连到IP2,但是从IP2连不到IP1

 

 

 

解决办法:ssh免密登陆重新配置,使得IP2可免密登陆IP1

 

2创建数据库是hue报错

 

 

 

解决方法:

在/usr/lib64/mysql中加入libmysqlclient.so.18  改成libmysqlclient.so.18.0.0

 

然后  ln -sf libmysqlclient.so.18   libmysqlclient.so.18.0.0

 

然后

vi /etc/ld.so.conf

后面增加一条记录:

/usr/lib64/mysql (libmysqlclient_r.so.18 和libmysqlclient.so.18.0.0所在目录)

 

保存后执行命令使之生效:ldconfig 

 

重新启动服务

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值