专栏首页Hadoop实操0549-6.1-如何在SUSE12 SP3安装CDH6.1

0549-6.1-如何在SUSE12 SP3安装CDH6.1

作者:李继武

1

基础设施

2.1

硬件配置

机器名称

系统版本

配置

用途

gdodsdcs2(128.18.9.209)

SLES12 SP3

CPU

16Cores

CM节点

内存

32GB

硬盘

80GB(raid1,安装操作系统)100GB * 1 数据盘

gdodsspark1(128.18.9.202)

SLES12 SP3

CPU

56Cores

Master节点兼数据节点

内存

356GB

硬盘

280GB(安装操作系统)1.5TB * 6数据盘(SAT)1.1TB * 1数据盘(SSD)1.7TB * 1数据盘(SSD)

gdodsspark2(128.18.9.203)

SLES12 SP3

CPU

56Cores

Master节点兼数据节点

内存

356GB

硬盘

280GB(安装操作系统)1.5TB * 6数据盘(SAT)1.1TB * 1数据盘(SSD)1.7TB * 1数据盘(SSD)

Gdodsspark[3-6](128.18.9.20[4-7])

SLES12 SP3

CPU

56Cores

DataNode节点

内存

356GB

硬盘

280GB(安装操作系统)1.5TB * 6数据盘(SAT)1.1TB * 1数据盘(SSD)1.7TB * 1数据盘(SSD)

2.2

软件环境

操作系统

SLES12 SP3

CM

6.1.0

JDK

1.8.0_141

CDH

6.1.0

Hadoop

3.0.0

Hive

2.1.1

Spark

2.4.0

Zookeeper

3.4.5

sqoop

1.4.7

Postgresql

9.6.10

2.3

角色部署

类型

IP地址

安装服务

管理节点1

128.18.9.209

Cloudera Manager、Cloudera Manager Service

管理节点2

128.18.9.202

NameNode(Standby)、JournalNode、FailoverController、Zookeeper、ResourceManager(Active)、 JournalNode、Zookeeper、Balancer、Hive MetaStore、Gateway、DateNode、Hive Server2、NodeManager、SparkHistory Server

管理节点3

128.18.9.203

NameNode(Active)、JournalNode、FailoverController、Zookeeper、ResourceManager(Standby)、HiveServer2、Gateway、Hive MetaStore、JobHistory ServerDateNode、NodeManager

数据节点

128.18.9.204

DataNode、NodeManager、Gateway、JournalNode、Zookeeper

数据节点

128.18.9.20[5-7]

DataNode、NodeManager、Gateway

2.4

Access UI

Service Name

Address

Username/Password

Cloudera Manager

http://128.18.9.209:7180

admin/admin

2.5

Postgresql

元数据库使用的是外部数据库:Postgresql数据库

Address:128.18.9.208:5432

Database

Username

Password

Remark

metastore

hive

HivePostgres

Database of Hive metastore

am

am

AmPostgres

Database of Activity Monitor

cm

cm

CmPostgres

Database of Cloudera Manager

rm

rm

RmPostgres

Database of Reports Manager

2.6

数据目录信息

服务

角色

目录

CM

Service Monitor

/data1/var/lib/ cloudera-service-monitor

Host Monitor

/data1/var/lib/cloudera-host-monitor

Event Server

/data1/var/lib/cloudera-scm-eventserver

Reports Manager

/data1/var/lib/cloudera-scm-headlamp

HDFS

NameNode

/sdata1/dfs/nn

JournalNode

/data1/dfs/jn

Datanode

/data1/dfs/dn/data2/dfs/dn/data3/dfs/dn/data4/dfs/dn/data5/dfs/dn/data6/dfs/dn/sdata1/dfs/dn/sdata2/dfs/dn

YARN

nodeManager

/data1/yarn/nm/data2/yarn/nm/data3/yarn/nm/data4/yarn/nm/data5/yarn/nm/data6/yarn/nm

Zookerper

Zookerper

/data1/var/lib/zookerper

3

集群基本配置及部署安装

因节点之间通过root用户相互ssh的权限被关闭,所以不能使用控制台自动化安装agent,需要手动到所有节点安装agent,并修改相关配置。

