离线搭建CDH5.16.1大数据平台

市场上免费大数据框架主要有三个版本,原生的Apache版本,Cloudera公司研发的(Cloudera Distribution Hadoop,简称“CDH”)CDH版本(最新6.1),也是市场上使用最多的,Hortonworks版本(Hortonworks Data Platform,简称“HDP”)


Cloudera Manager相关介绍
cloudera公司开源大数据框架
管理集群的
使用CM可以对大数据的各个框架进行智能的安装、部署及集群的资源、服务的监控

CDH版本的大数据框架支持多种安装方式(Cloudera Manager方式)

yum  在线安装   
rpm  离线安装  
tar   离线安装   
CM安装(只能安装CDH版本的大数据框架)  	

CM技术架构

cm-cloudera managerment 下载地址https://www.cloudera.com/downloads/manager/5-16-1.html
cm-5.16.1 对应安装cdh5.16.1版本   下载地址http://archive.cloudera.com/cdh5/parcels/latest/

Database

存储整个集群的配置与监控信息
hive、hue、cm等组件需要用到

软件环境要求

Linux Centos7.5 
jdk1.8
scala-2.11
数据库
	mysql 
		5.5  不支持impala的安装  
		5.6  -- 选择
		5.7 --密码不能设置太简单。。。  

网络配置

ip 
主机名 : mf01~mf06	
ipv6禁用  
关闭防火墙并设置为开机不启动 
禁用selinux  

主机清单

ip 内存
192.168.199.190 14g
192.168.199.191 14g
192.168.199.192 10g
192.168.199.193 10g
192.168.199.194 10g
192.168.199.195 10g

一、环境准备

# free -h  查看内存空间 
# df -h   查看磁盘空间
# cat /proc/cpuinfo | grep "processor" |wc -l    总核数   

1、配置ip地址、主机名及ip地址与主机名之间的映射 (所有服务器)

修改主机名
# vim  /etc/hostname
	mf01   //主机名不能出现空格或回车符
		
重启生效 
配置ip地址与主机名之间的映射
#  vim /etc/hosts

192.168.199.190 mf01
192.168.199.191 mf02
192.168.199.192 mf03
192.168.199.193 mf04
192.168.199.194 mf05
192.168.199.195 mf06

配置windows本地映射
	C:\Windows\System32\drivers\etc  

192.168.199.190 mf01
192.168.199.191 mf02
192.168.199.192 mf03
192.168.199.193 mf04
192.168.199.194 mf05
192.168.199.195 mf06

待虚拟机重启后验证
	# hostname
	# ping mf01  

2、禁用ipv6 (所有服务器)

编辑文件/etc/sysctl.conf,
#vim /etc/sysctl.conf
添加下面的行:
net.ipv6.conf.all.disable_ipv6 =1
net.ipv6.conf.default.disable_ipv6 =1
如果你想要为特定的网卡禁止IPv6,比如,对于enp0s3,添加下面的行。
net.ipv6.conf.enp0s3.disable_ipv6 =1
离线搭建CDH5.16.1大数据平台_第1张图片
保存并退出文件。
执行下面的命令来使设置生效。
#sysctl -p
验证:
#ip a
如果没有出现inet6相关信息则表示ipv6已经禁用成功

3、关闭防火墙及禁用selinux安全机制 (所有服务器)

#systemctl stop firewalld 关闭
#systemctl disable firewalld 开机禁用
#systemctl status firewalld 查看状态
在这里插入图片描述

4、ssh免秘钥登陆 (所有服务器)

希望集群中任意两台服务器都可以免秘钥登陆
免秘钥登陆是针对某台服务器的上的某个用户

# ssh-keygen  一直按enter到结束,产生公钥和私钥 

# ssh-copy-id mf01
……
# ssh-copy-id mf06


验证: 
	# ssh mf01
	# exit   验证后要退出  

5、JDK安装 (所有服务器)

6、配置集群的时间服务器

首先安装ntp
#yum install ntp
安装完毕之后,启动服务
#systemctl start ntpd.service
设置开机自启动
#systemctl enable ntpd.service

在集群中选择一台服务器作为集群的时间服务器
mf01
修改mf01的配置文件
#vim /etc/ntp.conf
restrict 192.168.0.0 mask 255.255.255.0
设置后,重启ntpd服务,用ntpstat来检查效果【大概几秒钟就可以看到效果】
#systemctl restart ntpd
#ntpstat

其他服务器配置
修改/etc/ntp.conf文件,注释掉外网时间服务器,添加本地服务器即可
#vim /etc/ntp.conf

server 192.168.199.190    #添加此行
#server 0.centos.pool.ntp.org iburst           #以下四行注释掉
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

修改集群时间服务器的硬件时钟时间

