CDH安装

  1. 系统环境准备

1、网络配置

vi /etc/sysconfig/network

vi /etc/hosts

2、SSH免密钥登录

虚拟机的环境准备非常重要:免密钥的master需要和slave免密钥;那么cloudera manager的server需要和agent免密钥;

那么具体的软件比如hdfs的namenode所在的节点就需要和它的datanode节点免密钥;

全部会话 :ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa

ssh-copy-id node11/node12/node13

3、防火墙关闭

Service iptables stop

Chkconfig iptables off

4、SELINUX关闭 setenforce 0

vi /etc/selinux/config (SELINUX=disabled)

5.安装JDK配置环境变量

三台机器都需要

将jdk上传到node11的/home/tools目录下

Node11执行:scp jdk+Tab node12:pwd

scp jdk+Tab node13:pwd

全部会话:rpm -ivh jdk*

修改 vi/etc/profile 添加环境变量(一个一个添加)

source ./etc/profile

export JAVA_HOME=/usr/java/default //注意java的路径

export PATH=JAVAHOME/bin:JAVAHOME/bin:PATH

6.安装NTP

Yum install ntp -y

设置开机启动 chkconfig ntpd on

设置时间同步 – ntpdate -u s2c.time.edu.cn(全部会话)

7.安装配置mysql

yum install mysql-server -y

设置开机启动:chkconfig mysqld on

启动mysql: service mysqld start

查看状态: service mysqld status

mysql 进入

use mysql

select host,user from user

修改 mysql 权限: GRANT ALL PRIVILEGES ON . TO ‘root‘@’%’ IDENTIFIED BY ‘123’ WITH GRANT OPTION;

刷新:flush privileges;

删除多余会对权限造成影响的数据:delete from user where host !=’%’;

刷新权限

select host,user from user;

quit 退出

重新登录:mysql -u root -p

密码:123

8.下载第三方依赖包

最后一步安装第三方依赖包的时候,主要针对的是centos,公司中还是要看使用的linux发行版缺少那些版本;

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

  1. CM安装

  2. 安装Cloudera Manager Server、Agent

上传到/home/toolsx下 (三台机器都要安装)

mkdir /opt/cloudera-manager

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

  1. 创建用户cloudera-scm

全部会话:useradd –system –no-create-home –shell=/bin/false –comment “Cloudera SCM User” cloudera-scm

  1. 配置CM Agent

cm的安装包的server和agent都是同一个包,启动的时候启动命令指定为server还是agent;cm有一个工作目录,需要

我们来创建;创建一个用户;修改agent的配置,给它指定server的位置;那个端口7182是server和agent通信的端口;

server_host配置为server的名字;

修改文件/opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini中 server_host(三台机器)

  1. 配置CM Server数据库

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

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

mysql -u root -p

use mysql;

grant all 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 CDH1 -utemp -ptemp –scm-host CDH1 scm scm scm

格式:数据库类型、数据库、数据库服务器、用户名、密码、cm server服务器

  1. 创建Parcel目录

创建parcel目录,这些目录是server和agent用来接收和发送数据的目录,server端的parcel-repo这个目录会把所有

的安装文件全部下载到此目录,而agent也需要安装包,parcels就是用来存储指定的安装包的,当然需要有权限能操作

这些目录;

Server节点

– mkdir -p /opt/cloudera/parcel-repo

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

Agent节点

– mkdir -p /opt/cloudera/parcels

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

  1. 制作CDH本地源

下载好文件CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel以及manifest.json,将这两个文件放到server节点的 /opt/cloudera/parcel-repo下。

实际上这个三个文件

打开manifest.json文件,里面是json格式的配置,找到与下载版本相对应的hash码,新建文件,文件名与你的 parel包名一致,并加上.sha后缀,将hash码复制到文件中保存。

  1. 关机做快照。

init 0 || power off

  1. 启动CM Server、Agent

我们的系统需要预留内存;保证自己的系统能够跑起来,关闭所有的安全卫士;保证第一台节点的内存很多,以后可以

在cdh1有很多东西;虚拟机默认都采用单核单线,如果cpu可以,采用双核双线;老师使用的是16g内存,虚拟机在固态

硬盘上面,启动cloudera manager都需要几分钟,如果机器不好,可能需要启动一节课;如果实在不行,就需要单台转载

所有节点的功能;

当我们使用server start 会立马返回一个ok,这个只是表明该命令提交成功而已;毕竟server会在linux和mysql中创建

目录和数据库表,所以第一次启动的时候如果时间很长,千万不要关闭;不然下一次启动的话,依旧会创建这些目录

然后就会冲突;启动成功与否,可以通过一个日志文件来查看;当看到以下命令的时候,说明启动完成:

先确保启动了mysql service mysqld start

全部会话:cd /opt/cloudera-manager/cm-5.4.3/etc/init.d/

CDH1:执行./cloudera-scm-server start

CDH1,2,3执行:./cloudera-scm-agent start

观察启动server的日志

cd /opt/cloudera-manager/cm-5.4.3/log/cloudera-scm-server

tail -f 上面目录下的log的文件

出现如下内容表明启动成功

2017-02-22 19:57:04,638 INFO WebServerImpl:org.mortbay.log: Started SelectChannelConnector@0.0.0.0:7180

2017-02-22 19:57:04,638 INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server.

进入web浏览器进行访问,端口号:7180

至此。CM安装成功。

9.关闭CDH

先关闭浏览器页面的服务。

上下两个一次关闭。

再关闭虚拟机命令行的服务。

搭建CDH集群

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

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

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

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

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

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

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

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

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

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

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

以下利用CM搭建CDH

Jar包存放位置:

/opt/cloudera/parcels/CDH-5.4.0-1.cdh5.4.0.p0.27

查看任务管理器–观察内存使用状况

注:添加新主机需重在新主机上装agent,步骤与上述步骤一样