一、机子分配

注意,本安装教程是在真机上进行,而非虚拟机。另,此次搭建主要的目的是搭建测试环境,让Hadoop各组件能够运作起来即可,完成搭建后,将用小数据量进行相关数据的计算与测试。线上环境将会使用阿里云主机。

以下是四台真机配置:

机子内网IP地址

主机名

内存大小

磁盘大小

CPU

192.168.0.29

bigdata01(主)

8GB

2T

1个物理CPU,4核

192.168.0.133

bigdata02(从)

8GB

500GB

1个物理CPU,2核

192.168.0.135

bigdata03(从)

8GB

500GB

1个物理CPU,2核

192.168.0.115

bigdata04(从)

8GB

500GB

1个物理CPU,2核

根据机子的配置,建议Hadoop的NameNode放在29这台机子上,配置高可用的话,NameNodeStandby放在除29以外任意一台机子均可,DataNode四台机子都要配。其它组件如何放置,后续会说到。

Tips:

在linux系统环境下,查看机子的内存大小命令:cat /proc/meminfo |grep MemTotal

查看机子的硬盘大小:fdisk -l | grep Disk

查看机子的CPU情况:

有两个公式可以记一下:总核数 = 物理CPU个数 * 每颗物理CPU的核数;

总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数

查看物理CPU个数:cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

查看每个物理CPU的核数:cat /proc/cpuinfo| grep "cpu cores"| uniq

查看逻辑CPU的个数:cat /proc/cpuinfo| grep "processor"| wc -l

二、下载相关文件
1、ubuntu系统

http://old-releases.ubuntu.com/releases/16.04.3/ubuntu-16.04.4-server-amd64.iso

关于操作系统的选择,其实区别不大,这种级别的问题,对我这种水平的人,不太能够感知得到,当然会继续努力,去感知操作系统级别的问题。

2、cloudera manager相关下载

先下载好来,然后传到各个节点上去,不然安装过程中下载,速度慢得让你分分钟想砸键盘。

tar包下载:

https://archive.cloudera.com/cm5/cm/5/cloudera-manager-xenial-cm5.15.2_amd64.tar.gz

parcles下载:

http://archive.cloudera.com/cdh5/parcels/5.15.2/CDH-5.15.2-1.cdh5.15.2.p0.3-xenial.parcel

http://archive.cloudera.com/cdh5/parcels/5.15.2/CDH-5.15.2-1.cdh5.15.2.p0.3-xenial.parcel.sha1

http://archive.cloudera.com/cdh5/parcels/5.15.2/manifest.json

下载的tar包,包含了cloudera manager server,cloudera manager daemons,cloudera manager agents。

parcles包则是CM特有的包格式,安装的各个组件就是从parcles里面取出来的。

三、系统环境的设置
1、root用户的设置(四个节点都要)

ubuntu系统在刚安装完成后,root用户默认不被启用,也没有密码,因此需要给root用户设置一个登陆密码,还要设置root用户允许ssh登陆,这样会方便我们进行软件的安装。

给root用户设置密码:sudo passwd root

开启root用户ssh远程登陆权限:sudo vi /etc/ssh/sshd_config,将文件中的PermitRootLogin prohibit-password 改为 PermitRootLogin yes

要使修改的配置生效,需要重启ssh服务:service ssh restart

设置好了之后,登录root用户,后面都是用root用户操作了:su root

2、修改hosts文件(四个节点都要)

命令:vim /etc/hosts

将ip和主机名添加到文件末尾:

注意ip和主机名修改为你自己的。

3、免密登录ssh设置(四个节点都要)

这一步很重要,不然在安装CM的过程中会出错,一定要完成这一步。

首先,在每个节点上分别生成密钥

命令:ssh-keygen -t rsa

一路回车,结束后,在/root/.ssh文件夹中,会有id_rsa,id_rsa.pub两个文件。

每个节点都生成密钥成功后,然后我们把每个节点的id_rsa.pub文件中的内容,集中到一个名为authorized_keys文件中,然后把这个文件分别传送到各节点的.ssh文件夹中,这样我们就可以在任意节点使用ssh命令免密登录到别的节点上去。

最终,.ssh文件夹中,我们可以看到以下几个文件:

试试效果:

可以看到,这里并没有提示要求我们输入密码登录到bigdata02机子上。

4、安装jdk1.8(四个节点都要)

安装包已经下载好了,就在之前已经下载好的cm6.3.0-ubuntu1604.tar.gz这个包里。

将包上传到机子上,之后使用命令:tar -zxvf cm6.3.0-ubuntu1604.tar.gz,解压。

java安装包在路径:/cm6.3.0/pool/contrib/o/oracle-j2sdk1.8

注意这里是一个deb包,我们需要使用dpkg命令进行包的安装。

命令:dpkg -i oracle-j2sdk1.8_1.8.0+update181-1_amd64.deb

默认的安装路径为:/usr/lib/jvm/java-8-oracle-cloudera。

