版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Zookeeper分布式协调服务实战实验背景ZooKeeper是一个分布式、高可用性的协调服务。在华为大数据产品中主要提供两个功能:帮助系统避免单点故障,建立可靠的应用程序。提供分布式协作服务和维护配置信息。实验目的掌握Zookeeper常用管理操作。实验前提实验环境创建成功后,请等待1-2分钟,后台在执行start-oms.sh脚本:执行sh${BIGDATA_HOME}/om-server/om/sbin/status-oms.sh命令查看OMS的状态,显示信息表示主备OMS服务启动正常再执行下一步。在windows-client打开GoogleChrome浏览器登录FusionInsightManager地址(00:8080/web)。用户名admin,密码Huawei!@34(如原密码过期,则自行修改密码)实验任务本次实验登录到FusionInsightManager界面后,不需要“启动集群”,可以直接开始实验更改ZooKeeper的存储目录操作场景ZooKeeper定义的存储目录不正确或ZooKeeper的存储规划变化时,系统管理员需要在FusionInsightManager中修改ZooKeeper的存储目录,以保证ZooKeeper正常工作。ZooKeeper的存储目录包含本地数据存放目录“dataDir”。适用于以下场景:更改ZooKeeper角色的存储目录,所有ZooKeeper实例的存储目录将同步修改。更改ZooKeeper单个实例的存储目录,只对单个实例生效,其他节点ZooKeeper实例存储目录不变。对系统的影响更改ZooKeeper角色的存储目录需要停止并重新启动ZooKeeper及相关的服务,集群未启动前无法提供服务。更改ZooKeeper单个实例的存储目录需要停止并重新启动实例,该节点ZooKeeper实例未启动前无法提供服务。前提条件在各个数据节点准备并安装好新磁盘。实验环境中已添加有新磁盘在各个服务器节点中其中fihosts-1、fihosts-2节点添加了一块新磁盘,用于《更改ZooKeeper角色的存储目录》实验。fihosts-3节点添加了两块新磁盘用于《更改ZooKeeper角色的存储目录》与《更改ZooKeeper单个实例的存储目录》实验。规划好新的目录路径,用于保存旧目录中的数据。准备好系统管理员用户admin。操作步骤场景介绍修改ZooKeeper的存储目录场景有两种。更改ZooKeeper角色的存储目录。更改ZooKeeper单个实例的存储目录。更改ZooKeeper角色的存储目录查看ZooKeeper服务状态,如果在运行中则停止ZooKeeper服务选择“服务管理>ZooKeeper>停止服务”,停止ZooKeeper服务。条件允许的情况下,建议关闭集群再迁移ZooKeeper数据。使用PuTTY工具,以root用户登录到安装ZooKeeper服务的各个节点中,执行如下操作。创建目标目录。例如目标目录为“${BIGDATA_DATA_HOME}/zookeeper2”:执行mkdir${BIGDATA_DATA_HOME}/zookeeper2。格式化新磁盘,并挂载目标目录到新磁盘。例如挂载“${BIGDATA_DATA_HOME}/zookeeper2”到新磁盘。以新磁盘名称为/dev/vdd为例:>fdisk/dev/vdd管理磁盘分区DevicecontainsneitheravalidDOSpartitiontable,norSun,SGIorOSFdisklabelBuildinganewDOSdisklabelwithdiskidentifier0xe5c63901.Changeswillremaininmemoryonly,untilyoudecidetowritethem.Afterthat,ofcourse,thepreviouscontentwon'tberecoverable.Warning:invalidflag0x0000ofpartitiontable4willbecorrectedbyw(rite)WARNING:DOS-compatiblemodeisdeprecated.It'sstronglyrecommendedtoswitchoffthemode(command'c')andchangedisplayunitstosectors(command'u').Command(mforhelp):p查看硬盘设备内已有的分区信息Disk/dev/vdd:16.1GB,16106127360bytes16heads,63sectors/track,31207cylindersUnits=cylindersof1008*512=516096bytesSectorsize(logical/physical):512bytes/512bytesI/Osize(minimum/optimal):512bytes/512bytesDiskidentifier:0xe5c63901DeviceBootStartEndBlocksIdSystemCommand(mforhelp):n添加新的分区Commandactioneextendedpprimarypartition(1-4)p创建一个主分区Partitionnumber(1-4):1输入分区编号Firstcylinder(1-31207,default1):此处键入回车Usingdefaultvalue1Lastcylinder,+cylindersor+size{K,M,G}(1-31207,default31207):此处键入回车Usingdefaultvalue31207Command(mforhelp):p再次查看分区信息Disk/dev/vdd:16.1GB,16106127360bytes16heads,63sectors/track,31207cylindersUnits=cylindersof1008*512=516096bytesSectorsize(logical/physical):512bytes/512bytesI/Osize(minimum/optimal):512bytes/512bytesDiskidentifier:0xe5c63901DeviceBootStartEndBlocksIdSystem/dev/vdd113120715728296+83Linux分区信息已存在Command(mforhelp):w保存分区信息Thepartitiontablehasbeenaltered!Callingioctl()tore-readpartitiontable.Syncingdisks.使用file命令查看文件属性。>file/dev/vdd1/dev/vdd1:blockspecial有时候系统并没有自动把分区信息同步到Linux内核中>file/dev/vdd1/dev/vdd1:cannotopen(Nosuchfileordirectory)此时输入partprobe命令手动将分区信息同步到Linux内核中。如果partprobe无法解决,使用reboot命令重启服务器即可。格式化磁盘>mkfs.ext4/dev/vdd1挂载磁盘>mount/dev/vdd1${BIGDATA_DATA_HOME}/zookeeper2查看挂载结果,在输出信息中,有以下内容即成功>df–h……/dev/vdd115G166M14G2%/srv/BigData/zookeeper2……由于mount命令只是临时挂载,服务器重启后会失效。建议修改/etc/fstab文件,实现开机自动挂载>vim/etc/fstab在文件末尾添加一行内容:/dev/vdd1/srv/BigData/zookeeper2ext4defaults,noatime,nodiratime10保存退出!磁盘挂载完成修改新目录的权限。例如新目录路径为“${BIGDATA_DATA_HOME}/zookeeper2”:chmod700${BIGDATA_DATA_HOME}/zookeeper2chownomm:wheel${BIGDATA_DATA_HOME}/zookeeper2将旧的数据复制到新目录cp-pr${BIGDATA_DATA_HOME}/zookeeper/version-2/${BIGDATA_DATA_HOME}/zookeeper2/cp-pr${BIGDATA_DATA_HOME}/zookeeper/myid${BIGDATA_DATA_HOME}/zookeeper2/在FusionInsightManager管理界面,选择“服务管理>ZooKeeper>服务配置”,打开ZooKeeper服务配置页面。将ZooKeeper和quorumpeer的dataDir配置项“dataDir”修改为新的目标目录,例如“${BIGDATA_DATA_HOME}/zookeeper2”。单击“保存配置”,在“保存配置”中查看修改参数是否正确,并勾选“重新启动受影响的服务。”最后单击“确定”,启动ZooKeeper服务。界面提示“操作成功。”,单击“完成”,ZooKeeper成功启动。常见错误这是由于Zookeeper所依赖的krbserver\ldapserver\Dbserver等组件还未启动所造成的错误。解决方法:点击“完成”退出“保存配置”界面,回到“服务管理”界面,在“更多操作”下点击“启动集群”,等待集群启动完成界面提示“操作成功”,单击“完成”,ZooKeeper实例启动成功。删除旧的存储目录“${BIGDATA_DATA_HOME}/zookeeper”,若该目录是独立磁盘挂载的根目录,请先移除磁盘在进行删除操作,任务结束。更改ZooKeeper单个实例的存储目录选择“服务管理>ZooKeeper>实例”,勾选需要修改存储目录的ZooKeeper单个实例,选择“更多操作>停止实例”。本次实验以fihosts-3的quorumpeer为例使用PuTTY工具,以root用户登录到这个ZooKeeper节点,执行如下操作。创建目标目录。例如目标目录为“${BIGDATA_DATA_HOME}/zookeeper3”:执行mkdir${BIGDATA_DATA_HOME}/zookeeper3。挂载目标目录到新磁盘。例如挂载“${BIGDATA_DATA_HOME}/zookeeper3”到新磁盘。创建磁盘分区、格式化、挂载分区的方法参考上一个实验修改新目录的权限。chmod700${BIGDATA_DATA_HOME}/zookeeper3chownomm:wheel${BIGDATA_DATA_HOME}/zookeeper3将旧的数据复制到新目录cp-pr${BIGDATA_DATA_HOME}/zookeeper2/version-2/${BIGDATA_DATA_HOME}/zookeeper3/cp-pr${BIGDATA_DATA_HOME}/zookeeper2/myid${BIGDATA_DATA_HOME}/zookeeper3/在FusionInsightManager管理界面,单击指定的ZooKeeper实例并切换到“实例配置”。将ZooKeeper和quorumpeer的dataDir配置项“dataDir”修改为新的目标目录,例如“${BIGDATA_DATA_HOME}/zookeeper3”。单击“保存配置”,在“保存配置”中勾选“重新启动角色实例。”并单击“确定”,启动ZooKeeper实例。界面提示“操作成功”,单击“完成”,ZooKeeper实例启动成功。删除旧的存储目录“${BIGDATA_DATA_HOME}/zookeeper”,若该目录是独立磁盘挂载的根目录,请先移除磁盘在进行删除操作,任务结束。ZooKeeper权限设置操作场景该操作指导用户对ZooKeeper的znode设置权限。ZooKeeper通过访问控制列表(ACL)来对znode进行访问控制。ZooKeeper客户端为znode指定ACL,ZooKeeper服务器根据ACL列表判定某个请求znode的客户端是否有对应操作的权限。ACL设置涉及如下四个方面。查看ZooKeeper中znode的ACL。增加ZooKeeper中znode的ACL。修改ZooKeeper中znode的ACL。删除ZooKeeper中znode的ACL。ZooKeeperACL权限说明ZooKeeper目前支持create,delete,read,write,admin五种权限,且ZooKeeper对权限的控制是znode级别的,而且不继承,即对父znode设置权限,其子znode不继承父znode的权限。ZooKeeper中znode的默认权限为world:anyone:cdrwa,即任何用户都有所有权限。说明:ACL有三部分:第一部分是认证类型,如world指所有认证类型,sasl是kerberos认证类型;第二部分是帐号,如anyone指的是任何人;第三部分是权限,如cdrwa指的是拥有所有权限。特别的,由于普通模式启动客户端不需要认证,sasl认证类型的ACL在普通模式下将不能使用。本文所有涉及sasl方式的鉴权操作均是在安全集群中进行。表1Zookeeper的五种ACL权限说明权限简称权限详情创建权限create(c)可以在当前znode下创建子znode删除权限delete(d)删除当前的znode读权限read(r)获取当前znode的数据,可以list当前znode所有的子znodes写权限write(w)向当前znode写数据,写入子znode管理权限admin(a)设置当前znode的权限对系统的影响注意:修改ZooKeeper的ACL是高危操作。修改ZooKeeper中znode的权限,可能会导致其他用户无权限访问该znode,导致系统功能异常。前提条件已安装好ZooKeeper的Shell客户端,具体操作请参见《安装FusionInsightHD客户端》。已获取系统管理员用户和密码。操作步骤启动ZooKeeper客户端使用PuTTY工具,以root用户登录安装了ZooKeeper客户端的服务器(fihosts-1:/opt/hadoopclient),进入客户端安装目录,执行以下命令配置环境变量。sourcebigdata_env执行以下命令认证用户身份,并输入用户密码(任意有权限用户,这里以admin为例,普通模式不涉及)。kinitadmin在ZooKeeper客户端执行以下命令,进入ZooKeeper命令行。shzkCli.sh-serverZooKeeper任意实例所在节点业务平面IP:clientPort默认的“clientPort”为“24002”例如:shzkCli.sh-server:24002登录ZooKeeper客户端后,使用ls命令,可以查看ZooKeeper中的znode列表。例如,可以查看根目录znode列表的“ls/”命令[zk:51:24002(CONNECTED)1]ls/[hadoop,hadoop-adapter-data,hadoop-flag,hadoop-ha,hbase,hive,hiveserver2,loader,rmstore,yarn-leader-election,zookeeper]查看ZooKeeperznodeACL信息启动ZooKeeper客户端。使用getAcl命令,可以查看znode。如下命令,可以查看到提前创建的名为hbase的znode的ACL权限。命令格式:getAcl/znode名称[zk:51:24002(CONNECTED)2]getAcl/hbase'sasl,'hbase@HADOOP.COM:cdrwa'sasl,'hbase/@HADOOP.COM:cdrwa'world,'anyone:r创建、增加ZooKeeperznodeACL信息使用create命令创建ACL。命令如下:create[-s][-e][-c]path[data][acl]例如创建一个名称为test的ACLcreate/testCreated/test使用“ls/”和“getAcl”命令查看ACLtest是否有创建成功,默认权限是什么[zk::24002(CONNECTED)14]ls/[hadoop,hadoop-adapter-data,hadoop-flag,hadoop-ha,hbase,hive,hiveserver2,loader,rmstore,test,yarn-leader-election,zookeeper][zk::24002(CONNECTED)15]getAcl/test'world,'anyone:cdrwa使用setAcl命令增加权限。设置新权限命令如下:setAcl/testworld:anyone:cdrwa,sasl:用户名@域信息:权限值例如对test的znode,需要增加admin用户的权限:setAcl/testworld:anyone:cdrwa,sasl:admin@HADOOP.COM:cdrwa说明:增加权限时,需要保留已有权限。新增加权限和旧的权限用英文逗号隔开,新增加权限有三个部分:第一部分是认证类型,如sasl指使用kerberos认证;第二部分是帐号,如admin@HADOOP.COM指的是admin用户;第三部分是权限,如cdrwa指的是拥有所有权限。setAcl后,可以使用getAcl命令查看增加权限是否成功:命令格式:getAcl/znode名称[zk:51:24002(CONNECTED)4]getAcl/test'world,'anyone:cdrwa'sasl,'admin@HADOOP.COM:cdrwa修改ZooKeeperznodeACL信息启动ZooKeeper客户端。查看旧的ACL信息,查看当前帐号是否有权限修改该znode的ACL信息的权限(a权限),如果没有权限,需要kinit登录有权限的用户,并重新启动ZooKeeper客户端。命令格式:getAcl/znode名称[zk:51:24002(CONNECTED)5]getAcl/test'world,'anyone:cdrwa'sasl,'admin@HADOOP.COM:cdrwa使用setAcl命令修改权限。设置新权限命令如下:setAcl/testsasl:用户名@域信息:权限值例如仅保留admin用户的所有权限,删除anyone用户的rw权限,。setAcl/testsasl:admin@HADOOP.COM:cdrwasetAcl后,可以使用getAcl命令查看修改权限是否成功:命令格式:getAcl/znode名称[zk:51:24002(CONNECTED)6]getAcl/test'sasl,'admin@HADOOP.COM:cdrwa删除ZooKeeperznodeACL使用delete命令删除ACL命令格式:delete/znode名称[zk::24002(CONNECTED)38]delete/test[zk::24002(CONNECTED)39]ls/[hadoop,hadoop-adapter-data,hadoop-flag,hadoop-ha,hbase,hive,hiveserver2,loader,rmstore,yarn-leader-election,zookeeper]更改ZooKeeper的事务日志目录操作场景ZooKeeper在运行过程中会产生事务日志和快照日志,ZooKeeper默认将事务日志和快照日志都存储在dataDir对应的目录下。在读写操作频繁或数据量大的情况下,为了提高系统性能,建议将事务日志和快照日志存储在不同的磁盘上。对系统的影响更改ZooKeeper的事务日志目录需要停止并重新启动ZooKeeper及相关的服务,集群未启动前无法提供服务。前提条件在各个数据节点准
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 注册会计师审计中审计抽样统计抽样非统计抽样的选择标准
- 材料作文:许多人明明懂得真正的成长与突破从来都是日复一日的沉淀厚积薄发这一过程平凡而艰辛
- 某玻璃厂熔炉操作细则制度
- 木材加工厂木材加工流程制度
- 2026陕西汉中市精神病医院招聘5人备考题库及完整答案详解
- 2026北京大学生命科学学院招聘动物实验科研助理1人备考题库附参考答案详解(研优卷)
- 2025-2026福建厦门市翔安区舫山小学非在编合同教师招聘1人备考题库带答案详解(综合卷)
- 2026山东济南市第二妇幼保健院招聘卫生高级人才(控制总量)2人备考题库含答案详解(培优b卷)
- 某钢铁厂原料运输规范细则
- 2026内蒙古康远工程建设监理有限责任公司成熟电力工程监理人才招聘67人备考题库带答案详解(典型题)
- 2026天津市管道工程集团有限公司人才引进招聘3人笔试模拟试题及答案解析
- 一年级数学10以内加减法计算专项练习题(每日一练共18份)
- 2026陕西西安电子科技大学期刊中心编辑招聘2人备考题库附答案详解(考试直接用)
- 《特种设备使用管理规则 TSG08-2026》解读
- 医院工程项目监理大纲
- 农场孩子活动策划方案(3篇)
- 医疗器械生产质量管理规范自查表(2026版)
- 单纯性肾囊肿诊疗指南(2025年版)
- 中国阿尔茨海默病痴呆诊疗指南(2025年版)
- 中西医结合治疗肺癌
- 2026年国药数字科技(北京)有限公司招聘备考题库及参考答案详解一套
评论
0/150
提交评论