栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

CDH6.3.2离线部署

CDH6.3.2离线部署

集群规模确定

从数据量、计算性能要求、可靠稳定性、容错性等方面考虑。

数据量

现有数据量(如现有历史数据)和增量数据(日增、月增数据,一般需要考虑满足1-2年的容量,后续再扩容)

数据的副本数(Hadoop默认3副本,乘3倍);

数据清洗、融合加工处理、共享等过程产生的,中间表、指标表、主题/专题库等表(乘3-5倍)。注意:HDFS上不同格式的表压缩比也不一样,如文本txt表不压缩,orc有一定的压缩比(1:3),Hbase(看是否采用压缩),ES看索引是否有膨胀;

储存的冗余量 + 20-30%;
如:现有各种形式的数据量总共30TB,月增数据1TB(算未来24个月),全部都要放到HDFS中存储,默认3副本,ETL数据处理全部用txt表(共享服务Hbase、ES等混用)就按照1:1的压缩比储存,算上ODS、清洗融合加工中间表、指标表、主题库/专题课等取4倍。如下计算:
(30 + 1* 24) * 3 * 4 * 1.25 = 810 TB

需要总的磁盘空间810TB,如果是10个数据储存节点,那么每个节点至少要大于81TB的空间,可以挂 9块* 10TB。

计算

根据使用到的大数据组件服务来预估

如基于内存的服务对内存的要求,对磁盘IO使用比较频繁的是否考虑多块盘,清洗融合加工频繁的对cpu的要求等等

可靠稳定性

集群规模大的,需要区分管理节点、数据储存和计算节点(或者叫工作节点)。

容错性

如果考虑对各个服务或者某些服务做HA的,需要再考虑加节点资源。
如果考虑做灾备集群的,需要再加1倍的资源。
此外,还要考虑网络,是否是双网口?千兆还是万兆网络?

从上面几方面确定集群规模,节点数、每个节点的物理配置(CPU、Memery、磁盘空间)、集群网络等

Cloudera Manager架构
名称描述
Server负责软件安装、配置,启动和停止服务,管理服务运行的群集。核心
Agent安装在每台主机上。负责启动和停止进程,配置,监控主机。
Management Service由一组执行各种监控,警报和报告功能角色的服务。图表的生成和管理
Database存储配置和监视信息。
Cloudera Repository软件由Cloudera 管理分布存储库。(有点类似Maven的中心仓库);在线安装(从中心仓库拉取)和离线安装(离线库)
Clients是用于与服务器进行交互的接口(API和Admin Console)
软件版本
cm6.3.1
cdh6.3.2
jdk1.8
mysql5.6.30
测试服务器信息
服务器地址操作系统名称角色
172.16.8.2Centos7.6hdc1master
172.16.8.3Centos7.6hdc2node
172.16.8.4Centos7.6hdc3node
cdh6.3.2组件默认版本
组件组件版本
Apache Avro1.8.2
Apache Flume1.9.0
Apache Hadoop3.0.0
Apache Hbase2.1.4
Hbase Indexer1.5
Apache Hive2.1.1
Hue4.3.0
Apache Impala3.2.0
Apache Kafka2.2.1
Kite SDK1.0.0
Apache Kudu1.10.0
Apache Solr7.4.0
Apache Oozie5.1.0
Apache Parquet1.9.0
Parquet-format2.4.0
Apache Pig0.17.0
Apache Sentry2.1.0
Apache Spark2.4.0
Apache Sqoop1.4.7
Apache ZooKeeper3.4.5

https://docs.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_cdh_63_packaging.html#cdh_630_packaging

所需文件列表 cm
  • cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
  • cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
  • cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
  • cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
  • enterprise-debuginfo-6.3.1-1466458.el7.x86_64.rpm
jdk
  • oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
cdh
  • CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
  • manifest.json
mysql驱动
  • mysql-connector-java-5.1.46.jar
