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

2019-11-28 23:23:09 浏览数 (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

代码语言:javascript复制
echo "vm.swappiness = 1" >> /etc/sysctl.conf
echo 1> /proc/sys/vm/swappiness

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

vim /etc/zypp/repos/iso.repo

代码语言:javascript复制
[iso]
name=iso
enabled=1
autorefresh=0
baseurl=file:///mnt
path=/
type=yast2
keeppackages=0

3. 安装httpd

代码语言:javascript复制
zypper install httpd

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

代码语言:javascript复制
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

代码语言:javascript复制
<Directory "/srv/www/htdocs/iso">
    Option Indexes AllowFollowSymLinks
    AllowOverride None
</Directory>

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

代码语言:javascript复制
mkdir /srv/www/htdocs/cm6.1.0
mkdir /srv/www/htdocs/cdh6.1.0

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

代码语言:javascript复制
cd /srv/www/htdocs/cm6.1.0
createrepo .

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

vim /etc/apache2/httpd.conf

代码语言:javascript复制
<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

代码语言:javascript复制
[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

代码语言:javascript复制
[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

代码语言:javascript复制
zypper install oracle-j2sdk1.8

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

代码语言:javascript复制
zypper install cloudera-manager-server cloudera-manager-agent

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

代码语言:javascript复制
vim /etc/cloudera-scm-agent/config.ini

在数据盘下创建目录

代码语言:javascript复制
mkdir -p /data1/var/lib
mkdr -p /data1/var/log

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

代码语言:javascript复制
mv /var/lib/cloudera-scm-agent /data1/var/lib
mv /var/log/cloudera-scm-agent /data1/var/log

启动agent

代码语言:javascript复制
systemctl start cloudera-scm-agent

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

代码语言:javascript复制
vim /opt/cloudera/cm/bin/cm-server

将目录文件移到数据盘上

代码语言:javascript复制
mv /var/log/cloudera-scm-server /data1/var/log

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

代码语言:javascript复制
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进行拉取

代码语言:javascript复制
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

代码语言:javascript复制
systemctl start cloudera-scm-server

3.3

其他节点安装agent

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

1. 安装jdk1.8

代码语言:javascript复制
zypper install oracle-j2sdk1.8

2. 安装cloudera-manager-agent

代码语言:javascript复制
zypper install cloudera-manager-agent

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

代码语言:javascript复制
vim /etc/cloudera-scm-agent/config.ini

在数据盘下创建目录

代码语言:javascript复制
mkdir -p /sdata1/var/lib
mkdr -p /sdata1/var/log

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

代码语言:javascript复制
mv /var/lib/cloudera-scm-agent /sdata1/var/lib
mv /var/log/cloudera-scm-agent /sdata1/var/log

4. 配置postgresql数据库驱动

代码语言:javascript复制
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

代码语言:javascript复制
systemctl start cloudera-scm-agent

3.4

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

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

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

代码语言:javascript复制
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

0 人点赞