CDH6.3.2离线部署

CDH6.3.2离线部署,第1张

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.1cdh6.3.2jdk1.8mysql5.6.30 测试服务器信息 服务器地址 *** 作系统名称角色172.16.8.2Centos7.6hdc1master172.16.8.3Centos7.6hdc2node172.16.8.4Centos7.6hdc3node cdh6.3.2组件默认版本 组件组件版本Apache Avro1.8.2Apache Flume1.9.0Apache Hadoop3.0.0Apache Hbase2.1.4Hbase Indexer1.5Apache Hive2.1.1Hue4.3.0Apache Impala3.2.0Apache Kafka2.2.1Kite SDK1.0.0Apache Kudu1.10.0Apache Solr7.4.0Apache Oozie5.1.0Apache Parquet1.9.0Parquet-format2.4.0Apache Pig0.17.0Apache Sentry2.1.0Apache Spark2.4.0Apache Sqoop1.4.7Apache 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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5575589.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存