0


大数据平台CDH搭建

一、数仓之Cloudera Manager

1、CM简介

1.1、简介

Cloudera Manager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具。

1.2、架构

在这里插入图片描述

1)Cloudera Repository:软件由Cloudera管理分布存储库。(有点类似Maven的中心仓库)
2)Server:负责软件安装、配置,启动和停止服务,管理服务运行的群集。
3)Management Service:由一组执行各种监控,警报和报告功能角色的服务。
4)Database:存储配置和监视信息。
5)Agent:安装在每台主机上。负责启动和停止的过程,配置,监控主机。
6)Clients:是用于与服务器进行交互的接口(API和Admin Console)

2、环境准备

2.1、虚拟机准备

克隆三台虚拟机(hadoop102、hadoop103、hadoop104),配置好对应主机的网络IP、主机名称、关闭防火墙。

rpm -qa |grepvim#查看是否安装vim编辑器
yum -y install vim* #安装
yum install net-tools  #安装网络包ifconfig#查看网络ifup ens33 #激活网络vi /etc/sysconfig/network-scripts/ifcfg-ens33 #修改网络
systemctl restart network #重启网络vim /etc/hostname  #修改主机名(hadoop102、hadoop103、hadoop104)#三台主机关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
#在三台主机的/etc/hosts配置ip地址与主机名映射vim /etc/hosts
192.168.186.102 hadoop102
192.168.186.103 hadoop103
192.168.186.104 hadoop104

2.2、SSH免密登录

配置hadoop102对hadoop102、hadoop103、hadoop104三台服务器免密登录。CDH服务开启与关闭是通过server和agent来完成的,所以这里不需要配置SSH免密登录,但是为了我们分发文件方便,在这里我们也配置SSH。

1)生成公钥和私钥:
ssh-keygen -t rsa
然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
2)将公钥拷贝到要免密登录的目标机器上
ssh-copy-id hadoop102
ssh-copy-id hadoop103
ssh-copy-id hadoop104
3)重复1和2的操作,配置hadoop103对hadoop102、hadoop103、hadoop104三台服务器免密登录。

2.3、集群同步脚本

在/root目录下创建bin目录,并在bin目录下创建文件xsync,文件内容如下:

mkdir bin
cd bin/
yum -y installrsync#安装rsync同步vi xsync #创建文件

在该文件中编写如下代码

#!/bin/bash#1 获取输入参数个数,如果没有参数,直接退出pcount=$#if((pcount==0));thenecho no args;exit;fi#2 获取文件名称p1=$1fname=`basename $p1`echofname=$fname#3 获取上级目录到绝对路径pdir=`cd -P $(dirname $p1);pwd`echopdir=$pdir#4 获取当前用户名称user=`whoami`#5 循环for((host=103; host<105; host++));doecho ------------------- hadoop$host --------------
    rsync -av $pdir/$fname$user@hadoop$host:$pdirdone

修改脚本 xsync 具有执行权限

chmod777 xsync

2.4、安装JDK(三台)

在hadoop102的/opt目录下创建module和software文件夹

yum install lrzsz #安装上传(rz)下载(sz)包cd /opt #进入opt目录mkdir module #创建目录mkdir software #创建目录cd software/ #进入目录#需要使用官网提供的jdk
rz #上传oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpmrpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm  #安装

配置JDK环境变量

打开/etc/profile文件
vim /etc/profile
在profile文件末尾添加JDK路径
exportJAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
exportCLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib
exportPATH=$PATH:$JAVA_HOME/bin
让修改后的文件生效
source /etc/profile

检测是否安装成功

java -version

将hadoop102中的JDK和环境变量分发到hadoop103、hadoop104两台主机

xsync /usr/java/ #同步到另外两台
xsync /etc/profile
分别在hadoop103、hadoop104上source一下
[root@hadoop103 ~]# source /etc/profile[root@hadoop104 ~]# source /etc/profile

2.5、集群整体操作脚本

在/root/bin目录下创建脚本xcall.sh

[root@hadoop102 bin]$ vim xcall.sh

在脚本中编写如下内容

#! /bin/bashforiin hadoop102 hadoop103 hadoop104
doecho --------- $i ----------
    ssh$i"$*"done

修改脚本执行权限

[root@hadoop102 bin]$ chmod777 xcall.sh

将/etc/profile文件追加到~/.bashrc后面

[root@hadoop102 module]# cat /etc/profile >> ~/.bashrc[root@hadoop103 module]# cat /etc/profile >> ~/.bashrc[root@hadoop104 module]# cat /etc/profile >> ~/.bashrc

测试

[root@hadoop102 bin]# xcall.sh jps

