因为项目开发需要要在本地组建一个Hadoop/Spark集群,除了Hadoop/Spark还要同时安装多个相关的组件,如果一个个组件安装配置,对于一个由多台服务器组成的集群来说,工作量是巨大的。

所以需要借助Cloudera来安装,因为它本身集成了丰富的数据分析处理相关的组件和管理工具,而且还能帮助简化集群安装和配置。

Cloudera提供多种安装方式,但公司IT政策不允许本地集群接入互联网,所以我们只能选择离线安装这种方式。

 

安装前准备

主机和系统

Host OS Memory IP

HadoopMaster

Cent OS 6.4 x64

16G

192.168.1.10

HadoopSlave1

Cent OS 6.4 x64

16G

192.168.1.11

HadoopSlave2

Cent OS 6.4 x64

8G

192.168.1.12

安装包下载

可以自行到下面列出的文件目录里去找最新版本或直接点文件链接下载5.7.1的parcel和sha文件

注意:这里我们用的是Cent OS 6.4所以下载的时候要选择带el6标记的文件

Cloudera Manager: 

文件目录:http://archive.cloudera.com/cm5/cm/5/

Cloudera Manager5.7.1:http://archive.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.7.1_x86_64.tar.gz

CDH: 

文件目录:http://archive.cloudera.com/cdh5/parcels/5/

CHD5.7.1 parcel: http://archive.cloudera.com/cdh5/parcels/5.7/CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel

CHD5.7.1 sha: http://archive.cloudera.com/cdh5/parcels/5.7/CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel.sha1

Kafka: 

文件目录:http://archive.cloudera.com/kafka/parcels/2.0.1/

Kafka1.2.0.1 parcel: http://archive.cloudera.com/kafka/parcels/2.0.1/KAFKA-2.0.1-1.2.0.1.p0.5-el6.parcel

Kafka1.2.0.1 sha: http://archive.cloudera.com/kafka/parcels/2.0.1/KAFKA-2.0.1-1.2.0.1.p0.5-el6.parcel.sha1

 

系统和环境配置

更改主机名

打开网络配置

sudo vim /etc/sysconfig/network

如下方式更改主机名,把集群中的机器主机名分别改为HadoopMaster/HadoopSlave1/HadoopSlave2

NETWORKING=yes
HOSTNAME=HadoopMaster

重启网络

sudo service network restart

配置hosts文件

打开hosts文件

sudo vim /etc/hosts

改为如下配置

192.168.1.10   HadoopMaster
192.168.1.11   HadoopSlave1
192.168.1.12   HadoopSlave2

主机之间SSH免密码登录配置

生成SSH密钥

所有机器上执行下面命令,一路回车,可生成本机的rsa类型的密钥。

ssh-keygen -t rsa

执行完之后在~/.ssh/目录下会生成一个保存有公钥的文件:id_rsa.pub

所有机器执行下面命令把自己的公钥拷贝到Master机

ssh-copy-id hadoop@HadoopMaster

把HadoopMaster的authorized_keys拷贝到HadoopSlave1和HadoopSlave2

scp ~/.ssh/authorized_keys hadoop@HadoopSlave1:~/.ssh/
scp ~/.ssh/authorized_keys hadoop@HadoopSlave2:~/.ssh/

详细步骤请参考:http://www.cnblogs.com/keitsi/p/5653520.html

所有机器安装Java 8

  • 旧版本卸载

#查看安装的Java
rpm -qa | grep java

#卸载相应的Java包
rpm -e --nodeps Java包名
  • 安装包下载

打开下面链接下载相关的rpm包

http://www.oracle.com/technetwork/java/javase/downloads/index.html

  • 安装

sudo rpm -ivh jdk-8u91-linux-x64.rpm
  •  写入全局的环境变量
sudo echo "JAVA_HOME=/usr/java/latest/" >> /etc/environment

Master机安装配置MySQL

  • 安装MySQL
sudo yum install mysql-server
  • 设置开机启动
sudo chkconfig mysqld on
  • 启动MySQL service
sudo service mysqld start
  • 设置root用户密码
sudo mysqladmin -u root password 'xxxx'

关闭所有机器的防火墙和SELinux

如果一个个配置端口的话会比较麻烦,所以在安装过程中就把防火墙关闭,可以在安装完成后再根据需求配置

  • 关闭防火墙

临时关闭

sudo service iptables stop

如果要永久关闭,可以修改配置:

sudo chkconfig iptables off
  • 关闭SELinux

临时关闭

sudo setenforce 0

如果要永久关闭,可以修改配置:

sudo vim /etc/selinux/config

设置SELINUX=disabled

 

安装配置NTP(可跳过)

NTP用于同步各个服务器的时间,因为如果服务器之间的时间相差太大的话会导致集群报警或一些服务down掉。