接下来配置jdk的全局环境变量

编辑 /etc/profile文件:vim /etc/profile

在文件末尾加上下面的代码:

export JAVA_HOME=/usr/lib/jvm/java-8-oracle-cloudera

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

加入完成后,要使全局变量生效,使用命令:source /etc/profile

之后,输入:java -version,出现下面的提示,则说明安装成功了:

5、安装ntp(四个节点都要)

安装ntp包的目的是,为了保障各节点的时间能够同步,否则安装CDH过程中,会出现时间不同步的错误。

使用命令:apt-get install ntp 进行安装

使用命令:service ntp start 启动服务

6、安装mysql数据库(主节点需要,其它节点不需要安装)

使用命令安装:apt-get install mysql-server

安装完成后,修改一下配置文件:vim /etc/mysql/mysql.conf/mysqld.cnf

在【mysqld】下,添加:

lower_case_table_names=1

default-time_zone = '+8:00'

skip_ssl

重启mysql:service mysql restart

7、将下载的parcle文件放到主节点的目录下

将parcle文件上传到主节点目录,可以方便后续CM安装parcle,提高安装速度。

8、修改swappniness的值(四个节点都要)

根据cloudera manager的建议,将值设定为10

命令:echo 10 > /proc/sys/vm/swappiness

四、测试配置好的环境
1、测试各节点是否网络通畅

ping bigdata01

ping bigdata02

ping bigdata03

ping bigdata04

2、测试各节点免密登录

ssh bigdata01

ssh bigdata02

ssh bigdata03

ssh bigdata04

都不需要输入密码,直接能够登录上,说明此项配置成功

五、安装Cloudera Manager并启动Server以及Agent
1、文件操作(主节点上操作)

首先解压到/opt/文件夹下:

tar zxvf ~/cloudera-manager-xenial-cm5.15.2_amd64.tar.gz -C /opt/

然后在opt文件夹下,再创建以下几个文件夹:

mkdir /opt/cloudera /opt/cloudera/parcels /opt/cloudera/parcel-repo

剪切过去:

mv ~/CDH-5.15.2-2.cdh5.15.2.p0.3-xenial.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.15.2-1.cdh5.15.2.p0.3-xenial.parcel.sha

剪切过去:

mv ~/CDH-5.15.2-2.cdh5.15.2.p0.3-xenial.parcel /opt/cloudera/parcel-repo/CDH-5.15.2-1.cdh5.15.2.p0.3-xenial.parcel

剪切过去:

mv ~/manifest.json /opt/cloudera/parcel-repo/manifest.json

删除压缩包:

rm -rf ~/cloudera-manager-xenial-cm5.15.2_amd64.tar.gz

2、添加Mysql驱动(主节点上操作)

cp /usr/share/java/mysql-connector-java.jar /opt/cm-5.15.2/share/cmf/lib/mysql-connector-java.jar

3、创建数据库(主节点上操作)

这里创建的数据库,是用来存放各个大数据组件的元数据的。

这里数据库已经配置好了远程root可以登录,因此在windows电脑上,使用Navicate连接数据库。在Navicate里之行下面的数据库创建语句:

CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY '123456';

CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY '123456';

CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY '123456';

CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY '123456';

CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY '123456';

CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY '123456';

CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY '123456';

CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY '123456';

CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY '123456';

4、创建SCM数据库(主节点上操作)

命令:/opt/cm-5.15.2/share/cmf/schema/scm_prepare_database.sh mysql scm scm

5、修改Agent配置(主节点上操作)

命令:vim /opt/cm-5.15.2/etc/cloudera-scm-agent/config.ini

修改server_host=localhost,改为server_host=192.168.0.29

6、复制到从节点(主节点上操作)

将整个Cloudera Manager的文件从主节点复制到其他三个从节点上:

scp -r /opt/cm-5.15.2 bigdata02:/opt/

scp -r /opt/cm-5.15.2 bigdata03:/opt/

scp -r /opt/cm-5.15.2 bigdata04:/opt/

7、创建cloudera-scm用户(四个节点都要)

命令:

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

bigdata01:

bigdata02:

bigdata03:

bigdata04:

我这里之前已经创建过了,所有会提示用户已经存在。

8、更改文件夹所属用户和用户组(四个节点都要)

命令:

mkdir /opt/cloudera /opt/cloudera/parcels /opt/cloudera/parcel-repo

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

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

chown -R cloudera-scm:cloudera-scm /opt/cm-5.15.2

更改前:

更改后:

9、启动Cloudera Manager Server(主节点)和Agent(四个节点都要)

在bigdata01节点上输入命令:

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

在bigdata02、bigdata03、bigdata04上输入命令:

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

六、进入图形化界面安装CM和CDH
1、访问CM的图形化界面管理页面

当启动cloudera-scm-server成功后,等待几分钟之后,访问主节点的7180端口,就可以进入到图形化安装界面。刚开始启动完成之后,不能立马访问,因为程序还在数据库创建响应的表:

创建完成后,scm数据库中会有47张表格,之后再访问7180端口,就能看到登录页面了。

初始登录的账号密码为:admin admin

2、安装过程可能会出现的问题

Ubuntu安装Cloudera Manager以及CDH5.15.2的更多相关文章

  1. 通过Cloudera Manager部署CDH5.15.1的webUI界面详解

    通过Cloudera Manager部署CDH5.15.1的webUI界面详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客CDH的部署完全通过Cloudera Mana ...

  2. 离线安装Cloudera Manager 5和CDH5(最新版5.1.3) 完全教程

    关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloud ...

  3. 离线安装 Cloudera Manager 5 和 CDH5.10

    关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloud ...

  4. Cloudera Manager和CDH5.8离线安装

    https://blog.csdn.net/zzq900503/article/details/52982828 简介 我们在上篇文章中已经了解了CDH,为了后续的学习,我们本章就来安装CDH5.8. ...

  5. [转]Cloudera Manager和CDH5.8离线安装

    https://blog.csdn.net/zzq900503/article/details/52982828 https://www.cnblogs.com/felixzh/p/9082344.h ...

  6. 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(六)CM的安装

    一.角色分配 Cloudera Manager Agent:向server端报告当前机器服务状态. Cloudera Manager Server:接受agent角色报告服务状态,以视图界面展现,方便 ...

  7. 离线安装Cloudera Manager 5和CDH5

    关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Cloudera 完全开源的Hadoop  ...

  8. hadoop基础----hadoop实战(七)-----hadoop管理工具---使用Cloudera Manager安装Hadoop---Cloudera Manager和CDH5.8离线安装

    hadoop基础----hadoop实战(六)-----hadoop管理工具---Cloudera Manager---CDH介绍 简介 我们在上篇文章中已经了解了CDH,为了后续的学习,我们本章就来 ...

  9. CDH构建大数据平台-使用自建的镜像地址安装Cloudera Manager

    CDH构建大数据平台-使用自建的镜像地址安装Cloudera Manager 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   一.搭建CM私有仓库 详情请参考我的笔记: http ...

随机推荐

  1. CSS 3中-webkit-, -moz-, -o-, -ms-这些私有前缀的含义和兼容

    css3作为页面样式的表现语言,增加了很多新的属性,但是部分css3属性在一些浏览器上还处于试验阶段,所以为了有效的显示css3的样式,对应不同的浏览器内核需要不同的前缀声明,例如: -moz- :F ...

  2. 逻辑式编程语言极简实现(使用C#) - 4. 代码实现(完结)

    本文是本系列的完结篇.本系列前面的文章: 逻辑式编程语言极简实现(使用C#) - 1. 逻辑式编程语言介绍 逻辑式编程语言极简实现(使用C#) - 2. 一道逻辑题:谁是凶手 逻辑式编程语言极简实现( ...

  3. 关于ganymed-ssh2版本262和build210的SCPClient类的区别

    ganymed-ssh2是通过java使用ssh连接服务器的工具库,先上两个版本的pom文件配置: <!--ssh连接linux--> <!-- https://mvnreposit ...

  4. day22 作业

    1 统计文件夹大小 def get_filesize(file_path): count = 0 res=None files_sum = os.listdir(file_path) for file ...

  5. day13 作业

    目录 1.编写文件修改功能,调用函数时,传入三个参数(修改的文件路径,要修改的内容,修改后的内容)既可完成文件的修改 2.编写tail工具 3.编写登录功能 4.编写注册功能 选做题:编写ATM程序实 ...

  6. Let's GO(二)

    人生苦短,Let's GO Let's GO(一) Let's GO(二) Let's GO(三) Let's GO(四) 今天我学了什么? 1. Map map:映射,使用散列表(hash)实现 m ...

  7. 安装visual stdio 2017后依然报错:Unable to find vcvarsall.bat

    安装visual stdio 2017后依然报错:Unable to find vcvarsall.bat 解决办法:更新setuptools 原文章:https://blog.csdn.net/wl ...

  8. SQLAlchemy04 /SQLAlchemy查询高级

    SQLAlchemy04 /SQLAlchemy查询高级 目录 SQLAlchemy04 /SQLAlchemy查询高级 1.排序 2.limit.offset和切片操作 3.懒加载 4.group_ ...

  9. Nslookup命令的使用 - [详细]

    用法一.查询IP地址 nslookup最简单的用法就是查询域名对应的IP地址,包括A记录和CNAME记录,如果查到的是CNAME记录还会返回别名记录的设置情况.其用法是: nslookup 域名 # ...

  10. bzoj2296【POJ Challenge】随机种子*

    bzoj2296[POJ Challenge]随机种子 题意: 求一个≤10^16的数,使这个数包含123456789且为x的倍数.x≤1000000. 题解: 16-6刚好等于10.因此我们可以直接 ...