CDH大数据平台搭建终极版

经过无数次的失败,终于将CDH安装到两台普通的笔记本电脑上,主要失败原因有以下几点:

不熟悉安装过程,官方给出的安装方法有三种,所以都尝试了一遍,浪费了大量时间,所以有时候方法多不见得是一件好事。

安装设备太差,有时会因为占用内存或者CPU占用过高而死机。

安装网络环境太差,导致传输过程可能出现超时失败现象。

安装时间过久,导致出错后重新再来时间付出太多。

以下讲的方法不是最优的方法,但是是我们最后的方法,可供参考。

1.搭建环境

两台笔记本电脑A和B,自带内存分别为12G和8G,安装VMware 12。

A开一个虚拟机,2*CPU,8G内存,使用桥接网卡模式,安装CentOS6.5,充当主机Master。

B开两个虚拟机,1*CPU,2G内存,使用桥接网卡模式,安装CentOS6.5,充当分机Slave1,Slave2。

两台电脑通过网线连接到学校内网,使用内网网络环境搭建,三台虚拟机的root密码必须一致。

2.安装前的准备

首先先下载以下安装包

cloudera-manager-el6-cm5.8.0_x86_64.tar.gz (Cloudera Manager 安装包,el6代表使用的CentOs6.x,cm-5.8.0代表使用的Cloudera Manager版本为5.8.0)

CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel (CDH离线资源包)

CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1

manifest.json

cm5.8.0-centos6.tar.gz (里面有一些必要的环境)

mysql-connector-java-5.1.6-bin.jar (JDBC)

下载路径分别为

注意:不要图方便少下什么,或者少安装什么,尤其是JDK一定要安装官方的,要不会导致后面Spark配制出错,这个地方我们起码失败了5、6次,一定要全部下下来,重来的代价会更高

3.安装前的配置

首先进入root权限:输入su,再输入密码即可

3.1.配置主机名

分别修改各节点/etc/sysconfic/network文件,设置主机名为Master,Slave1,Slave2。

找到HOSTNAME可进行修改,名字以方便识别主节点和分节点为标准。

修改完后执行service network restart重启服务。

使用hostname进行验证。

如果没有生效,那就重启虚拟机。

3.2.关闭防火墙

执行命令:service iptables stop

再执行:chkconfig iptables off

使用chkconfig --list|grep iptables检查是否全关

如果为iptables 0:off  1:off 2:off  3:off  4:off 5:off  6:off则说明关完了

3.3.绑定ip与主机名

先查看ifconfig三台虚拟机的ip。

分别在三台虚拟机上打开并更改hosts

vi /etc/hosts

输入如下

192.168.30.21 Master 192.168.30.22 Slave1 192.168.30.23 Slave2

配置完后,3台虚拟机互ping ip和主机名,验证是否配置成功。

3.4.配置ssh免密码登录(默认已安装ssh)

在Master中使用ssh-keygen -t rsa生成秘钥,一路回车.

cd ~/.ssh找到id_rsa.pub,将其写入到authorized_keys中.

输入cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys.

输入ssh Master看看是否已经免秘钥,第一次可能要输密码和输一个yes.

成功后同理在其他两台机子上输入ssh-keygen -t rsa生成秘钥。

将生成的秘钥如果是图形化的界面直接粘贴到Master的authorized_keys中,再由Master使用scp分发给其他两台主机。

如果不是图形化,那就用putty,xshell等等登录虚拟机粘贴,如果没有,那就用scp传。

使用scp将authorized_keys传给slave1和slave2,输入scp ~/.ssh/authorized_keys root@slave1:~/.ssh把slave1改为slave2及传给2。

互相使用ssh hostname登录对方看看是否免秘钥,不行检查authorized_keys是否正确。

3.5.关闭SELINUX setenforce 0 #临时生效 或 修改/etc/selinux/config 文件的 SELINUX=disabled #重启生效 3.6.安装Mysql(master节点)

首先使用rpm -qa|grep -i mysql检查是否安装了Mysql,如果有

使用rpm -e 包名删除Mysql包。

然后下载MySQL包

我使用的是MySQL-5.5.49-1.linux2.6.x86_64.rpm-bundle.tar这个文件,解压它得到

MySQL-client-5.5.49-1.linux2.6.x86_64.rpm MySQL-devel-5.5.49-1.linux2.6.x86_64.rpm MySQL-embedded-5.5.49-1.linux2.6.x86_64.rpm MySQL-server-5.5.49-1.linux2.6.x86_64.rpm MySQL-shared-5.5.49-1.linux2.6.x86_64.rpm MySQL-shared-compat-5.5.49-1.linux2.6.x86_64.rpm MySQL-test-5.5.49-1.linux2.6.x86_64.rpm

使用rpm -ivh MySQL*全部安装,一个都不能少,要不可能会导致后面报错!

然后使用/usr/bin/mysql_secure_installation 改mysql密码。

输入mysql -u root -p进入mysql。

首先创建用户

CREATE USER 'hive'@'%' IDENTIFIED BY 'hive'; CREATE USER 'hue'@'%' IDENTIFIED BY 'hue'; CREATE USER 'oozie'@'%' IDENTIFIED BY 'oozie';

在创建数据库

CREATE DATABASE hive; CREATE DATABASE hue; CREATE DATABASE oozie;

最后赋予各个用户权限

GRANT ALL ON hive.* TO 'hive'@'%' GRANT ALL ON hue.* TO 'hue'@'%' GRANT ALL ON oozie.* TO 'oozie'@'%' 3.7.安装JDK

解压cm5.8.0-centos6.tar.gz后打开里面的rpm文件夹,里面应该有一个JDK 1.6和一个 Oracle JDK ,两个都要安装上。然后输入java -version应该可以看到

java version "1.6.0_31" Java(TM) SE Runtime Environment (build 1.6.0_31-b04) Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode) 3.8.配置NTP服务(所有节点)

安装NTP服务,使用yum install ntp安装

修改ntp配置vi /etc/ntp.conf

Master设置server 210.72.145.44     #这是中国国家授时中心的IP

Slave1~2设置server master

设置开机时自动运行时间服务
chkconfig ntpd on
启动或停止时间服务

service ntpd start service ntpd stop service ntpd restart

查看ntp服务状态watch ntpq -p

4.安装Cloudera Manager Server和Agent 4.1.创建cloudera-manager文件夹(1~7步在三个节点都要进行)

mkdir /opt/cloudera-manager

4.2.在master节点解压安装包至/opt/cloudera-manager默认目录

tar -zxvf cloudera-manager-el6-cm5.8.0x8664.tar.gz -C /opt/cloudera-manager

4.3.创建用户

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwzpgs.html