Cloudera Manager安装_搭建CDH集群

时间:2021-05-26 12:56:56
2017年2月22日, 星期三

Cloudera Manager安装_搭建CDH集群

cpu   内存16G 内存12G 内存8G
默认单核单线 CDH1_node9 Server  || Agent 10G 6G 5G
CDH2_node10 Agent 2G 1-1.5G 1G
CDH3_node11 Agent 2G 1-1.5G 1G

1.  系统环境准备

1、网络配置 

vi /etc/sysconfig/network

vi /etc/hosts

2、SSH免密钥登录

  1. 虚拟机的环境准备非常重要:免密钥的master需要和slave免密钥;那么cloudera manager的server需要和agent免密钥;
  2. 那么具体的软件比如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=$JAVA_HOME/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. 下载第三方依赖包

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

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

2. CM安装

1. 安装Cloudera Manager Server、Agent

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

mkdir /opt/cloudera-manager

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

2. 创建用户cloudera-scm

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

3. 配置CM Agent

  1. cm的安装包的server和agent都是同一个包,启动的时候启动命令指定为server还是agent;cm有一个工作目录,需要
  2. 我们来创建;创建一个用户;修改agent的配置,给它指定server的位置;那个端口7182是server和agent通信的端口;
  3. server_host配置为server的名字;

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

4. 配置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;

Cloudera Manager安装_搭建CDH集群

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服务器

Cloudera Manager安装_搭建CDH集群

5. 创建Parcel目录

  1. 创建parcel目录,这些目录是server和agent用来接收和发送数据的目录,server端的parcel-repo这个目录会把所有
  2. 的安装文件全部下载到此目录,而agent也需要安装包,parcels就是用来存储指定的安装包的,当然需要有权限能操作
  3. 这些目录;

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

Cloudera Manager安装_搭建CDH集群

6. 制作CDH本地源

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

实际上这个三个文件

Cloudera Manager安装_搭建CDH集群

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

7. 关机做快照。

    init 0 || power off

8. 启动CM Server、Agent

  1. 我们的系统需要预留内存;保证自己的系统能够跑起来,关闭所有的安全卫士;保证第一台节点的内存很多,以后可以
  2. 在cdh1有很多东西;虚拟机默认都采用单核单线,如果cpu可以,采用双核双线;老师使用的是16g内存,虚拟机在固态
  3. 硬盘上面,启动cloudera manager都需要几分钟,如果机器不好,可能需要启动一节课;如果实在不行,就需要单台转载
  4. 所有节点的功能;
  1. 当我们使用server start 会立马返回一个ok,这个只是表明该命令提交成功而已;毕竟server会在linux和mysql中创建
  2. 目录和数据库表,所以第一次启动的时候如果时间很长,千万不要关闭;不然下一次启动的话,依旧会创建这些目录
  3. 然后就会冲突;启动成功与否,可以通过一个日志文件来查看;当看到以下命令的时候,说明启动完成:

先确保启动了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.

Cloudera Manager安装_搭建CDH集群

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

Cloudera Manager安装_搭建CDH集群

Cloudera Manager安装_搭建CDH集群

至此。CM安装成功。

 

p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: 等线; font-size: 10.5000pt }
h2 { margin-top: 13.0000pt; margin-bottom: 13.0000pt; page-break-after: avoid; text-align: justify; line-height: 173%; font-family: "等线 Light"; font-weight: bold; font-size: 16.0000pt }
span.msoIns { text-decoration: underline; color: blue }
span.msoDel { text-decoration: line-through; color: red }
div.Section0 { }

9.关闭CDH

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

上下两个一次关闭。

 

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

Cloudera Manager安装_搭建CDH集群 

Cloudera Manager安装_搭建CDH集群 

 

Cloudera Manager安装_搭建CDH集群 

搭建CDH集群

通过CM把CDH集群部署起来,部署的方式有四种:cm,yum,rpm,tarball,其中我们采用的是离线cdh
  1. 下面所有的操作都是在web界面上操作的;9个步骤,
  2. 如果不小心点击了外网的版本,那么就会从外网下载,这个时候点击返回,依旧会下载,那么唯一的解决办法
  3. 就是停掉server,进去之后会出现已下载,也就是我们早就下载好到了parcels-repo,当然会是100%;然后第二
  4. 个步骤是分配,就是把parcels-repo里面的软件分发到agent的parcel目录去;
  5. cloudera建议我们的/proc/sys/vm/swappiness交换内存为0,将这个文件设置为0即可;当然这样修改只是本次开机
  6. 下次开机依旧不会改成这样;可以改另一个文件;
  7. 我们后面看到的图表,监控都是来自于CM service;从最开始那个ppt图上面可以看到
  8. 在使用cm配置cdh的时候,默认是没有给我们做高可用,虽然我们使用的是cm版本五,使用的hadoop是2.x,但是
  9. 还是会有snn,只有在做了高可用之后snn才会消失;当我们只在cm上面安装hadoop的时候,有一个步骤,数据库检测
  10. ,由于安装hadoop不需要数据库,所以会一闪而过;

以下利用CM搭建CDH

Cloudera Manager安装_搭建CDH集群

Cloudera Manager安装_搭建CDH集群

Cloudera Manager安装_搭建CDH集群

Cloudera Manager安装_搭建CDH集群

Cloudera Manager安装_搭建CDH集群

Cloudera Manager安装_搭建CDH集群

Cloudera Manager安装_搭建CDH集群

Cloudera Manager安装_搭建CDH集群

Cloudera Manager安装_搭建CDH集群

Jar包存放位置:

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

Cloudera Manager安装_搭建CDH集群

Cloudera Manager安装_搭建CDH集群
查看任务管理器--观察内存使用状况
Cloudera Manager安装_搭建CDH集群

p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: 等线; font-size: 10.5000pt }
h1 { margin-top: 17.0000pt; margin-bottom: 16.5000pt; page-break-after: avoid; text-align: justify; line-height: 240%; font-family: 等线; font-weight: bold; font-size: 22.0000pt }
h2 { margin-top: 13.0000pt; margin-bottom: 13.0000pt; page-break-after: avoid; text-align: justify; line-height: 173%; font-family: "等线 Light"; font-weight: bold; font-size: 16.0000pt }
span.10 { font-family: 等线 }
span.15 { font-family: "等线 Light"; font-weight: bold; font-size: 16.0000pt }
p.16 { margin: 0pt; margin-bottom: .0001pt; text-indent: 21.0000pt; text-align: justify; font-family: 等线; font-size: 10.5000pt }
span.msoIns { text-decoration: underline; color: blue }
span.msoDel { text-decoration: line-through; color: red }
table.MsoNormalTable { font-family: "Times New Roman"; font-size: 10.0000pt }
table.MsoTableGrid { font-family: "Times New Roman"; font-size: 10.0000pt }
div.Section0 { }