ORACLE DB数据库常见问题解决及诊断技巧集锦-ORACLE DBA故障修复必备手册v2
在原文档的基础上增加了修复坏块等内容:
ORACLE DB数据库常见问题解决及诊断技巧集锦-ORACLE DBA故障修复必备手册v2
在原文档的基础上增加了修复坏块等内容:
本文固定链接:https://www.askmac.cn/archives/hadoop-yarn.html
原文地址:http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html
YARN的基本思想是将基础的资源管理器和job 调度/监控分割为独立的进程。这个思想是有一个全局的资源管理(RM)和每一个进程的ApplicationMaster(AM)。一个应用进程既是一个单独的job也是一个job的DAG。
ResourceManager和NodeManager是从数据计算框架中而来。ResourceManager是最终的权威,用来仲裁在系统中应用程序的资源。NodeManager是每个机器的框架,代理负责容器,监控它们的资源使用(CPU、内存、磁盘、网络)并且报告给相同的ResourceManager/Scheduler。
本文固定链接:https://www.askmac.cn/archives/hdfs-transparent-encryption.html
原文地址:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/TransparentEncryption.html
HDFS 实现透明的,端到端的加密。一旦配置,从指定的HDFS读取和写入数据都会透明的进行加密和解密,不需要用户应用程序代码的变更。这个加密是端到端的,也就意味着数据只能被客户端加密和解密。HDFS从来不会存储或访问未加密的数据或者为加密的加密key。这满足了2个典型的加密要求:静态加密(意思是数据在永久存储上,例如磁盘)以及在传输加密(例如当数据在网络中传输时)。
本文固定链接:https://www.askmac.cn/archives/hdfs-extended-attributes.html
原文地址:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/ExtendedAttributes.html
拓展属性(缩写为 xattrs)是一个文件系统特性,允许用户应用程序管理额外的元数据到文件和目录。不同于系统级别的inode元数据例如文件权限或修改时间,拓展属性不会被系统解析,并被应用程序用来存储关于inode的额外信息。例如,可以对实例使用拓展属性,来指定一个纯文文档的字符编码(www.askmac.cn)。
PROTOCOL_ENQUEUE_AFTER_FATAL_ERROR PROTOCOL_ENQUEUE_AFTER_FATAL_ERROR { Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client at Handshake.Sequence._packetToError (/root/pingnovel/node_modules/mysql/lib/protocol/sequences/Sequence.js:47:14) at Handshake.ErrorPacket (/root/pingnovel/node_modules/mysql/lib/protocol/sequences/Handshake.js:123:18) at Protocol._parsePacket (/root/pingnovel/node_modules/mysql/lib/protocol/Protocol.js:291:23) at Parser._parsePacket (/root/pingnovel/node_modules/mysql/lib/protocol/Parser.js:433:10) at Parser.write (/root/pingnovel/node_modules/mysql/lib/protocol/Parser.js:43:10) at Protocol.write (/root/pingnovel/node_modules/mysql/lib/protocol/Protocol.js:38:16) at Socket. (/root/pingnovel/node_modules/mysql/lib/Connection.js:91:28) at Socket. (/root/pingnovel/node_modules/mysql/lib/Connection.js:525:10) at emitOne (events.js:116:13) at Socket.emit (events.js:211:7) -------------------- at Protocol._enqueue (/root/pingnovel/node_modules/mysql/lib/protocol/Protocol.js:144:48) at Protocol.handshake (/root/pingnovel/node_modules/mysql/lib/protocol/Protocol.js:51:23) at Connection.connect (/root/pingnovel/node_modules/mysql/lib/Connection.js:119:18) at Object. (/root/pingnovel/src/db1.js:11:12) at Module._compile (module.js:652:30) at Object.Module._extensions..js (module.js:663:10) at Module.load (module.js:565:32) at tryModuleLoad (module.js:505:12) at Function.Module._load (module.js:497:3) at Function.Module.runMain (module.js:693:10) code: 'ER_NOT_SUPPORTED_AUTH_MODE', errno: 1251, sqlMessage: 'Client does not support authentication protocol requested by server; consider upgrading MySQL client', sqlState: '08004', fatal: true }
这种授权协议问题,可以通过使用MYSQL NATIVE PASSWORD来解决,例如:
ALTER USER ABC IDENTIFIED WITH mysql_native_password BY 'password'
本文固定链接:https://www.askmac.cn/archives/hadoop-hdfs-rolling-upgrade.html
原文地址:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsRollingUpgrade.html#namenode_-rollingUpgrade
HDFS 滚动升级允许对单独的HDFS进程升级。例如,datanodes可以被单独的升级而不依赖Namenodes。一个namenode可以被升级而不依赖其他的namenodes。Namenodes可以被升级而不依赖datanodes和journal 节点
在 hadoop v2,HDFS支持高可用的namenode服务和写兼用。这些功能可以让HDFS再升级的时候不需要停机、为了使HDFS集群无停机时间,集群必须设置为HA
如果在任何新版本中启用了任何新特性,升级后可能无法在旧版本上使用。在这种情况下(www.askmac.cn),升级应遵循下列步骤:
1.禁用新功能
2.升级集群
3.启用新功能
注意:滚动升级只能从hadoop-2.4.0之后
本文地址:https://www.askmac.cn/archives/mysql-data-recovery.html
进行数据恢复操作的前提是你需要一份备份,作为恢复所需的一部分。它可以是你数据库某个时间点所做的snapshot快照(当进行备份时)。不过,对于一个活动的服务端,数据会在最近的备份之后就会发生改变。因此恢复操作所需的另一部分材料则是服务端之后所做的数据变更记录 —— 也就是,binary log。因此一个恢复操作涉及到使用备份来恢复数据库并且之后重新执行在binary log中所包含的备份之后的数据修改操作。
通常恢复操作有以下步骤:
11.8.1 导入mysqldump输出
可以使用mysqldump工具来导出数据并生成SQL格式的dump文件,之后通过mysql客户端工具来执行此文件进行导入操作。例如,你可以使用如下语句来生成一份world数据库下Country表的dump文件:
shell> mysqldump world Country > dump.sql
之后的数据库导入,则使用mysql:
shell> mysql world < dump.sql
当mysqldump的输出文件中没有指定数据库时,你在使用mysql客户端工具命令时就有必要指定到某个需要操作的库。如果在mysqldump执行中带有 –database 或 –all-databases项时,所生成的dump文件则已包含有相应的 USE db_name语句。
mysqldump在使用时不仅仅可用于恢复表和数据库,同时和mysql一起使用也可起到类似”拷贝”的用途。mysql可以直接从管道支进行读取,因此两个命令可以组合成一条命令来将库中的表拷贝到另一个库中。例如,将world数据库中Country表拷贝到test库中,使用以下命令:
shell> mysqldump world Country | mysql test
管道技术也可以将数据库或表通过网络拷贝到另一个远端库中。如,远端主机为other.host.com:
shell> mysqldump world Country | mysql -h other.host.com world
如果dump文件中包含有很长的INSERT语句,那么这可能会超出默认到通信缓冲(communication buffer: 1M)。你可以对mysqldump和mysql通过使用 --max-allowed-packet
项来增大缓冲大小。这个命令项可以设置一个单位为byte的值或者值后加上K,M或G来指明大小。例如,--max-allowed-packet=32M
定义了大小为32MB。服务端也需要在运行时使用 --max-allowed-packet
值来增大其自身的通信缓冲,使其足够大。
当你使用mysqldump时使用了 --tab
项,那么它会生成一个以tab制表符分隔的数据文件。对于这种dump文件,重新导入时则需要注意使用相应的方法。假设你的dump文件对应导出表world.City使用/tmp目录在作为输出目录:
shell> mysqldump --tab=/tmp world City
输出将分两部分,一部分为一个包含有City表CREATE TABLE语句的City.sql文件,另一部分为一个City.txt文件包含了相应的表数据。当使用这些文件进行表导入时,首先切换当前路径到导出的目录,然后使用mysql来处理.sql文件,之后只用mysqlimport来导入.txt中的表数据。
shell> cd /tmp shell> mysql world < City.sql shell> mysqlimport world City.txt
如果你在使用 --tab
项时还结合其它格式控制项如 --fields-terminated-by
和 --fields-enclosed-by
一起使用,那么在使用mysqlimport进行导入时,就需要使用对应相同的格式控制项来使得命令程序知道如何翻译数据文件以进行导入。
本文固定链接:https://www.askmac.cn/archives/hdfs-nfs-gateway.html
原文地址:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsNfsGateway.html
NFS 网关支持NFSv3和允许HDFS 作为客户端文件系统的一部分被挂载。当前NFS 网关支持和以下列默认启用:
1.用户可以通过操作系统兼容的本地NFSv3客户端来阅览HDFS文件系统
2.用户可以从HDFS文件系统下载文档到本地文件系统
3.用户可以通过挂载点直接流化数据。支持文件附加,但是不支持随机写(www.askmac.cn)
NFS网关机器需要相同的HDFS客户端 例如Hadoop JAR 文件,HADOOP_CONF目录。NFS网关可以和任何主机在一起,例如:DataNode,NameNode.
本文固定链接:https://www.askmac.cn/archives/hdfs-cache-management.html
原文地址:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/CentralizedCacheManagement.html
在HDFS中的集中内存管理是一种显式的内存机制,允许用户指定HDFS的内存路径。
NameNode将于DataNode通信来获得磁盘上所需的块,并引导它们在堆缓存中缓存这些块。
集中缓存管理有许多明显的优点(www.askmac.cn)
1.显式的防止那些常用的块从内存中清除。这个对于当工作集的大小超过内存的时候非常重要,HDFS的工作量超过内存的情况很常见。
2.因为DataNode的内存被NameNode管理,应用程序在确定任务目标位置时可以查询到内存块位置。通过缓存块联合定位任务可以提高读性能。
3.当块已经被DataNode缓存时,客户端可以使用一个新的,更有效的零拷贝读API。一旦DataNode上的缓存数据校验完成,客户端在使用这个新API的时候基本上是零开销。
Copyright © 2025 · Genesis Framework · WordPress · Log in