Ubuntu安装Cloudera Manager以及CDH5.15.2

一、机子分配

注意,本安装教程是在真机上进行,而非虚拟机。另,此次搭建主要的目的是搭建测试环境,让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

Ubuntu安装Cloudera Manager以及CDH5.15.2

 

查看机子的CPU情况:

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

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

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

Ubuntu安装Cloudera Manager以及CDH5.15.2

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

Ubuntu安装Cloudera Manager以及CDH5.15.2

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

Ubuntu安装Cloudera Manager以及CDH5.15.2

 

二、下载相关文件
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和主机名添加到文件末尾:

Ubuntu安装Cloudera Manager以及CDH5.15.2

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

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

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

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

命令:ssh-keygen -t rsa

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

 

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

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

Ubuntu安装Cloudera Manager以及CDH5.15.2

试试效果:

Ubuntu安装Cloudera Manager以及CDH5.15.2

可以看到,这里并没有提示要求我们输入密码登录到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,出现下面的提示,则说明安装成功了:

Ubuntu安装Cloudera Manager以及CDH5.15.2

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

Ubuntu安装Cloudera Manager以及CDH5.15.2

在【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‘;

 

Ubuntu安装Cloudera Manager以及CDH5.15.2

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

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

Ubuntu安装Cloudera Manager以及CDH5.15.2

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:

Ubuntu安装Cloudera Manager以及CDH5.15.2

bigdata02:

Ubuntu安装Cloudera Manager以及CDH5.15.2

bigdata03:

Ubuntu安装Cloudera Manager以及CDH5.15.2

bigdata04:

Ubuntu安装Cloudera Manager以及CDH5.15.2

 

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

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

更改前:

Ubuntu安装Cloudera Manager以及CDH5.15.2

更改后:

Ubuntu安装Cloudera Manager以及CDH5.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端口,就可以进入到图形化安装界面。刚开始启动完成之后,不能立马访问,因为程序还在数据库创建响应的表:

Ubuntu安装Cloudera Manager以及CDH5.15.2

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

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

Ubuntu安装Cloudera Manager以及CDH5.15.22、安装过程可能会出现的问题 Ubuntu安装Cloudera Manager以及CDH5.15.2

 

 

Ubuntu安装Cloudera Manager以及CDH5.15.2

上一篇:PHP操作数据库


下一篇:java连接sql server 2008的问题(jdbc驱动的方法)