# hwclock --localtime   服务器的硬件时钟时间  
	# hwclock --localtime -w   将系统时间写给硬件时钟时间  
	```
设置硬件时钟时间与系统时间自动同步,系统关机时则把内存的系统时间写入并修改硬件时间,重启时系统时间会与硬件时间进行同步,从而保证系统时间是正确的
		
	#SYNC_HWCLOCK=yes
	# vi /etc/sysconfig/ntpd 
		SYNC_HWCLOCK=yes  

设置后,重启ntpd服务,用ntpstat来检查效果【大概需要等十五分钟,看到效果】

#systemctl restart ntpd
#ntpstat

7、修改用户最大可使用服务器资源限制 (所有服务器)

# vim /etc/security/limits.conf 	
	
添加以下信息:	

           soft    ofile          32728
           hard    nofile          1024567
           soft    nproc           65535
           hard    nproc           unlimited
           soft    memlock         unlimited
           hard    memlock         unlimited
		

# scp /etc/security/limits.conf mf02:/etc/security/  依次拷贝集群其他节点
		
重启生效 
验证: 
	# ulimit -a

二、mysql的安装

选择mf01安装mysql 

卸载系统自带	
# rpm -qa |grep mysql
		

使用yum方式安装mysql 
修改mysql的镜像源 
 #cd	/etc/yum.repos.d  yum源仓库 
# rpm -Uvh mysql57-community-release-el7-8.noarch.rpm 
/etc/yum.repos.d目录下出现两个mysql相关yum源配置文件
	 mysql-community.repo
	 mysql-community-source.repo
修改mysql的yum源配置文件 
	# vi  mysql-community.repo
		[mysql56-community]
			enabled=1
		[mysql57-community]
			enabled=0
	# vi  mysql-community-source.repo
		[mysql56-community-source]
			enabled=1
		[mysql-tools-preview-source]
			enabled=1
更新yum源缓存
	# yum makecache 

查看基于当前yum仓库可以安装的mysql相关软件
	# yum repolist enabled  | grep mysql 	
安装mysql5.6社区版本
	# yum -y install mysql-community-server
	Complete!
#service mysqld  status  
#service mysqld  start 
#mysql_secure_installation   初始化设置

Set root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n
 ... skipping.

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] n
 ... skipping.

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!


All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!


Cleaning up...	

三、cloudera managerment的安装部署

1、CM解压安装

安装CM所需要的第三方依赖包 (所有服务器)

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

**在server节点上创建目录并将CM安装包解压到该目录下 **

# mkdir -p /opt/cloudera-manager

上传CM安装包到linux上 

# tar -zxvf cloudera-manager-el7-cm5.16.1_x86_64.tar.gz -C /opt/cloudera-manager/ 

修改CM的配置文件 
	#cd /opt/cloudera-manager/cm-5.16.1/etc/cloudera-scm-agent
	# vi config.ini	
		# Hostname of the CM server. 声明CM server的通讯地址
		server_host=mf01
		# Port that the CM server is listening on.
		server_port=7182
依次将CM的安装目录拷贝给集群其他节点 
	# scp -r /opt/cloudera-manager/ mf02:/opt/
	……
	# scp -r /opt/cloudera-manager/ mf06:/opt/

2、为CM创建一个专用的普通用户(用户名固定cloudera-scm)

 useradd 
  --system                                              表示创建的是一个系统用户
  --home=/opt/cloudera-manager/cm-5.16.1/run/cloudera-scm-server   指定用户主目录
  --no-create-home                                             不在创建主目录
  --shell=/bin/false                                         不作用服务器的登陆用户  
  --comment "Cloudera SCM User"                                      备注 
  cloudera-scm                                                     用户名

验证:

	# cat /etc/passwd | grep  cloudera-scm

3、配置CM访问mysql的权限,并初始化在mysql的状态

mysql> grant all privileges on . to ‘temp’@’%’ identified by ‘temp’ with grant option ;
on . 表示可以访问mysql中的 哪些库.哪些表 ,*代表所有
to ‘temp’@’%’ 表示赋权限给哪个用户,并且该用户需要通过哪台服务器来访问
% 代表所有
with grant option 权限传递

mysql> flush privileges ; 刷新权限

初始化CM在mysql的状态使用CM自带的初始化脚本 /opt/cloudera-manager/cm5.16.1/share/cmf/schema/scm_prepare_database.sh
/opt/cloudera-manager/cm-5.16.1/share/cmf/schema/scm_prepare_database.sh mysql -h mf01 -utemp -ptemp --scm-host mf01 scm scm scm
报错: 缺少驱动包
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
**解决:
将驱动包放入当前服务器的/usr/share/java目录下
CM管理的集群,cm本身或者通过cm所安装的其他框架(hive sqoop)都会默认到/usr/share/java下找驱动包 **

注意:mysql-connector-java.jar名称不能更改

重新执行初始化操作

4、配置CDH的源

CDH的源-》parcel包 

1)创建目录 
	# mkdir -p /opt/cloudera/parcel-repo   --在server上创建 
	# mkdir -p /opt/cloudera/parcels  --在所有的agent节点上创建 
    #mkdir -p  /opt/cloudera-manager/cm-5.16.1/run/cloudera-scm-agent	 --在所有的agent节点上创建  
2)将CDH的源移动到sever的parcel-repo 目录下  
3)修改校验码文件名称 
	#mv CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha1 CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha
4)修改parcel-repo parcels目录的所属人  
	# chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/   -在server上
	# chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcels   -在agent上

5、启动CM进程

启动server服务
	# /opt/cloudera-manager/cm-5.16.1/etc/init.d/cloudera-scm-server start

日志查看
#tail –f /opt/cloudera-manager/cm-5.16.1/log/cloudera-scm-server/cloudera-scm-server.log
启动agent服务
# /opt/cloudera-manager/cm-5.16.1/etc/init.d/cloudera-scm-agent start
浏览器打开mf01:7180

四、大数据各组件的安装部署

将mysql-connector-java.jar包拷贝到其他节点上,不然安装hive、hue等组件时会报错
# scp mysql-connector-java.jar mf02:/usr/share/java

# scp mysql-connector-java.jar mf06:/usr/share/java
在mysql里创建hive,oozie,hue,amon相关数据库,后面添加这些组件时需要

浏览器打开mf01:7180,按提示进行操作
安装好的界面
离线搭建CDH5.16.1大数据平台_第2张图片

你可能感兴趣的:(学习经历)