云服务器内容精选

  • 样例代码 使用Python方式提交数据分析任务,参考样例程序中的“hive-examples/python-examples/pyCLI_sec.py”。 导入HAConnection类。 from pyhs2.haconnection import HAConnection 声明HiveServer的IP地址列表。本例中hosts代表HiveServer的节点,xxx.xxx.xxx.xxx代表业务IP地址。 hosts = ["xxx.xxx.xxx.xxx", "xxx.xxx.xxx.xxx"] 如果HiveServer实例被迁移,原始的示例程序会失效。在HiveServer实例迁移之后,用户需要更新示例程序中使用的HiveServer的IP地址。 在HAConnection的第三个参数填写正确的用户名,密码可以不填写。创建连接,执行HQL,样例代码中仅执行查询所有表功能,可根据实际情况修改HQL内容,输出查询的列名和结果到控制台。 try: with HAConnection(hosts = hosts, port = 21066, authMechanism = "PLAIN", user='root', password='******') as haConn: with haConn.getConnection() as conn: with conn.cursor() as cur: # Show databases print cur.getDatabases() # Execute query cur.execute("show tables") # Return column info from query print cur.getSchema() # Fetch table results for i in cur.fetch(): print i except Exception, e: print e
  • Python3样例工程的命令行形式运行 赋予“python3-examples”文件夹中脚本的可执行权限。在命令行终端执行以下命令: chmod +x python3-examples -R。 在python3-examples/pyCLI_nosec.py中的host的值修改为安装HiveServer的节点的业务平面IP,port的值修改为Hive提供Thrift服务的端口(hive.server2.thrift.port),默认为21066。 Hive多实例的python客户端命令行形式:“python3-examples/pyCLI_nosec.py”不仅要修改host,还需根据所使用的实例修改port,port为Hive提供Thrift服务的端口(hive.server2.thrift.port)。 执行以下命令运行Python3客户端: cd python3-examples python pyCLI_nosec.py 在命令行终端查看样例代码中的HQL所查询出的结果。例如: [['default', '']] [{'comment': 'from deserializer', 'columnName': 'tab_name', 'type': 'STRING_TYPE'}] ['xx']
  • 准备开发环境 Hive组件可以使用JDBC/Python/Python3接口进行应用开发,要准备的开发和运行环境分别如下表所示。 表1 JDBC开发环境 准备项 说明 操作系统 开发环境:Windows系统,支持Windows7以上版本。 运行环境:Windows系统或Linux系统。 如需在本地调测程序,运行环境需要和集群业务平面网络互通。 安装JDK 开发和运行环境的基本配置。版本要求如下: 服务端和客户端仅支持自带的OpenJDK,版本为1.8.0_272,不允许替换。 对于客户应用需引用SDK类的Jar包运行在客户应用进程中的。 X86客户端:Oracle JDK:支持1.8版本;IBM JDK:支持1.8.5.11版本。 TaiShan客户端:OpenJDK:支持1.8.0_272版本。 说明: 基于安全考虑,服务端只支持TLS V1.2及以上的加密协议。 IBM JDK默认只支持TLS V1.0,若使用IBM JDK,请配置启动参数“com.ibm.jsse2.overrideDefaultTLS”为“true”,设置后可以同时支持TLS V1.0/V1.1/V1.2,详情参见https://www.ibm.com/support/knowledgecenter/zh/SSYKE2_8.0.0/com.ibm.java.security.component.80.doc/security-component/jsse2Docs/matchsslcontext_tls.html#matchsslcontext_tls。 安装和配置IntelliJ IDEA 用于开发Hive应用程序的工具。版本要求如下: JDK使用1.8版本,IntelliJ IDEA使用2019.1或其他兼容版本。 说明: 若使用IBM JDK,请确保IntelliJ IDEA中的JDK配置为IBM JDK。 若使用Oracle JDK,请确保IntelliJ IDEA中的JDK配置为Oracle JDK。 若使用Open JDK,请确保IntelliJ IDEA中的JDK配置为Open JDK。 安装Maven 开发环境的基本配置。用于项目管理,贯穿软件开发生命周期。 准备开发用户 参考准备 MRS 应用开发用户进行操作,准备用于应用开发的集群用户并授予相应权限。 7-zip 用于解压“*.zip”和“*.rar”文件,支持7-Zip 16.04版本。 表2 Python开发环境 准备项 说明 操作系统 开发环境和运行环境:Linux系统。 安装Python 用于开发Hive应用程序的工具,版本要求不低于2.6.6,最高不超过2.7.13。 安装setuptools Python开发环境的基本配置,版本要求5.0以上。 准备开发用户 参考准备MRS应用开发用户进行操作,准备用于应用开发的集群用户并授予相应权限。 Python开发工具的详细安装配置可参见配置Hive Python样例工程。 表3 Python3开发环境 准备项 说明 操作系统 开发环境和运行环境:Linux系统。 安装Python3 用于开发Hive应用程序的工具,版本要求不低于3.6,最高不超过3.8。 安装setuptools Python3开发环境的基本配置,版本要求为47.3.1。 准备开发用户 参考准备MRS应用开发用户进行操作,准备用于应用开发的集群用户并授予相应权限。 Python3开发工具的详细安装配置可参见配置Hive Python3样例工程。
  • 准备开发环境 Hive组件可以使用JDBC/Python/Python3接口进行应用开发,要准备的开发和运行环境分别如下表所示。 表1 JDBC开发环境 准备项 说明 操作系统 开发环境:Windows系统,支持Windows7以上版本。 运行环境:Windows系统或Linux系统。 如需在本地调测程序,运行环境需要和集群业务平面网络互通。 安装JDK 开发和运行环境的基本配置。版本要求如下: 服务端和客户端仅支持自带的OpenJDK,版本为1.8.0_272,不允许替换。 对于客户应用需引用SDK类的Jar包运行在客户应用进程中的。 X86客户端:Oracle JDK:支持1.8版本;IBM JDK:支持1.8.5.11版本。 TaiShan客户端:OpenJDK:支持1.8.0_272版本。 说明: 基于安全考虑,服务端只支持TLS V1.2及以上的加密协议。 IBM JDK默认只支持TLS V1.0,若使用IBM JDK,请配置启动参数“com.ibm.jsse2.overrideDefaultTLS”为“true”,设置后可以同时支持TLS V1.0/V1.1/V1.2,详情参见https://www.ibm.com/support/knowledgecenter/zh/SSYKE2_8.0.0/com.ibm.java.security.component.80.doc/security-component/jsse2Docs/matchsslcontext_tls.html#matchsslcontext_tls。 安装和配置IntelliJ IDEA 用于开发Hive应用程序的工具。版本要求如下: JDK使用1.8版本,IntelliJ IDEA使用2019.1或其他兼容版本。 说明: 若使用IBM JDK,请确保IntelliJ IDEA中的JDK配置为IBM JDK。 若使用Oracle JDK,请确保IntelliJ IDEA中的JDK配置为Oracle JDK。 若使用Open JDK,请确保IntelliJ IDEA中的JDK配置为Open JDK。 安装Maven 开发环境的基本配置。用于项目管理,贯穿软件开发生命周期。 7-zip 用于解压“*.zip”和“*.rar”文件,支持7-Zip 16.04版本。 表2 Python开发环境 准备项 说明 操作系统 开发环境和运行环境:Linux系统。 安装Python 用于开发Hive应用程序的工具,版本要求不低于2.6.6,最高不超过2.7.13。 安装setuptools Python开发环境的基本配置,版本要求5.0以上。 Python开发工具的详细安装配置可参见配置Hive Python样例工程。 表3 Python3开发环境 准备项 说明 操作系统 开发环境和运行环境:Linux系统。 安装Python3 用于开发Hive应用程序的工具,版本要求不低于3.6,最高不超过3.8。 安装setuptools Python3开发环境的基本配置,版本要求为47.3.1。 Python3开发工具的详细安装配置可参见配置Hive Python3样例工程。
  • 安装补丁过程中对现行系统的影响 安装补丁过程中会重启 OMS ,会导致MRS Manager页面无法访问,预计持续10-20分钟。 安装补丁过程中会影响弹性伸缩以及MRS Manager上正在运行的任务,升级前请确认已经关闭弹性伸缩,并且MRS Manager上没有正在运行的任务。 安装补丁过程中,不允许在作业管理页面提交作业。 安装补丁过程包括组件重启,支持滚动重启和离线重启,请选择合适的方法,重启过程不能省略。 补丁安装后操作不能省略,若没有执行此操作,会影响Spark、HDFS、Flink等组件的补丁生效,会导致Spark client模式的作业运行失败。
  • 补丁基本信息说明 表1 补丁基本信息 补丁号 MRS 3.1.0.0.16 发布时间 2024-11-25 解决的问题 提交Spark SQL作业,中文冒号被转换成英文冒号。 Spark SQL外表动态分区执行insert overwrite报错。 Spark JDBC产生空指针报错。 Spark JD BCS erver任务并发长稳运行出现端口冲突,导致连接失败。 Spark Streaming写HBase换盘场景中,加入黑名单中的Executor会残留。 MRS集群Spark2x的“listing.ldb”文件夹不自动清理,导致根目录写满。 Spark数据保护黑名单中防止创建表Location指定路径到库后,导致删除表之后库数据丢失。 Spark启用Ranger鉴权场景中的show tables性能增强。 Spark查询数据量与Hive查询数据量不一致。 DGC并发提交Flink作业偶现下载keytab文件失败。 Impala异常重启。Impala queries页面采集数据时和提交SQL查询时读取了同一个vector容器,导致查询queries数据时coredump重启。 开启haproxyfloatname的Kerberos Principal后,Impala服务不可用,Impalad实例亚健康。 Yarn ResourceManager内存占满触发Full GC 100+s,不能及时进行主备倒换。 Yarn NodeManager心跳丢失。 Yarn ResourceManager偶现空指针报错导致重启。 Yarn ResourceManager内存泄漏。 Yarn客户侧ResourceManager报错空指针并发生主备倒换。 重启Router或者NameNode时延高时,作业有概率在new状态卡顿。 结束有预留资源的任务后,Yarn上预留资源累加不释放。 主备容灾场景中,备集群MapReduce临时任务日志无法进行定期删除,使得日志目录会堆满,导致容灾任务失败。 Yarn资源池可用资源指标异常,导致弹性伸缩触发异常。 Yarn ResourceManager长时间运行后发现大量ContainerIdPBImpl对象占用内存,可能是内存泄漏。 HDFS客户端leaserenewer线程泄漏。 HDFS重启后权限属性丢失,导致数据无法读取。 备NameNnode处于安全模式,但集群没有上报告警。 Hadoop安全漏洞问题修改。 HBase NettyRpc connection未正常关闭。 HBase WAL未正常滚动,导致产生超大WAL。 HBase Netty连接存在内存泄漏。 HBase健康检查脚本调用超时导致误上报服务不可用告警。 HBase支持过载保护流控和告警。 HBase主备倒换后,RSGroup显示DEAD REGIONSERVERS错误。 Spark执行任务时,报错Ranger策略为空,导致批量Spark任务失败。 Manager主机资源概况页面中条数切换后数据不显示。 Manager创建用户调用adduser.sh脚本不输出日志。 NodeAgent进程偶现故障,不发送心跳,产生服务不可用告警。 Manager主备节点同步数据异常,pms目录下存在脏数据。 集群节点隔离后频繁上报节点故障告警。 集群退订节点过程中偶现产生误告警。 Manager上配置NAS备份进程不结束,导致节点内存升高。 NodeAgent偶现会修改nodagent.properties,有可能导致文件丢失。 MRS集群节点内存占满,磁盘出现踢盘,盘分区丢失。 LdapServer数据一致性检查增强。LDAP主备关键数据不一致,未能及时上报告警。 Kafka Topic名称带有短横线分隔符,磁盘隔离后自动恢复失败。 Kafka新增时延监控转告警,包括Topic数量监控、分区数量监控、请求时延监控,以增强定位定界功能。 Kafka慢盘隔离场景中,当data1目录被隔离后,data1x目录会被误隔离。 ClickHouse TTL到期的过期数据未清理。 ClickHouse内存越界导致服务重启。 ClickHouse数据磁盘存在误隔离。 ClickHouse服务健康检查机制优化。 ClickHouse多实例负载不均衡。 未开启Kerberos认证的集群,“/tmp/hive-scratch”目录被删后Hive重建的权限不正确,导致Hive一直异常。 重启Zookeeper节点后Hive SQL执行失败。 Hive on Spark作业并发较高时,会占用很高的Master节点内存。 Tez引擎在开启和关闭“hive.merge.nway.joins”运行结果不一致。 Hive viewfs修改表路径后,指定分区insert、load插入数据,分区路径会发生改变。 Hive MetaStore偶现死锁。 Hive varchar类型数据查询不支持下推,并发较大时可能导致内存问题。 Hive支持对自读自写的SQL进行拦截。 Hive需要把.db库加入数据保护黑名单中,防止创建表Location指定路径到库后,删除表后导致库数据丢失。 Hive并发overwrite写入后,执行overwrite的任务支持拦截。 Hive并发插入不同分区数据,存在分区数据丢失问题。 Hive监控告警增强,新增MetaStore只操作DB接口的耗时、HiveServer建立连接/关闭连接耗时 、MetaStore操作DB接口的耗时监控。 Hive新增MetaStore连接数监控告警、SQL平均运行时间监控、扫描分区数监控和user、IP维度监控。 Hive开启并发执行时,偶现insert执行结果无数据。 消除Kudu Tserver版本号显示的dirty。 Kudu支持慢盘隔离。 Manager慢盘检测脚本日志打印增加压缩归档功能。 补丁兼容关系 MRS 3.1.0.0.16补丁包中包含所有MRS 3.1.0版本单点问题修复补丁。 父主题: MRS 3.1.0.0.16补丁说明
  • 检查是否安装了MRS_3x_Patch_Diskmgt_v2.1_20230322紧急补丁 使用root用户登录集群主节点,并进入“/root”目录。 查看是否存在“MRS_3x_Patch_Diskmgt_v2.1_20230322”目录。 是,需要执行3卸载“MRS_3x_Patch_Diskmgt_v2.1_20230322”补丁。 否,检查结束。 使用root用户卸载补丁。 禁止主备倒换。 卸载补丁过程会重启Controller和Tomcat,可能会引起HA主备倒换,安装前需要禁止主备倒换,主备倒换禁止有设置超时时间10分钟,超过该时间后会自动取消禁止主备倒换: su - omm -c "/opt/Bigdata/OMSV100R001C00x8664/workspace0/ha/module/hacom/tools/ha_client_tool --ip=127.0.0.1 --port=20013 --forbidswitch --name=product --time=10" 查看“ips.ini”文件中是否配置了集群所有节点IP地址,如果配置了请执行3.c,否则添加节点IP地址到该文件中: cd /root/MRS_3x_Patch_Diskmgt_v2.1_20230322/ vim ips.ini 执行脚本卸载补丁,需要保证私钥文件“/tmp/xxxx.pem”的权限是600: 密钥方式: sh install.sh -t uninstall -k /tmp/xxxx.pem 密码方式: sh install.sh -t uninstall -p 'password' 请输入正确无误的密码,否则可能会导致脚本在ssh过程中将root密码锁定5分钟。 其中: -t:值为install或uninstall。 -k:root用户私钥的绝对路径。 -p:root用户密码。 取消禁止主备倒换: su - omm -c "/opt/Bigdata/OMSV100R001C00x8664/workspace0/ha/module/hacom/tools/ha_client_tool --ip=127.0.0.1 --port=20013 --cancelforbidswitch --name=product"
  • 回退组件安装包 若安装时执行了升级组件安装包步骤,则卸载后需要回退 登录集群主OMS节点,执行以下命令。 su - omm cd /opt/Bigdata/patches/MRS_3.1.0.0.16/package sh rollback_package.sh 登录集群备OMS节点,执行以下命令。 su - omm cd /opt/Bigdata/patches/MRS_3.1.0.0.16/package sh rollback_package.sh
  • 回退HDFS上的组件包 登录安装补丁时升级HDFS上的组件包的节点,执行以下命令: su - omm cd /opt/Bigdata/patches/{MRS补丁版本号}/client/ source /opt/Bigdata/client/bigdata_env 所有涉及{MRS补丁版本号}目录名称的操作,均以实际安装的补丁号为准。 例如: cd /opt/Bigdata/patches/MRS_3.1.0.0.16/client/ 安全集群需要认证对HDFS有权限的用户,普通集群无需执行: kinit {用户} 执行以下命令进行回退(卸载完补丁后执行): sh rollback_hdfs_file.sh 回退完成后需要在 FusionInsight Manager界面上重启Spark的JDB CS erver2x实例。
  • 安装补丁 登录MRS管理控制台。 选择“现有集群”,选中需要安装补丁的集群并单击集群名,进入集群基本信息页面。 进入“补丁管理”页面,在操作列表中单击“安装”。 进入“警告”页面,阅读补丁说明,并单击“确定”。 图1 安装补丁 请确保集群允许root登录,并且所有节点的root密码一致。 如果任务失败,选择“重试安装”,只有当“状态”显示为“已安装”时,才能进入下一步操作。 升级安装失败或者重试后仍然失败,不能直接回滚,请联系运维人员。
  • 升级HDFS上组件的zip包 登录集群主节点并执行以下命令: su - omm cd /opt/Bigdata/patches/{MRS补丁版本号}/client/ source /opt/Bigdata/client/bigdata_env 所有涉及{MRS补丁版本号}目录名称的操作,均以实际安装的补丁号为准。 例如: cd /opt/Bigdata/patches/MRS_3.1.0.0.16/client/ 安全集群需要认证对HDFS有权限的用户,普通集群无需执行: kinit {用户} 执行以下命令升级HDFS上的zip包: sh update_hdfs_file.sh 升级完成后需要在FusionInsight Manager界面上重启Spark的JDBCServer2x实例。
  • 升级客户端 如果有使用自主安装的客户端(集群内、外新下载客户端),需要执行客户端升级操作。 登录集群主节点并执行以下命令: cd /opt/Bigdata/patches/{MRS补丁版本号}/download/ 将补丁安装包拷贝到客户端机器/opt/目录下: scp patch.tar.gz {客户端机器IP}:/opt/ 例如: scp patch.tar.gz 127.0.0.1:/opt/ 登录客户端所在节点。 执行以下命令创建补丁目录并解压补丁包: mkdir /opt/{MRS补丁版本号} tar -zxf /opt/patch.tar.gz -C /opt/{MRS补丁版本号} 执行客户端补丁升级。 登录客户端所在节点,并执行以下命令: cd /opt/{MRS补丁版本号}/client sh upgrade_client.sh upgrade {客户端安装目录} 例如: sh upgrade_client.sh upgrade /opt/client/
  • 升级组件安装包 该操作可以解决添加服务、添加实例、新下载客户端场景下的补丁安装。 登录集群主OMS节点,执行以下命令。 su - omm cd /opt/Bigdata/patches/MRS_3.1.0.0.16/package sh update_package.sh 登录集群备OMS节点,执行以下命令。 su - omm cd /opt/Bigdata/patches/MRS_3.1.0.0.16/package sh update_package.sh
  • 卸载补丁 登录华为云管理控制台界面,在“现有集群”列表中单击需要卸载补丁的集群名称,单击“补丁管理”页签,找到需要卸载的补丁,单击“卸载”,等待补丁卸载成功后,需要按照该章节顺序依次执行相关操作。 当“状态”显示为“卸载失败”时,在“失败任务”中查看错误提示信息,查找相应日志来定位处理。 如果任务失败,选择“重试卸载”,只有当“状态”显示为“可用”时,才能进入下一步操作。 卸载失败或者重试后仍然失败,不能直接再点安装,请联系运维人员。
  • 处理步骤 Sqoop客户端安装完成之后,没有直接引入HBase相关的依赖jar包,需要通过手动导入指定低版本的HBase相关依赖jar包。解决方法步骤如下: 确认Sqoop客户端和HBase客户端是否在同一个路径下。 是,执行2。 否,删除原有的Sqoop和HBase客户端文件,从FusionInsight Manager上下载完整的客户端安装在同一路径下,执行2。 以root用户登录Sqoop客户端安装节点。 下载以下HBase 1.6.0版本的jar包上传到Sqoop客户端的“lib”目录下。 hbase-client-1.6.0.jar hbase-common-1.6.0.jar hbase-protocol-1.6.0.jar hbase-server-1.6.0.jar 上传包之后,修改包的权限,可以设置为755,具体执行命令为: chmod 755 包名称 在客户端目录下执行以下命令刷新Sqoop客户端: source bigdata_env 重新执行sqoop命令。