3.1

前置准备

以下条件原集群已配置完成:

Hosts文件已配置

Ntp时钟同步

防火墙已关闭

Selinux已关闭

1. 修改swappiness

echo "vm.swappiness = 1" >> /etc/sysctl.conf
echo 1> /proc/sys/vm/swappiness

2. 从系统镜像挂载点配置repo

vim /etc/zypp/repos/iso.repo

[iso]
name=iso
enabled=1
autorefresh=0
baseurl=file:///mnt
path=/
type=yast2
keeppackages=0

3. 安装httpd

zypper install httpd

4. 利用httpd制作系统镜像本地zypper源

mkdir /srv/www/htdocs/iso
cp /mnt/* /srv/www/htdocs/iso
cd /srv/www/htdocs/iso
zypper install createrepo
createrepo .

在apache2的配置文件中添加该文件夹

vim /etc/apache2/httpd.conf

<Directory "/srv/www/htdocs/iso">
    Option Indexes AllowFollowSymLinks
    AllowOverride None
</Directory>

5. 利用httpd制作cm本地zypper源和parcel源

mkdir /srv/www/htdocs/cm6.1.0
mkdir /srv/www/htdocs/cdh6.1.0

将cm的安装包上传到cm6.1.0目录下,特别注意的是,SUSE系统还需要下载一个python-psycopg2依赖包上传到cm6.1.0下

cd /srv/www/htdocs/cm6.1.0
createrepo .

在apache2的配置文件中添加这两个文件夹

vim /etc/apache2/httpd.conf

<Directory "/srv/www/htdocs/cm6.1.0">
    Option Indexes AllowFollowSymLinks
    AllowOverride None
</Directory>
<Directory "/srv/www/htdocs/cdh6.1.0">
    Option Indexes AllowFollowSymLinks
    AllowOverride None
</Directory>

6. 所有节点配置镜像源和cm源

vim /etc/zypp/repos/iso.repo

[iso]
name=iso
enabled=1
autorefresh=0
baseurl=http://128.18.9.202/iso
type=rpm-md
gpgcheck=0

vim /etc/zypp/repos/cm.repo

[cm]
name=cm
enabled=1
autorefresh=0
baseurl=http://128.18.9.202/cm6.1.0
type=rpm-md
gpgcheck=0

3.2

CM节点安装server、agent

1. 安装jdk1.8

zypper install oracle-j2sdk1.8

2. 安装cloudera-manager-server、cloudera-manager-agent

zypper install cloudera-manager-server cloudera-manager-agent

3. 修改agent的配置文件,修改其连接的server主机,log目录以及lib目录

vim /etc/cloudera-scm-agent/config.ini

在数据盘下创建目录

mkdir -p /data1/var/lib
mkdr -p /data1/var/log

将原来的目录移到这两个目录下

mv /var/lib/cloudera-scm-agent /data1/var/lib
mv /var/log/cloudera-scm-agent /data1/var/log

启动agent

systemctl start cloudera-scm-agent

4. 修改server的启动脚本,配置log目录

vim /opt/cloudera/cm/bin/cm-server

将目录文件移到数据盘上

mv /var/log/cloudera-scm-server /data1/var/log

5. 初始化cloudera-scm-server的数据库

sh /opt/cloudera/cm/schema/scm_prepare_database.sh -h128.18.9.208 -P5432 postgresql cm cm CmPostgres

6. 配置postgresql数据库驱动

将驱动上传到httpd节点的/srv/www/htdocs/cdh6.1.0目录下,其他节点通过wget进行拉取

mkdir -p /usr/share/java
cd /usr/share/java
wget http://128.18.9.202/cdh6.1.0/postgresql-42.2.2.jar
ln -s postgresql-42.2.2.jar postgresql-connector-java.jar

7. 启动server

systemctl start cloudera-scm-server

3.3

其他节点安装agent

剩余节点都需要手动执行以下操作,手动安装agent并修改配置

1. 安装jdk1.8

zypper install oracle-j2sdk1.8

2. 安装cloudera-manager-agent

zypper install cloudera-manager-agent

3. 修改agent的配置文件,修改其连接的server主机,log目录以及lib目录

vim /etc/cloudera-scm-agent/config.ini

在数据盘下创建目录

mkdir -p /sdata1/var/lib
mkdr -p /sdata1/var/log

将原来的目录移到这两个目录下

mv /var/lib/cloudera-scm-agent /sdata1/var/lib
mv /var/log/cloudera-scm-agent /sdata1/var/log

4. 配置postgresql数据库驱动

mkdir -p /usr/share/java
cd /usr/share/java
wget http://128.18.9.202/cdh6.1.0/postgresql-42.2.2.jar
ln -s postgresql-42.2.2.jar postgresql-connector-java.jar

5. 启动agent

systemctl start cloudera-scm-agent

3.4

修改数据盘所属用户及权限

由于原来数据盘都是由ods用户挂载,并且权限是700,这将导致root安装集群时无法生成所需目录,最终安装失败

修改这些数据盘目录所属用户为root,所属用户组为root,权限赋予755

chown root:root /data1
chown root:root /data2
chown root:root /data3
chown root:root /data4
chown root:root /data5
chown root:root /data6
chown root:root /sdata1
chown root:root /sdata2
chmod 755 /data1
chmod 755 /data2
chmod 755 /data3
chmod 755 /data4
chmod 755 /data5
chmod 755 /data6
chmod 755 /sdata1
chmod 755 /sdata2

4

控制台安装

1. 打开http://128.18.9.209:7180,以admin/admin登录

2. 点“继续”

3. 勾选同意,点继续

4. 选择“60天试用版”,点击继续

5. 点击“继续”

6. 点击“当前管理主机”,全部勾选,点击“继续”

7. 点击“更多选项”

8. 将其他的parcel路径删掉,添加自己制作的parcel包下载路径

9. 点击继续

10. 开始下载并分发parcel包,等待下载分发激活完成

11. 确保下方的主机检查项全部通过,点击“继续”

12. 点击“自定义服务”,勾选需要的服务

13. 输入元数据库的信息,测试连接

14. 配置相关目录

Datenode数据目录暂时默认即可,后期根据不同的节点分配不同的角色组,来分配不同的目录。

Namenode数据目录:

SecondaryNamenode数据目录:

CM服务数据目录:

NodeManager数据目录:

Zookeeper数据目录:

15. 点击“继续”,等待安装完成。

16. 配置DataNode目录,先配置角色组,设置Datanode角色为三个组,Datenode Default Group,onlywithzk,withnamenode:

17. 根据不同的角色来分配datanode目录,以为namenode、zk、journalNode留出独立的数据盘:

5

启用HA

本集群启用了HDFS,YARN的高可用

JournalNode数据目录为:

6

配置组件的log,tmp等目录

7

集群基本配置

7.1

Cloudera Manager

这些服务主要是提供监控功能,目前的调整主要集中在内存放,以便有足够的资源完成集群管理。

服务

选项

配置值

Activity Monitor

Java Heap Size

4GB

Service Monitor

Java Heap Size

4GB

Host Monitor

Java Heap Size

4GB

Event Server

Java Heap Size

4GB

Alert Publisher

Java Heap Size

2GB

Reports Manager

Java Heap Size

4GB

7.2

HDFS配置

服务

选项

配置值

NameNode

Java Heap Size

4GB

dfs.namenode.handler.countNameNode处理程序计数

54

dfs.datanode.fsdataset.volume.choosing.policyDataNode 卷选择策略

Round Robin

dfs.namenode.avoid.read.stale.datanode避免读取失效 DataNode

false

dfs.namenode.write.stale.datanode.ratio写入失效 DataNode 比率

0.5

dfs.namenode.safemode.threshold-pctSafemode 阈值百分比

0.999

dfs.umaskmode默认值 Umask

022

DataNode

Java Heap Size

1GB

dfs.datanode.handler.countDataNode处理程序计数

3

dfs.datanode.max.xcieversDataNode最大传输线程数

4096

JournalNode

Java Heap Size

1GB

Failover Controller

Java Heap Size

512MB

7.3

YARN配置

服务

选项

配置值

ResourceManager

Java Heap Size

4GB

yarn.scheduler.minimum-allocation-mb最小容器内存

1GB

yarn.scheduler.increment-allocation-mb容器增量内存

512MB

yarn.scheduler.maximum-allocation-mb最大容器内存

230GB

yarn.scheduler.minimum-allocation-vcores最小容器虚拟内核

1

yarn.scheduler.increment-allocation-vcores容器虚拟内核增量

1

yarn.scheduler.maximum-allocation-vcores最大容器虚拟内核

56

yarn.resourcemanager.recovery.enabled启用 ResourceManager Recovery

false

NodeManager

Java Heap Size

1GB

yarn.nodemanager.resource.memory-mb容器内存

230GB

yarn.nodemanager.resource.cpu-vcores容器虚拟内核数量

56

yarn.nodemanager.remote-app-log-dir删除应用程序日志目录

/tmp/logs

Gateway

mapreduce.map.memory.mbMap 任务内存

2GB

mapreduce.reduce.memory.mbReduce 任务内存

4GB

yarn.app.mapreduce.am.resource.mbApplicationMaster 内存

1GB

7.4

Zookeeper配置

服务

选项

配置值

Zookeeper

maxClientCnxns最大客户端连接数

180

Java Heap Size

1GB

maxSessionTimeout最大会话超时

120000

7.5

Hive配置

服务

选项

配置值

HiveServer2

Java Heap Size

4GB

Hive MetaStore

Java Heap Size

8GB

Hive Gateway

Java Heap Size

2GB

本文分享自微信公众号 - Hadoop实操(gh_c4c535955d0f),作者:Fayson

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-02-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 0665-6.2.0-如何在CDH中配置HMS高可用

    Metastore HA解决方案被设计用来处理metastore服务故障。当一个部署的metastore宕机时,metastore服务可能持续相当长的时间不可用...

    Fayson
  • Redhat7.4安装CDH6.0_beta1时分发Parcel异常分析

    Fayson在之前的文章中介绍过《如何在Redhat7.4安装CDH6.0.0_beta1》,但当安装CDH并分发Parcel时,浏览器端会报错Parcel的h...

    Fayson
  • 如何迁移CDH的opt目录

    部分企业对OS的目录空间划分有严格的要求(如:/、/opt、/var等目录),CDH安装的安装目录默认是在/opt下,随着版本的升级和新组件的安装占用了大量的/...

    Fayson
  • 负载均衡故障排错指南 (3)

    wget和curl是两个常用的,基于命令行的文件传输工具软件。这两个工具很类似,但又有所不同。这两个工具都可以通过FTP、HTTP或HTTPS协议来下载内容,通...

    py3study
  • 04-OpenStack的命令行管理

    小朋友呢
  • 腾讯云服务器CVM挂载云硬盘数据盘独立存储与系统盘分离

    老蒋最近有空就在整理常规VPS、服务器数据盘与系统盘的挂载事宜。而且针对不同的服务商确实还是稍有不同,主要是公司最近有一个客户项目数据比较大,而且便于迁移和存储...

    老蒋
  • VulnHub靶机渗透之DC:1

    今天练习的是VulnHub上DC:1这个靶机,下载地址连接如下,有兴趣可以自行下载研究。https://download.vulnhub.com/dc/DC-1...

    光明SAMA
  • 如何在Ubuntu 14.04上配置Nginx以使用自定义错误页面

    Nginx是一款高性能的Web服务器,能够以灵活性和强大的功能提供内容。在设计网页时,自定义用户将看到的每条内容通常很有帮助。这包括他们请求不可用内容时的错误页...

    好烟
  • 【分布式系统设计】:一致性哈希,剖析分布式键值系统的核心算法。

    哈希(hash)可能是是计算机界应用最广泛的算法了,小到 HashMap,大到分布式键值系统(Key-Value Store),哈希算法无处不在。其将无限的,分...

    TechFlow-承志
  • Mongo ObjectId 早就不用机器标识和进程号了

    原文地址: https://blog.wolfogre.com/posts/mongo-objectid-design/

    二狗不要跑

扫码关注云+社区

领取腾讯云代金券