环境初始化 修改hostname(所有节点)
hostnamectl set-hostname hdc1
su -
关闭防火墙(所有节点)
systemctl stop firewalld 
systemctl status firewalld 
Systemctl disable firewalld  //禁止开机自启
关闭selinux(所有节点)
vim /etc/sysconfig/selinux 
SELINUX=disabled
setenforce 0
修改hosts(所有节点)
vim /etc/hosts
172.16.8.2 hdc1
172.16.8.3 hdc2
172.16.8.4 hdc3
免密登录(所有节点)
#生成秘钥(三次直接回车)
ssh-keygen -t rsa
#发送公钥:(第一次发送,要输入密码,发送前/后可以看看.ssh目录有没有公钥)
ssh-copy-id hdc1(目标机子)
ssh-copy-id hdc2
ssh-copy-id hdc3
ntpd服务(master节点)

hdc1安装ntp服务器

yum -y install ntp
检查ntp服务器
rpm -q ntp
ntp-4.2.6p5-29.el7.centos.2.x86_64
修改配置文件
vim /etc/ntp.conf 
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict ::1
#允许更新的IP地址段能同步时间
restrict 172.16.8.2 mask 255.255.255.0 nomodify notrap
#如果网络时间同步服务器不可以用,就以本地时间为标准向客户端提供服务
server 127.127.1.0
fudge 127.127.1.0 stratum 8
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor
重启ntp服务
systemctl restart ntpd     启动
systemctl enable ntpd    开机自启
systemctl status ntpd     查看服务状态
ntp查验
ntpstat
synchronised to local net (127.127.1.0) at stratum 9
   time correct to within 3948 ms
   polling server every 64 s
查看是否同步
ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*LOCAL(0)        .LOCL.           8 l   18   64  377    0.000    0.000   0.000
子节点连接主节点服务

下载ntp服务 (node节点)

yum -y install ntp
同步master时间服务
vim /etc/ntp.conf 
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict ::1
#允许更新的IP地址段能同步时间
restrict hdc1 mask 255.255.255.0 nomodify notrap
#如果网络时间同步服务器不可以用,就以本地时间为标准向客户端提供服务
server hdc1
fudge hdc1 stratum 8
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor
测试时间同步是否生效
date -s '2020-10-12 12:12:12'
Mon Oct 12 12:12:12 CST 2020
ntpdate -u 172.16.8.2
 3 Jul 14:27:18 ntpdate[25877]: step time server 172.16.8.2 offset 22817697.067844 sec
关闭swap(所有节点)
sysctl vm.swappiness=1
echo 1 > /proc/sys/vm/swappiness
vim /etc/sysctl.conf
vm.swappiness=1
更改文件句柄数(所有节点)
vim /etc/security/limits.conf
---

*               soft    nofile          65535
*               hard    nofile          1029345
*               soft    nproc           unlimited
*               hard    nproc           unlimited
*               soft    memlock         unlimited
*               hard    memlock         unlimited
配置yum源(内网需求)(未梳理)
上传本地yum源文件到服务器主节点


vi /etc/yum.repos.d/centos7.3.repo
[cehtos7]
name=centos7
baseurl=file:///home/cdrom
gpgkey=file:///home/cdrom/RPM-GPG-KEY-CentOS-7
enabled=1
gpgcheck=0

安装http服务
yum -y install httpd
systemctl start httpd
chkconfig httpd on

