Author: mac

  • Hadoop HDFS Short-Circuit Local Reads

    本文固定链接:https://www.askmac.cn/archives/hdfs-short-circuit-local-reads.html 原文地址:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/ShortCircuitLocalReads.html   1.本地读 1.1背景 在HDFS,读一般是通过DataNode。因此,当客户端请求DataNode来读取一个文件时,DataNode从磁盘读取文件,然后通过TCP socket发送给客户端。所谓的本地读(短路读),是通过DataNode ,允许客户端直接去读取文件。短路读为很多应用提供了优秀的性能。  

  • 【MySQL学生手册】更多备份相关

    本文地址:https://www.askmac.cn/archives/mysql-more-bk-related.html     11.5 备份日志和状态文件   除了备份数据库之外,你还应该备份以下文件:   你的二进制日志文件。如果你不得不进行数据库恢复的话,binary log备份存储了你在备份之后的更新。 由服务端所使用的配置项文件(cnf或my.ini文件),这些文件包含了在数据库发生奔溃后恢复所需的的配置信息。 Replication从库端(Slave)所建立的一个info文件,这个文件包含有所需连接的主库信息。以及relay-log.info文件,这个文件记录了当前处理relay日志的进度情况。 Replication从库在处理LOAD DATA INFILE语句时会建立数据临时文件。这些文件被放置在由slave_load_tmpdir系统变量所设置的目录位置下,此变量可以在服务端启动时通过 –slave-load-tmpdir项进行设置。当slave_load_tmpdir未被设置,那么文件就会被存放在操作系统变量tmpdir都指定的位置。其处理的文件会以SQL_LOAD- 打头。   为了备份以上这些文件,你可以使用一般的文件系统操作。静态文件如配置文件(option file)不需要特别的注意即可进行备份。动态文件如服务端正在运行且改变的日志文件,则需要停止服务端,然后进行备份。

  • Hadoop C API libhdfs

    本文固定链接:https://www.askmac.cn/archives/hadoop-c-api-libhdfs.html 原文地址:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/LibHdfs.html   1介绍 Libhdfs 是一个在HDFS中JNI 基础的C API 。它提供了一个HDFS APIs的子集C APIs来操作HDFS文件和文件系统。Libhdfs Libhdfs是Hadoop分布式的一部分,并且在$HADOOP_HDFS_HOME/lib/native/libhdfs.so中预编译。Libhdfs 兼容Winddows并且可以通过hadoop-hdfs-project/hadoop-hdf根目录下的mvn来编译。(www.askmac.cn)     2 APIs Libhdfs apis 时 Hadoop 文件系统API的一个子集。 在$HADOOP_HDFS_HOME/include/hdfs.h中的头文件描述了每个API的详细详细。(www.askmac.cn)

  • 【MySQL学生手册】建立文本备份

    本文地址:https://www.askmac.cn/archives/mysql-generate-text-backup.html   11.4 建立文本备份   11.4.1 通过SQL建立文件备份   SELECT命令可以和INTO OUTFILE语法一起使用来将返回结果直接写入文件中。在使用中,需要将INTO OUTFILE语法放在FROM语法之前。例如,将Country表中数据写入Country.txt文件中,执行以下语句:   mysql> select * from into outfile ‘Country.txt’ from Country;     其中文件名指定了你希望写入的位置,这里也可以写路径,如果没有写明路径,则是指当前会话登陆时所在位置下。   SELECT … INTO OUTFILE 使用时有以下特点:   此语句可被用于本地或远程服务端。由于是服务端本身来写文件,因此生成的结果文件总是被建立在服务端。 需要输出文件不能已经存在。 语句可用于任何存储引擎。 语句要求有FILE权限。 输出格式可以通过使用语句项,定义其指定列和行分隔符,引用符和逃逸符来进行控制。   使用INTO OUTFILE可以在以下几个方面改变SELECT语句的操作:   文件被写于服务端,而非通过网路将文件发送至客户端(文件名不能已经存在)。 服务端会在其主机上写一个新文件(执行语句需要登录服务端并使用具有FILE权限的账号) 被建立的文件具有文件系统访问权限,并为MySQL服务端所有,不过对所有用户开放可读。 文件的包含的数据按查询语句返回结果中每条记录一行(默认,列值之间以tab制表符进行分隔,每行则在出现新记录时终止)     你可以像CSV格式一样建立以逗号分隔值,使用双引号括起值,并对行以回车换行符(Carriage Return:CR)结尾的格式文件。以这种格式来输出结果信息的话,可以使用以下SELECT … INTO OUTFILE语句:     SELECT *…

  • 【MySQL学生手册】建立binary备份

    本文地址:https://www.askmac.cn/archives/mysql-generate-binary-bk.html   11.3.1 建立MyISAM的Binary备份 为了对MyISAM表建立一份binary备份,可以拷贝对应表的.frm,.MYD和.MYI文件。当你这么做时,必须确保这些表在被拷贝时没有在被其它程序(包括服务端)所使用。如果你在拷贝表前就关停了服务端,那就没什么问题了。如果拷贝的时候服务端还在运行,那就需要使用适当的锁来避免服务端对这些表的访问。例如,拷贝world数据库中的Country表前,进行锁表并将有待永久保存的变更刷出内存操作: mysql> use world; mysql> lock tables Country read; mysql> flush tables Country; 然后(在表被锁住的情况下)使用操作系统文件拷贝命令将表文件拷贝出来。   以MyISAM数据库表world.Country拷贝举例(这里假设Country表为MyISAM引擎表): # cp /usr/local/mysql/data/world/Country.frm /var/backup/Countryfrm # cp /usr/local/mysql/data/world/Country.MYI /var/backup/CountryMYI # cp /usr/local/mysql/data/world/Country.MYD /var/backup/CountryMYD # cp /usr/local/mysql/data/world/Country.TRN /var/backup/CountryTRN # cp /usr/local/mysql/data/world/Country.TRG /var/backup/CountryTRG # cp /usr/local/mysql/data/mysql/proc /var/backup/CountryROUTINES 在拷贝操作完成后,释放表锁: mysql> unlock tables;   之前的方法可以用于Unix/Linux系统上的数据库文件备份。在Windows上,被服务端锁住的表文件则由于文件锁原因而不能被拷贝备份。在这样情况下,你就必须在拷贝表文件前关闭服务端。   另一种MyISAM二进制备份方式是使用mysqlhotcopy脚本工具,它可以帮你锁表并拷贝文件。

  • APOUC 2016 上海 – 亚太用户组高峰会议小记

    刚回到家,打开邮箱,就看见APOUC发来的会后反馈邮件,除了头疼以外,还不免有些脸红惭愧。(真不知道怎么评分啊~~~) 老汪本人由于多方面原因无奈未能准时到场,感冒导致状态不佳是其一,这更是时常导致会议时神游物外。除了代表SHOUG(上海Oracle用户组)进行了4 min pitch的发言,之后更多地是积极参与到和不同用户组代表以及Oracle技术大咖们的吹牛打P中去了。 是否让SHOUG的成员们有些小失望呢?虽说Oracle用户组高峰会上的主题内容仅能说出个大概,不过如果大家真的感兴趣的话,那么可以也去翻看下其它用户组代表们的官文,发现会场上直接做现场微报道的还真不少呢。

  • MySQL ERROR CODE LIST

    If you cannot recover data by yourself, ask Parnassusdata, the professional MySQL database recovery team for help. Parnassusdata Software Database Recovery Team Service Hotline:  +86 13764045638 E-mail: [email protected] MySQL error code 120: Didn’t find key on read or update MySQL error code 121: Duplicate key on write or update MySQL error code 122: Internal (unspecified) error…

  • Oracle视角:旁观某电信客户升级/迁移项目

    作者为:  SHOUG成员 – ORACLE ACS高级顾问罗敏 本文永久地址:https://www.askmac.cn/archives/oracle视角:旁观某电信客户升级迁移项目.html     不得已而为之的数据库升级和迁移项目 多年来,某省电信运营商虽然对其核心CRM系统进行了持续优化工作,但仍然满足不了业务高速发展需求,尤其是每月出账期系统压力越来越大,故障频频,以至于每当账期来临,局方各级领导、各业务部门和技术人员,以及应用开商和维护保障公司人员都是如坐针毡,甚至如临大敌。 在2015年下半年连续几个月账期均出现不稳定状况之后,各方一致认为数据库系统和应用软件优化工作已经持续了几年,优化空间已经非常有限了,是到了系统软硬件平台升级换代的时候了。 该系统现有硬件平台为HP PA-RISC小型机,数据库版本为10g R2,可见无论硬件还是系统软件都已经属于落后淘汰的技术了,现有硬件配置和性能甚至低于当下最新的X86服务器。作为Oracle公司服务部门,我们更是喋喋不休地讲述数据库升级到11g R2的必要性、可行性、方法论和风险控制策略等,特别是介绍了大量成功案例的实施经验。于是,领导终于下决心了!升级到11g R2并迁移到最高配置的X86服务器!项目实施周期确定为2个月,而且还横跨2016年春节! 本人无意点评领导决策的欠科学,甚至拍脑袋,其实我们深深理解领导的苦衷:已经连续优化这么长时间了,还是艰难度日,万一下个月账期系统彻底瘫痪,怎么办? 于是,尽管各方技术人员向领导和各业务部门力陈升级和迁移的难度和风险,但最后大家还是迫于业务压力,决定赶鸭子上架了!   麻雀虽小,五脏俱全 虽然项目实施周期非常短暂,但局方还是组建了由业务部门、应用开发商、运维团队等多方组成的项目组。在数据库迁移方面决定采用DSG公司的相关产品和技术,在应用测试方面也决定进行全面的功能和压力测试。喏,这就是该项目实施计划表的部分内容: 主要任务 序号 功能描述 准备工作 1 提供主机和数据库集成方案 2 梳理全场景测试方案 3 梳理系统所有的外围接口 4 统计梳理营业库中的所有表,按照表容量大小进行排名(刘书荣)。分析存储空间超过100m的表,若其为分区表,则继续细化到表空间,明确可以优先迁移的表。 5 梳理所有数据库主机的shell、C程序 6 梳理所有was主机的tns和数据源指向,提供上线时所有主机的tns和数据源修改方案。 7 梳理接口机的改造点。 8 梳理所有应用营业主机上部署的脚本,评估是否需要修改。 9 梳理所有应用账务主机上部署的脚本,评估是否需要修改。 10 梳理营业所有应用程序的配置文件和jar包,评估分析是否需要修改,包括BSS、爱营销(代理商) 11 梳理计费账务所有应用程序的配置文件和jar包,评估分析是否需要修改 12 梳理营业数据库所有配置表有无数据库IP指向,评估分析是否需要修改 13 梳理计费账务数据库所有配置表有无数据库IP指向,评估分析是否需要修改 14 梳理mq等内部接口改造点。 15 局方确认crm库上的job和dblink由应用开发商完成迁移…

  • Oracle RAC集群Grid Infrastructure 启动的五大问题(Doc ID 1526147.1)

    适用于: Oracle Database – Enterprise Edition – 版本 11.2.0.1 和更高版本 Oracle Database Cloud Schema Service – 版本 N/A 和更高版本 Oracle Database Exadata Cloud Machine – 版本 N/A 和更高版本 Oracle Cloud Infrastructure – Database Service – 版本 N/A 和更高版本 Oracle Database Cloud Exadata Service – 版本 N/A 和更高版本 本文档所含信息适用于所有平台   用途 本文档的目的是总结可能阻止 Grid Infrastructure (GI) 成功启动的…

  • 诊断 Oracle RAC集群Grid Infrastructure 启动问题 (Doc ID 1623340.1)

    适用于: Oracle Database – Enterprise Edition – 版本 11.2.0.1 和更高版本 Oracle Database Cloud Schema Service – 版本 N/A 和更高版本 Oracle Database Exadata Cloud Machine – 版本 N/A 和更高版本 Oracle Cloud Infrastructure – Database Service – 版本 N/A 和更高版本 Oracle Database Backup Service – 版本 N/A 和更高版本 本文档所含信息适用于所有平台     用途   本文提供了诊断 11GR2 和 12C…