在这里插入图片描述

2.6、安装MySQL

注意:一定要用root用户操作如下步骤;先卸载MySQL再安装
安装包准备

#查看MySQL是否安装rpm -qa|grep -i mysql
#如果安装了MySQL,就先卸载rpm -e --nodeps mysql包
#删除阿里云原有MySql依赖
yum remove mysql-libs

#下载MySql依赖并安装
yum install libaio
yum -y install autoconf

cd /opt/software
yum installwgetwget https://downloads.mysql.com/archives/get/p/23/file/MySQL-shared-compat-5.6.24-1.el6.x86_64.rpm
wget https://downloads.mysql.com/archives/get/p/23/file/MySQL-shared-5.6.24-1.el6.x86_64.rpm

#安装rpm -ivh MySQL-shared-5.6.24-1.el6.x86_64.rpm 
rpm -ivh MySQL-shared-compat-5.6.24-1.el6.x86_64.rpm

#上传mysql-libs.zip到hadoop102的/opt/software目录,并解压文件到当前目录
rz
yum installunzipunzip mysql-libs.zip

#进入到mysql-libs文件夹下cd mysql-libs

安装MySQL服务端

rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm

查看产生的随机密码

cat /root/.mysql_secret
#查看MySQL状态service mysql status
#启动MySQLservice mysql start

安装MySQL客户端

#安装MySQL客户端rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm
mysql -uroot -pOEXaQuS8IWkG19Xs
#修改密码
SET PASSWORD=PASSWORD('root');exit;#进入MySQL
mysql -uroot -proot
#显示数据库
show databases;#使用MySQL数据库
use mysql;#展示MySQL数据库中的所有表
show tables;#展示user表的结构
desc user;#查询user表select User, Host, Password from user;#修改user表,把Host表内容修改为%
update user sethost='%' where host='localhost';#删除root用户的其他host
delete from user where host!='%';#刷新
flush privileges;#退出
quit;

2.7、创建CM用的数据库

在MySQL中依次创建监控数据库、Hive数据库、Oozie数据库、Hue数据库

mysql> GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'scm';
mysql> CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
#Hive数据库 
mysql> CREATE DATABASE hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#Oozie数据库
mysql> CREATE DATABASE oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#Hue数据库
mysql> CREATE DATABASE hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

2.8、下载第三方依赖

三台节点上全部执行下面依赖的语句,需要联网

yum -y installchkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb

2.9、关闭SELINUX

安全增强型Linux(Security-Enhanced Linux)简称SELinux,它是一个 Linux 内核模块,也是Linux的一个安全子系统。为了避免安装过程出现各种错误,建议关闭,有如下两种关闭方法:

临时关闭(不建议使用)
setenforce 0#但是这种方式只对当次启动有效,重启机器后会失效。

永久关闭
#修改配置文件/etc/selinux/configvim /etc/selinux/config
将SELINUX=enforcing 改为SELINUX=disabled
SELINUX=disabled
#同步/etc/selinux/config配置文件
xsync /etc/selinux/config
#重启hadoop102、hadoop103、hadoop104主机reboot#重启

2.10、配置时间同步

NTP服务器配置

yum install ntp #集群中所有节点安装ntp[root@hadoop102 ~]# vim /etc/ntp.conf#注释掉所有的restrict开头的配置#添加下面一行
restrict 192.168.186.102 mask 255.255.255.0 nomodify notrap
#将所有server配置进行注释#添加下面两行内容
server 127.127.1.0
fudge 127.127.1.0 stratum 10

启动NTP服务

service ntpd start

NTP客户端配置(hadoop103,hadoop104)

vim /etc/ntp.conf
# 注释所有restrict和server配置# 添加下面一行
server 192.168.186.102

手动测试

ntpdate 192.168.186.102
显示如下内容为成功:
22 Jun 15:09:23 ntpdate[29268]: adjust time server 192.168.186.102 offset 0.006673 sec
如果显示如下内容需要先关闭ntpd:
22 Jun 15:17:28 ntpdate[49701]: the NTP socket is in use, exiting

启动ntpd并设置为开机自启(每个节点hadoop102,hadoop103,hadoop104)

chkconfig ntpd on
service ntpd start

使用群发date命令查看结果,时间相同,同步完成,finalshell可以群发命令的

3、CM安装部署

3.1、CM安装包

cm6.3.1-redhat7.tar.gz

3.2、CM安装

将mysql-connector-java-5.1.27-bin.jar拷贝到usr/share/java路径下,并重命名

cd /opt/software/mysql-libs/
rz #上传tar -zxvf mysql-connector-java-5.1.27.tar.gz  #解压cd mysql-connector-java-5.1.27
mv mysql-connector-java-5.1.27-bin.jar mysql-connector-java.jar
mkdir /usr/share/java #新建目录cp mysql-connector-java.jar /usr/share/java/
scp -r /usr/share/java/ hadoop103:/usr/share/
scp -r /usr/share/java/ hadoop104:/usr/share/
集群规划

节点hadoop102hadoop103hadoop104服务cloudera-scm-server
cloudera-scm-agentcloudera-scm-agentcloudera-scm-agent

上传解压
#创建cloudera-manager目录,存放cdh安装文件mkdir /opt/cloudera-manager
cd /opt/software/ #进入目录tar -zxvf cm6.3.1-redhat7.tar.gz #解压#进入解压后的文件cd cm6.3.1/RPMS/x86_64/
#移动rpm包mv cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm /opt/cloudera-manager/
mv cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm /opt/cloudera-manager/
mv cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm /opt/cloudera-manager/
#进入目录查看cd /opt/cloudera-manager/

#安装cloudera-manager-daemons,安装完毕后多出/opt/cloudera目录rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm 
cd /opt/cloudera
cd..
xsync /opt/cloudera-manager/ #同步到hadoop103、hadoop104#进入hadoop103和hadoop104安装daemons[root@hadoop103 ~]# cd /opt/cloudera-manager/[root@hadoop103 cloudera-manager]# rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm [root@hadoop104 ~]# cd /opt/cloudera-manager/[root@hadoop104 cloudera-manager]# rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm 
安装cloudera-manager-agent
#三台机器安装依赖
yum install bind-utils psmisc cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs /lib/lsb/init-functions httpd mod_ssl openssl-devel python-psycopg2 MySQL-python libxslt
#三台机器安装manager-agentrpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm 
三台机器安装agent的server节点
#在hadoop102上修改配置文件vim /etc/cloudera-scm-agent/config.ini
#修改下面参数server_host=hadoop102
#脚本同步到hadoop103和hadoop104
xsync /etc/cloudera-scm-agent/config.ini
安装cloudera-manager-server
#在hadoop102执行rpm -ivh cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm 
上传CDH包到parcel-repo
cd /opt/cloudera/parcel-repo/
rz
#包名分别为:
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1
manifest.json
#改名mv CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
修改server的db.properties
vim /etc/cloudera-scm-server/db.properties 
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=hadoop102:3306
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.password=scm
com.cloudera.cmf.db.setupType=EXTERNAL
启动server服务
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm
systemctl start cloudera-scm-server
systemctl status cloudera-scm-server

假如报错

我们进入目录查看日志:
cd /var/log/cloudera-scm-server
或者
journalctl -xe
启动agent节点(三台)
systemctl start cloudera-scm-agent

4、CM的集群部署

访问http://hadoop102:7180,(用户名、密码:admin)

在这里插入图片描述

4.1、接收条款和协议

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4.2、集群安装

在这里插入图片描述
在这里插入图片描述

4.3、指定主机

在这里插入图片描述

4.4、选择CDH版本6.3.2

在这里插入图片描述
若出现没有版本执行下面:

cd /opt/cloudera/parcel-repo #进入本地存储
查看是否有
-rw-r--r-- 1 root root 20821862466月  2217:01 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
-rw-r--r-- 1 root root         406月  2216:15 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
-rw-r--r-- 1 root root      338876月  2216:14 manifest.json
systemctl restart cloudera-scm-server#重启服务
如果还不行,就重启服务器或者查看文件权限
chmod644 manifest.json 赋权
chmod644 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha 
chmod644 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel

4.5、等待下载安装

在这里插入图片描述

4.6、检查网络性能,检查主机

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

[root@hadoop101 software]# echo never > /sys/kernel/mm/transparent_hugepage/defrag[root@hadoop101 software]# echo never > /sys/kernel/mm/transparent_hugepage/enabled[root@hadoop102 software]# echo never > /sys/kernel/mm/transparent_hugepage/defrag[root@hadoop102 software]# echo never > /sys/kernel/mm/transparent_hugepage/enabled[root@hadoop103 software]# echo never > /sys/kernel/mm/transparent_hugepage/defrag[root@hadoop103 software]# echo never > /sys/kernel/mm/transparent_hugepage/enabled

在这里插入图片描述

还可能警告:

在这里插入图片描述

Cloudera 建议将 /proc/sys/vm/swappiness 设置为最大值 10。当前设置为 30。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf,以在重启后保存该设置。您可以继续进行安装,但 Cloudera Manager 可能会报告您的主机由于交换而运行状况不良。
# 三台主机运行:echo10> /proc/sys/vm/swappiness

在这里插入图片描述

4.7、群集设置

在这里插入图片描述

二、数仓之数据采集模块

1、HDFS、YARN、Zookeeper安装

1.1、选择自定义安装

在这里插入图片描述

1.2、选择安装服务

在这里插入图片描述

1.3、分配节点

在这里插入图片描述

1.4、集群设置全部选默认即可

在这里插入图片描述

1.5、自动启动进程

在这里插入图片描述

1.6、修改HDFS中的权限检查:dfs.permissions

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1.7、配置NameNode HA

进入HDFS页面点击启动High Availability

在这里插入图片描述

命名

在这里插入图片描述

分配角色
在这里插入图片描述

审核更改

在这里插入图片描述

等待启动服务

在这里插入图片描述

1.8、配置Yarn HA

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2、Kafka安装

2.1、Kafka安装

​ 可以选择在线安装和离线包安装,在线安装下载时间较长,离线包安装时间较短。这里我们为了节省时间,选择离线安装。

添加服务

在这里插入图片描述

选择Kafka,点击继续

在这里插入图片描述

Kafka的Broker选择三台机器

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.2、查看Kafka Topic

[root@hadoop102 ~]# /opt/cloudera/parcels/CDH/bin/kafka-topics --zookeeper hadoop102:2181 --list

2.3、创建Kafka Topic

进入到/opt/cloudera/parcels/KAFKA目录下分别创建:启动日志主题、事件日志主题

#创建topic test
/opt/cloudera/parcels/CDH/bin/kafka-topics --bootstrap-server hadoop102:9092,hadoop103:9092,hadoop104:9092  --create --replication-factor 1 --partitions 1 --topic test

2.4、删除Kafka Topic

#删除启动日志主题
/opt/cloudera/parcels/CDH/bin/kafka-topics --delete --bootstrap-server hadoop102:9092,hadoop103:9092,hadoop104:9092 --topic test

三、数仓搭建环境准备

1、Hive安装

1.1、添加服务

在这里插入图片描述

1.2、添加hive服务

在这里插入图片描述

1.3、将Hive服务添加到集群

在这里插入图片描述

1.4、配置hive 元数据

在这里插入图片描述

1.5、测试通过后继续

在这里插入图片描述

1.6、自动启动Hive进程

在这里插入图片描述

在这里插入图片描述

四、Spark 安装

1、安装Spark

CDH6.x自带spark2.4无需升级
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、其他配置

1、HDFS配置域名访问

在阿里云环境下 Hadoop集群必须用域名访问,不能用IP访问,开启如下配置dfs.client.use.datanode.hostname

在这里插入图片描述
在这里插入图片描述

2、设置物理核和虚拟核占比

为演示效果将虚拟核扩大1倍,一般真实场景下物理核和虚拟核对比值为1:1或1:2
修改配置,每台机器物理核2核虚拟成4核
yarn.nodemanager.resource.cpu-vcores

在这里插入图片描述

3、修改单个容器下最大cpu申请资源

修改yarn.scheduler.maximum-allocation-vcores参数调整4核

在这里插入图片描述

4、设置每个任务容器内存大小和单节点大小

将每个任务容器默认大小从1G调大至4G,当前集群环境下每个节点的物理内存为8G,设置每个yarn可用每个节点内存为7G
修改yarn.scheduler.maximum-allocation-mb 每个任务容器内存所需大小

在这里插入图片描述

修改yarn.nodemanager.resource.memory-mb每个节点内存所需大小

在这里插入图片描述

5、关闭Spark动态分配资源参数

关闭spark.dynamicAllocation.enabled 参数否则分配的资源不受控制

在这里插入图片描述

6、修改HDFS副本数

修改副本数为1

dfs.replication

在这里插入图片描述

7、设置容量调度器

CDH默认公平调度器,修改为容量调度器

yarn
Scheduler 

在这里插入图片描述

默认root队列,可以进行修改,添加3个队列spark,hive,flink,spark资源设置占yarn集群40%,hive设置占yarn集群20%,flink设置占40%

在这里插入图片描述

在这里插入图片描述

配置完毕后重启服务,到yarn界面查看调度器,已经发生变化有hive队列和spark队列

在这里插入图片描述

六、配置OOZIE

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、配置HUE

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

八、配置KUDU

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

九、 配置Impala

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

标签: 大数据 linux 运维

本文转载自: https://blog.csdn.net/weixin_45895096/article/details/125660788
版权归原作者 是小先生 所有, 如有侵权,请联系我们删除。

“大数据平台CDH搭建”的评论:

还没有评论