将本地yum源发布到http服务
mv /home/cdrom/* /var/www/html/centos7

将之前的本地yum源修改为网络版
vi /etc/yum.repos.d/centos7.3.repo
[cehtos7]
name=centos7
baseurl=http://yum源ip/centos7
gpgkey=http://yum源ip/centos7/RPM-GPG-KEY-CentOS-7
enabled=1
gpgcheck=0

将/etc/yum.repos.d/centos7.3.repo文件分发到其余的节点
scp /etc/yum.repos.d/centos7.3.repo 节点ip:/etc/yum.repos.d/

所有节点运行
yum clean all
yum makecache

关闭透明大界面(所有节点)

启用透明大页面压缩,可能会导致重大性能问题,建议禁用此设置

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
安装jdk(所有节点)
rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
vim /etc/profile
#添加一下内容
export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
#配置生效
source /etc/profile
java -version
java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)
上传JDBC依赖包(所有节点)
mkdir -p /usr/share/java
cp mysql-connector-java-8.0.18.jar /usr/share/java/mysql-connector-java.jar
安装httpd服务(master节点)
yum install httpd -y
systemctl start httpd
systemctl enable httpd
配置Cloudera Manager安装包yum源
mkdir -p /var/www/html/cloudera-repos/cm6
cp /data/cdh/cloudera-manager/* /var/www/html/cloudera-repos/cm6/
- cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm 
- cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm 
- cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
- cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
- enterprise-debuginfo-6.3.1-1466458.el7.x86_64.rpm
yum install -y createrepo
createrepo .
#执行后在浏览器访问
http://172.16.8.2/cloudera-repos/cm6/
创建repo文件(所有节点)
vim /etc/yum.repos.d/cloudera-manager.repo
[cloudera-manager]
name=Cloudera Manager 6.3.1
baseurl=http://hdc1/cloudera-repos/cm6
gpgcheck=0
enabled=1

#清理并缓存(所有节点):更新yum源
yum clean all
yum makecache
yum repolist
安装cm
#master执行
yum install -y cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
执行后会在/opt下生成cloudera目录
[root@hdc1 cloudera]# ls
cm  cm-agent  csd  parcel-repo
[root@hdc1 cloudera]# pwd
/opt/cloudera
上传cdh文件至cm的parcel-repo文件下
cp /data/cdh/cdh/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel /opt/cloudera/parcel-repo/
cp /data/cdh/cdh/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha /opt/cloudera/parcel-repo/
cp /data/cdh/cdh/manifest.json /opt/cloudera/parcel-repo/
创建mysql库(mysql使用的外部mysql,此处不做过多介绍)
CREATE DATAbase scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATAbase amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATAbase rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATAbase hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATAbase hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATAbase sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATAbase nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATAbase navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATAbase oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
flush privileges; 
环境问题
yum install -y bind-utils libxslt cyrus-sasl-plain cyrus-sasl-gssapi portmap fuse-libs /lib/lsb/init-functions httpd mod_ssl openssl-devel python-psycopg2 Mysql-python fuse
子节点只安装agent
yum install cloudera-manager-daemons cloudera-manager-agent -y
修改master数据库配置
vim /etc/cloudera-scm-server/db.properties
# 指定数据库类型为mysql
com.cloudera.cmf.db.type=mysql
# 指定数据库的地址以及端口号
com.cloudera.cmf.db.host=172.16.8.201:31234
# 指定CM数据库的名称
com.cloudera.cmf.db.name=scm
# 指定CM用户的用户名
com.cloudera.cmf.db.user=root
# 指定CM用户的密码
com.cloudera.cmf.db.password=1qaz@WSX
修改agent配置(所有节点)
vim /etc/cloudera-scm-agent/config.ini
#修改第15行为master节点地址
server_host=hdc1
修改以上配置后启动server(启动时间比较慢大概五六分钟)
systemctl start cloudera-scm-server
systemctl status cloudera-scm-server
systemctl restart cloudera-scm-server
systemctl enable cloudera-scm-server
systemctl stop cloudera-scm-server
#查看日志
tail -F /var/log/cloudera-scm-server/cloudera-scm-server.log

查看7182端口是否被占用

netstat -anp | grep 7180

所有节点启动agent

systemctl restart cloudera-scm-agent
systemctl status cloudera-scm-agent
systemctl enable cloudera-scm-agent
systemctl stop cloudera-scm-agent
tail -F /var/log/cloudera-scm-agent/cloudera-scm-agent.log
校验parcel文件
sha1sum CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel | awk '{ print $1 }' > CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha

启动后 访问地址 masterip:7180 admin/admin

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/584380.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号