ClouderaManager大数据平台部署指南.docx
- 文档编号:17830224
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:15
- 大小:274.16KB
ClouderaManager大数据平台部署指南.docx
《ClouderaManager大数据平台部署指南.docx》由会员分享,可在线阅读,更多相关《ClouderaManager大数据平台部署指南.docx(15页珍藏版)》请在冰点文库上搜索。
ClouderaManager大数据平台部署指南
部署指南ClouderaManagerCDH
官方共给出了3中安装方式。
第一种方法必须要求所有机器都能连网,由于各种网络超时错误,基本没法用。
第二种方法使用CM的在线yum源,在线下载很多包,同样是超时严重。
第三种方法是全离线方式,实际情况是也只能用这个。
1、ClouderaManager的部署条件
∙CDH不支持在容器中部署。
∙支持OracleJDK7,目前可使用的最新版本为1.7u80,C5.3.x及以上版本也支持使用oracleJDK8,同一个CDH集群中的所有节点使用的JDK版本必须一致。
∙使用Python2.4及以上,不支持Python3
∙仅支持IPv4,且IPv6必须要disabled
∙基于tar压缩包的离线安装方式,会在6.0.0中停止支持该方式。
∙支持selinux,但如果不熟悉使用方法,建议关闭。
∙管理端口为7180,此外还有很多基础应用使用的端口,可以运行iptables,需要确认有恰当的授权控制,例如至少要对同网段的访问放开全部端口。
2、ClouderaManager部署的几个阶段和可选择的方式
注:
因为ClouderaManager的官方yum源位于国外,受网速影响而无法正常使用。
所以上述部署方式中,一般是使用PATHC,或者在预先下载好相关RPM包的条件下参照PATHB方式。
3、主机节点信息和基础配置
(1)主机信息
本次部署使用以下主机,前两个作为NameNode使用。
后四个主机,分别额外挂载一块1TB的磁盘到本地的/dfs/dn目录下。
注1:
用于大数据平台的数据磁盘不要配置RAID,直接祼盘即可。
如果有RAID控制器,则直接对每块盘设置一个单独的RAID0,仍然当作单盘使用。
注2:
在有第二块数据盘的情况下,继续挂载到/dfs/dn2,更多的数据盘则按命名规则和挂盘规则扩展即可。
注3:
对于生产环境而言,NameNode所在的节点一般不要同时做数据节点使用。
而且NameNode所在主机的磁盘需要配置适当的RAID保护级别,以提高可靠性。
注4:
对于DataNode所在的主机节点,建议系统盘和数据盘完全隔离开,然后系统盘使用两磁盘配置为RAID1以提高可靠性。
虽然数据节点是冗余的,挂一个也不影响CDH平台运行,但修起来还是很麻烦啊。
172.17.10.70 cluster-70
172.17.10.71 cluster-71
172.17.10.72 cluster-72
172.17.10.73 cluster-73
172.17.10.74 cluster-74
172.17.10.75 cluster-75
操作系统全部使用CentOS6.9Minimal安装。
将全部主机的主机名设置好,并将以上映射关系写到每个主机的/etc/hosts文件中。
(2)免密登录
在cluster-70节点上制作ssh密钥:
ssh-keygen
将该密钥分发至其它各节点,以实现免密钥登录,如:
ssh-copy-id cluster-71
(3)selinux和iptables
所有节点配置为关闭selinux。
所有节点的iptables设置为对同网段地址放开全部端口的访问权限。
(4)系统性能参数调整
中即可。
cat<
vm.swappiness=0
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv4.ip_local_port_range=102465000
EOF
sysctl-p
echonever>/sys/kernel/mm/transparent_hugepage/defrag
echonever>/sys/kernel/mm/transparent_hugepage/enabled
cat<
echonever>/sys/kernel/mm/transparent_hugepage/defrag
echonever>/sys/kernel/mm/transparent_hugepage/enabled
EOF
4、安装JDK
下载并分发OracleJDK安装包至所有节点,执行安装和配置命令。
rpm-ivhjdk-7u80-linux-x64.rpm
直接刷下面脚本完成配置:
cat<
JAVA_HOME=/usr/java/jdk1.7.0_80
PATH=\$JAVA_HOME/bin:
\$PATH:
.
CLASSPATH=.:
$JAVA_HOME/lib/dt.jar:
$JAVA_HOME/lib/tools.jar
exportJAVA_HOME
exportPATH
exportCLASSPATH
EOF
source/etc/profile
以上JDK配置,需要在每个节点上都处理。
5、安装和配置数据库
主要有以下业务会使用到数据库服务:
∙ClouderaManager,存放各种服务、配置数据,空间大约100MB,很重要,应经常备份;
∙OozieServer-ContainsOozieworkflow,coordinator,andbundledata.Cangrowverylarge.
∙SqoopServer-Containsentitiessuchastheconnector,driver,linksandjobs.Relativelysmall.
∙ActivityMonitor-Containsinformationaboutpastactivities.Inlargeclusters,thisdatabasecangrowlarge.ConfiguringanActivityMonitordatabaseisonlynecessaryifaMapReduceserviceisdeployed.
∙ReportsManager-Tracksdiskutilizationandprocessingactivitiesovertime.Medium-sized.
∙HiveMetastoreServer-ContainsHivemetadata.Relativelysmall.
∙HueServer-Containsuseraccountinformation,jobsubmissions,andHivequeries.Relativelysmall.
∙SentryServer-Containsauthorizationmetadata.Relativelysmall.
∙ClouderaNavigatorAuditServer-Containsauditinginformation.Inlargeclusters,thisdatabasecangrowlarge.
∙ClouderaNavigatorMetadataServer-Containsauthorization,policies,andauditreportmetadata.Relativelysmall.
(1)因为准备使用cluster-70作为NameNodeMaster,所以把mysql数据库安装在cluster-71上面,以分散下风险。
登录cluster-71,然后使用任一种自己熟悉的方式把mysql数据库安装好即可:
yuminstallmysql-servermysql
chkconfigmysqldon
servicemysqldstart
完成数据库初始化:
/usr/bin/mysql_secure_installation
(2)优化数据库配置
servicemysqldstop
将旧的InnoDBlog文件移走:
/var/lib/mysql/ib_logfile0and/var/lib/mysql/ib_logfile1outof/var/lib/mysql/
参照下面调整f参数,以更适合CDH服务使用:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
#Disablingsymbolic-linksisrecommendedtopreventassortedsecurityrisks
symbolic-links=0
transaction-isolation=READ-COMMITTED
key_buffer_size=32M
max_allowed_packet=32M
thread_stack=256K
thread_cache_size=64
query_cache_limit=8M
query_cache_size=64M
query_cache_type=1
max_connections=550
#binlog_format=mixed
read_buffer_size=2M
read_rnd_buffer_size=16M
sort_buffer_size=8M
join_buffer_size=8M
#InnoDBsettings
innodb_file_per_table=1
innodb_flush_log_at_trx_commit =2
innodb_log_buffer_size=64M
innodb_buffer_pool_size=2G
innodb_thread_concurrency=8
innodb_flush_method=O_DIRECT
innodb_log_file_size=512M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
sql_mode=STRICT_ALL_TABLES
启动mysql,如果有报错,可根据日志信息排查。
(3)创建需要使用的几个库
createdatabasedatabaseDEFAULTCHARACTERSETutf8;
grantallondatabase.*TO'user'@'%'IDENTIFIEDBY'password';
注:
在部署中发现hive,oozie使用的库需要使用latin字符集,否则在启动服务时日志中会报错创建索引时超长度限制。
(4)安装程序驱动包mysqljdbcdriver
总计有以下角色所在的主机需要安装这个驱动包。
如果你把以下角色都部署在一个主机节点上,那就只需要安装一个节点的驱动,否则就需要各节点都部署一下。
ClouderaManagerServerhost,ActivityMonitor,ReportsManager,HiveMetastoreServer,HueServer,SentryServer,ClouderaNavigatorAuditServer,andClouderaNavigatorMetadataServer
从以下网址下载需要使用的驱动包:
/connector/j/5.1.html
tar-zxvf mysql-connector-java-
mkdir-p/usr/share/java/
cpmysql-connector-java-/usr/share/java/mysql-connector-java.jar
6、配置NTP时间同步服务
在所有节点上安装和启用。
如果是内网环境,也需要另想办法保证所有节点的系统时间严格同步。
yum-yinstallntp
servicentpdrestart
chkconfigntpdon
注:
请选择一个节点做为ntpserver直接和外部时间服务器同步,其它所有节点均配置/etc/ntp.conf,将同步的server信息指向前面这个节点即可。
7、安装ClouderaManagerServer软件
我们选择把ClouderaManagerServer部署在cluster-70节点上。
(1)下载和分发安装资源
clouderamanager下载地址:
/cm/5/
cdhparcels下载地址:
/parcels/
wget-c /cm/5/cloudera-manager-el6-
wget-c/parcels/5.12/CDH-
wget-c /parcels/5.12/CDH-
wget-c /parcels/5.12/manifest.json
变更为sha,否则上传到系统中后,CDH平台反而会说找不到sha文件。
将cloudera-manager-el6-文件放到所有节点的/opt/cloudera-manager目录下。
mkdir/opt/cloudera-manager
cd/opt
tarzxvfcloudera-manager-el6-
(2)创建CMServer系统用户账号
useradd--system--home=/opt/cloudera-manager/cm---no-create-home--shell=/bin/false--comment"ClouderaSCMUser"cloudera-scm
(3)创建CMServer的本地数据存储目录
登录cluster-70:
mkdir-p/var/lib/cloudera-scm-server
chowncloudera-scm:
cloudera-scm/var/lib/cloudera-scm-server
(4)配置所有节点上的ClouderaManagerAgents
sed-i's/server_host=localhost/server_host=cluster-70/'/opt/cloudera-manager/cm-
(5)创建和初始化CMServer数据库
我们的mysql数据库是安装在cluster-71上面,登录cluster-71:
部署一个JDBC驱动包:
cp mysql-connector-java- /opt/cloudera-manager/cm-
初始化脚本语法如下:
scm_prepare_database.shdatabase-type[options]database-nameusernamepassword
/opt/cloudera-manager/cm-mysql-hlocalhost-uroot-pHstest2017scmscmscm
屏幕输出信息:
JAVA_HOME=/usr/java/
Verifyingthatwecanwriteto/opt/cloudera-manager/cm-
CreatingSCMconfigurationfilein/opt/cloudera-manager/cm-
Executing:
/usr/java/-cp/usr/share/java/mysql-connector-java.jar:
/usr/share/java/oracle-connector-java.jar:
/opt/cloudera-manager/cm-/opt/cloudera-manager/cm-
[main]DbCommandExecutor INFO Successfullyconnectedtodatabase.
Alldone,yourSCMdatabaseisconfiguredcorrectly!
登录mysql,增加一条对CMServer主机的访问授权:
grantallonscm.*TO'scm'@'cluster-70'IDENTIFIEDBY'scm';
登录cluster-70节点配置CMServer的数据库配置文件:
/opt/cloudera-manager/cm-
需要根据实际情况更新以下参数。
(6)创建CDHParcel资源目录
在cluster-70节点上:
mkdir-p/opt/cloudera/parcel-repo
将以下已经准备好的parcel资源文件放入该目录:
∙CDH-
∙CDH-
∙manifest.json
chown-Rcloudera-scm:
cloudera-scm/opt/cloudera/parcel-repo
在其它所有节点上:
mkdir-p/opt/cloudera/parcels
chowncloudera-scm:
cloudera-scm/opt/cloudera/parcels
(7)启动clouderamanagerserverandagents
直接使用root运行启动脚本即可,脚本中已经默认设定为会切换到cloudera-scm用户运行进程。
在所有节点上,先调整下文件属主权限:
chown-Rcloudera-scm:
cloudera-scm/opt/cloudera-manager
在cluster-70节点上启动CMServer:
/opt/cloudera-manager/cm- start
在所有节点上启动CMagent:
/opt/cloudera-manager/cm- start
注:
在启动上面的服务时,注意检查进程是否运行,是否因报错退出。
可以检查../../log/下面的日志文件,分析错误原因。
8、登录ClouderaManager管理控制台并配置CDH服务
访问以下地址:
.70:
7180/cmf
初始管理账号信息为:
admin/admin
(1)登录后按提示操作,先是选择license许可,如果没采购企业许可,就选免费版,继续。
(2)选择要加入CDH集群的主机,因为我们已经配置好6台主机的访问关系了,这6个主机会被自动识别出来,选中然后下一步。
(3)安装CDH服务的方式,选择使用Parcels,因为之前已经把离线安装资源放到系统默认的路径下了,这里会自动识别到,点击下一步将开始在CDH集群各节点中分发所有需要使用的应用的parcels安装资源。
(4)经过一个主机正确性检查的步骤,点击完成按钮。
如果系统提示有参数配置上的优化建议,遵照处理后重新做检验检查即可。
(5)选择一种集群服务组合,如果不确定哪个组合更合适,选择“全部服务”也可以。
(6)进入集群角色分配环节,这一步比较关键,注意要把NameNode分配到我们设计的cluster-70节点,SecondaryNameNode分配到cluster-71节点上。
注意调整HDFS的DataNode角色,自定义分配到cluster-72到cluster-75这4个节点上。
注意有多个服务的角色是还没有分配的,请将这些角色统一都分配到cluster-71节点上即可,这样做是因为简化数据节点的角色和职责,便于维护,且cluster-70节点已经被默认分配了很多的角色了,也不适合再继续增加。
(7)下一步,进入数据库设置。
按实际配置信息填写,然后下一步。
(8)进入审核更改环节,检查下DataNode数据目录,设置为/dfs/dn;NameNode的数据目录设置为/dfs/nn。
这里要特别注意,如果给数据节点准备了多块数据磁盘,要在这里定义更多的“DataNode数据目录”,即按照/dfs/dn2,/dfs/dn3这样的规则继续增加即可。
前文已经说过,在数据节点有多块数据磁盘时,按这样的规则挂载到系统中的。
(9)在进入下一步之前有一个细节非常重要,因为我们是使用的独立的数据磁盘,挂载到系统的/dfs/dn这样的路径下的。
这个路径是我们手动创建的,而非CDH服务自行生成,所以这个目录存在属主权限问题,会直接造成下一步骤中的HDFS启动失败。
请在所有的主机节点上面执行:
chown-Rhdfs.hadoop/dfs/dn
(10)点击下一步,即完成了所有配置任务,并进入了首次运行服务启动命令的环节。
9、启动服务并解决各种问题
∙hive和solr服务在启动前,都需要先在clouderamanager管理平台上菜单中点击库表数据初始化。
∙在启动后发现hbasemaster角色无法启动,日志中报错“Permissiondenied:
user=hbase,access=WRITE,inode="/":
hdfs:
supergroup:
drwxr-xr-x”。
解决办法为,在管理平台上进入HDFS的参数配置界面,找到dfs.permissions,设置为false。
详细说明参见下面链接:
/CDH-Manual-Installation/Permission-denied-user-root-access-WRITE-inode-quot-user-quot/td-p/4943
∙其它多个服务在启动过程中也或多或少遇到一些问题,但都不难解决,指导思想就是先看CDH管理平台上的报错信息、报错日志,再到系统的/var/log下查看下服务日志,基本上都能定位到问题的原因。
大多数问题,都能在网上找到处理类似问题的帮助资料。
有几类常见问题:
∙
o权限类问题,目录或文件属主设置不对;
o服务之间的访问权限,这些问题一般都可以通过直接在CDH管理平台上微调少量的服务配置参数解决;
10、怎么增加更多的应用服务
比如要增加KAFKA服务。
先下载parcel资源文件:
/parcels/latest/KAFKA-
/parcels/latest/KAFKA-
然后把以上两个文件放到cluster-70节点的/opt/cloudera/parcel-repo路径下。
注意设置下文件属主,重命名下sha文件的后缀。
最终登录CDH管理平台,从主机菜单中选择pacel菜单项,点击检查新parcel资源。
按提示操作,完成新parcel资源的分发和激活即可使用了。
2017年8月11日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ClouderaManager 数据 平台 部署 指南