如果集群可连接外网并可以连接到时间服务器的话,可以自己在网上搜索安装教程。

但是这里是内网的测试环境没有办法连接到同步服务器,所以只能自己手机控制时间了!

 

Cloudera Manager安装

文件上传

把cloudera-manager-el6-cm5.7.1_x86_64.tar上传到Master机并拷贝到所有的Slave机子上

scp cloudera-manager-el6-cm5.7.1_x86_64.tar.gz hadoop@HadoopSlave1:~
scp cloudera-manager-el6-cm5.7.1_x86_64.tar.gz hadoop@HadoopSlave2:~

解压文件

所有机器执行下面命令,把cm的压缩文件解压到/opt/

sudo tar xzvf cloudera-manager-el6-cm5.7.1_x86_64.tar.gz -C /opt/

Agent配置

所有机器上配置Master机的主机名

sudo vim /opt/cm-5.7.1/etc/cloudera-scm-agent/config.ini

把server_host设置成Master机的主机名

server_host=HadoopMaster

新建用户cloudera-scm

所有机器新建cloudera-scm用户,注意把--home设置为对应的路径:

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

为Cloudera Manager建立数据库

下载MySQL驱动:http://dev.mysql.com/downloads/connector/j/

解压把驱动的jar文件上传到/opt/cm-5.7.1/share/cmf/lib

初始化数据cloudera库

sudo /opt/cm-5.7.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -pmysql@Hadoop0 --scm-host localhost scm mysql@Hadoop:scm:88

mysql@Hadoop0为root用户的密码

mysql@Hadoop:scm:88为给新建的scm用户设定的密码,因为MySQL 5.6以后密码规则比较,所以密码尽量设置复杂点(包含大写,小写,特殊字符并长度大于10)。

Master机上启动Cloudera Manager  Server

sudo /opt/cm-5.7.1/etc/init.d/cloudera-scm-server start

所有机器上启动Cloudera Manager Agent

sudo /opt/cm-5.7.1/etc/init.d/cloudera-scm-agent start

打开Cloudera Manager主页

http://192.168.1.10:7180/

第一次启动比较慢,可能需要等待几分钟才可以打得开cloudera manager主页。

 CentOS 6.4 离线安装 Cloudera 5.7.1 CDH 5.7.1

登录Cloudera Manager

默认用户名密码都是admin,第一次登录成功之后先进入到cloudera manager的安装引导界面:

CentOS 6.4 离线安装 Cloudera 5.7.1 CDH 5.7.1

 

CDH安装

CDH文件上传

重命名sha文件(这一步很重要,如果跳过,会出现找不到哈希文件的错误,而导致加载parcel失败)

把下载好的CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel.sha1 和 KAFKA-2.0.1-1.2.0.1.p0.5-el6.parcel.sha1重命名为

CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel.sha  和 KAFKA-2.0.1-1.2.0.1.p0.5-el6.parcel.sha

把CDH和KAFKA的parcel和sha文件上传到Master机 的 /opt/cloudera/parcel-repo/目录

CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel
CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel.sha
KAFKA-2.0.1-1.2.0.1.p0.5-el6.parcel
KAFKA-2.0.1-1.2.0.1.p0.5-el6.parcel.sha

 选择cloudera manager的版本

CentOS 6.4 离线安装 Cloudera 5.7.1 CDH 5.7.1

选择要安装CDH的主机

所有正常启动agent的机器都会显示在这个页面

CentOS 6.4 离线安装 Cloudera 5.7.1 CDH 5.7.1

选择要安装的Parcels

CentOS 6.4 离线安装 Cloudera 5.7.1 CDH 5.7.1

安装Parcel

CentOS 6.4 离线安装 Cloudera 5.7.1 CDH 5.7.1

选择要安装的服务

如下图所示,有多种服务组合供选择(服务是随时可以根据需求增删的),我这里根据项目需求选择自定义服务。

CentOS 6.4 离线安装 Cloudera 5.7.1 CDH 5.7.1

集群设置

一般按默认设置就可以了,也可以根据自己的需求定制。

CentOS 6.4 离线安装 Cloudera 5.7.1 CDH 5.7.1

点击继续安装,在安装的过程中可能会有一些服务的配置需要设置,一般按默认配置就可以了。

CentOS 6.4 离线安装 Cloudera 5.7.1 CDH 5.7.1

完成安装

CentOS 6.4 离线安装 Cloudera 5.7.1 CDH 5.7.1

 

至此,Cloudear Manger/CDH的安装已经完成,你可以在Cloudear Manger管理界面上对集群进行更细化的定制。

 

转载请注明出处:http://www.cnblogs.com/keitsi/p/cloudera_install.html

相关文章: