首页 文章 精选 留言 我的

精选列表

搜索[小程序·即时通信 IM],共10028篇文章
优秀的个人博客,低调大师

MongoDB学习笔记(二)--Capped集合 && GridFS存储文件

Capped集合 Capped集合的大小是固定的,如果空间都被用完了,新添加的对象会取代最旧的那个数据。 创建 使用了db.createCollection()方法创建了一个名字为mycapped,空间大小为100000的Capped Colletcion。 限制 如果需要限定Collection中对象的数量,就要设置max参数,如果到了限制的数量,就要移除一个最近的插入。 使用validate()查询mycapped2集合的使用的存储空间。 默认情况下,非Capped集合会在_id上创建索引,而Capped集合不会在_id上创建索引,如果需要在_id上创建索引就需要用到autoIndexID参数。 GridFS存储文件 GridFS存储文件时会分两个集合来存储: files 包含元数据对象。 chunks 包含其他一些相关信息的二进制块。 使用mongofiles put F:\MongoDB\mongodb\bin\bad.txt命令将bad.txt文件保存到了数据库中。 查看数据库中有哪些GridFS文件: 重命名本地的bad.txt文件为bad1.txt,将数据库中文件导出: GridFS的块由单独的集合来存储,默认情况下,使用fs.chunks集合来存储块。 本文转自我爱物联网博客园博客,原文链接:http://www.cnblogs.com/yydcdut/p/3557578.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

Docker安装初试&&制作centos6.5基础镜像

https://blog.tankywoo.com/docker/2014/05/08/docker-4-summary.html https://yeasy.gitbooks.io/docker_practice/content/basic_concept/container.html centos7.x系列的yum源中自带了docker的rpm包,安装比较简单 # yum install docker -y 安装过程中可能会遇到lvm2包依赖冲突,如不使用,卸载即可 # yum remove lvm2 启动服务 # service docker start 查看版本 # docker -v Docker version 1.10.3, build d381c64-unsupported 获取BusyBox镜像 # docker pull busybox 创建容器并echo一句话 # docker run busybox /bin/echo Starting docker trip? Starting docker trip? centos6.x系列需要安装epel源,并且升级内核到3.10版本否则docker不能正常运行 基于git克隆安装https://github.com/llitfkitfk/docker-tutorial-cn # git clone git://github.com/llitfkitfk/docker-tutorial-cn.git # cd docker-tutorial-cn/ # ./docker_install.sh ##执行此步骤如果报下文错误需要修改/etc/yum.repos.d/epel.repo文件,取消baseurl的注释,注释掉mirrorlist Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again # ./docker_config.sh ##可根据实际情况修改docker image的储存路径,此处配置到/mnt/docker,默认路径是/var/lib/docker # mkdir /mnt/docker # ./start_docker.sh ##开启docker服务 docker: relocation error: docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference # yum upgrade device-mapper-libs ##启动报错,需要安装依赖 # docker info ##检查Docker是否正确安装 Containers: 0 Images: 0 Storage Driver: devicemapper Pool Name: docker-253:0-1182180-pool Pool Blocksize: 65.54 kB Backing Filesystem: extfs Data file: /dev/loop0 Metadata file: /dev/loop1 Data Space Used: 305.7 MB Data Space Total: 107.4 GB Data Space Available: 28.35 GB Metadata Space Used: 733.2 kB Metadata Space Total: 2.147 GB Metadata Space Available: 2.147 GB Udev Sync Supported: true Deferred Removal Enabled: false Data loop file: /var/lib/docker/devicemapper/devicemapper/data Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata Library Version: 1.02.117-RHEL6 (2016-04-01) Execution Driver: native-0.2 Logging Driver: json-file Kernel Version: 2.6.32-358.6.2.el6.x86_64 Operating System: <unknown> CPUs: 12 Total Memory: 3.662 GiB Name: localhost ID: SAJR:3GXN:LA3H:XV3F:4WUS:PJNS:N7YI:IXS2:LCO2:J6WL:AMCV:AEBW 在docker index中搜索centos相关的image # docker search centos 从docker registry server拉取centos镜像 # docker pull centos 创建一个运行bash应用的容器,一直报错,使用-d命令查看进行运行信息,发现内核版本过低 # docker run -i -t centos /bin/bash Error response from daemon: Cannot start container 317bcef4837ad90112a9021012f243bdf92e594h file or directory # docker -d WARN[0000] You are running linux kernel version 2.6.32-358.6.2.el6.x86_64, which might be pgrade your kernel to 3.10.0. 于是升级内核到3.10 http://my.oschina.net/denglz/blog/487332 安装kernel-lt(long-term) # yum install http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm # yum --enablerepo=elrepo-kernel install kernel-lt -y 新安装的内核已经自动写入了grub.conf文件,只需修改Grub引导顺序,重启即可 # sed -i 's/default=1/default=0/' /etc/grub.conf 内核已经更新 # uname -a Linux localhost.localdomain 3.10.102-1.el6.elrepo.x86_64 #1 SMP Tue Jun 14 11:40:50 EDT 20 列出images # docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos latest d83a55af4e75 2 weeks ago 196.7 MB 使用centos这个镜像创建container进入交互模式,login shell是/bin/bash Docker制作centos6.5基础镜像 http://blog.chinaunix.net/uid-20788636-id-4909654.html # yum install febootstrap # mkdir /dockerimg/centos6.5 创建镜像文件保存目录 # febootstrap -i bash -i wget -i yum -i iputils -i iproute -i man -i vim -i openssh-server -i openssh-clients -i tar -i p7zip -i net-tools centos6.5 /dockerimg/centos6.5 http://vault.centos.org/6.5/os/x86_64/ -i指定安装的包 centos6.5标识OS版本 # cp /etc/skel/.bash* /dockerimg/centos6.5/root/ # cd /dockerimg/centos6.5 # tar -c .|docker import - centos6.5 导入镜像文件 63a8a89d802130fa35f0661402bf776069dcfd2cf83da553d4874c6a6c7ad056 # docker images 已经成功导入,使用docker run命令就可以基于centos6.5创建容器使用了 REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos6.5 latest 63a8a89d8021 About a minute ago 372 MB

优秀的个人博客,低调大师

对比来看java的Runnable&amp;Callable&amp;FutureTask

这篇文章其实主要是想要讲清楚一个概念,就是Runable和Callable的区别,以及当它们和FutureTask、ExecutorService一起执行的原理。 基本概念 java多线程实现方案 说明: 1、上图中java多线程的实现方案就没什么好说的了,基本上搞java的人都是理解的。 2、其实我始终觉得Thread是一个容器,所以和Runnable和Callable应该不在一个层次的概念,Thread应该是cpu真正调度的实体,这个实体会做什么呢,会执行Runnable和Callable的方法,所以特别不喜欢把这三者放在一起。 基本流程 FutureTask基本流程 说明: 1、左边是任务创建过程,右边是任务执行过程。 基本用法 常用方法 说明: 1、这个截图基本上就是Runnable和Callable和ExecutorService结合一起使用的用法。 2、关键是我比较感兴趣submit内部做了什么事情。 FutureTask创建之Callble对象 Callable的futureTask创建过程 说明: 1、在submit一个对象的时候,其实内部是给我们创建了一个FutureTask对象,整个创建过程是层层递进的。 2、FutureTask对象有两个重要属性,一个是callable对象也就是执行对象,一个state,标记这个任务是否完成。 FutureTask创建之Runable Runnable的FutureTask的创建过程 说明: 1、当我们针对Runnable对象创建futureTask的时候内部其实用Callable的适配器包装了一下,然后对外以Callable的对象运行。 2、可以看到call实际上调用的是task的run函数,这个run就不说了吧,线程里面的入口函数。 FutureTask内部属性 futureTask的核心内容 说明: 1、几个核心属性,callable就是刚刚所谓的执行对象,outcome最后执行返回的结果,其他整个线程的执行状态流转。 FutureTask任务提交 futureTask提交过程 说明: 1、这个futureTask的提交过程跟我们跟文章《我发现我不懂你了_JUC》其实是一样的,可以自行参考。 2、ExecutorService里面的worker其实真正调用的是run函数,所以我们还需要进一步搞清楚FutureTask是否包含run函数,当然毫无疑问肯定是有的,可以参考下面这个图。 FutureTask任务执行 futureTask内部实现run接口 说明: 1、接上面描述的文字,所以ExecutorService的worker其实真正执行的是Callable对象的call函数并设置回调结果。

优秀的个人博客,低调大师

Error:Execution failed for task &amp;#39;:app:mergeDebugResources&amp;#39;. > ...

Android Studio 编译中断.... Error:Execution failed for task ':app:mergeDebugResources'. > Some file crunching failed, see logs for details 错误信息如上: 解决方案: drawable里面的图片格式保存不对,Android studio 当编译资源文件的时候(using AAPT(Android Asset Packaging Tool))会抛出异常, 只需要用图片编辑工具,打开重新保存为.png图片,重新用新的图片,编译,即可。

优秀的个人博客,低调大师

海量数据处理利器greenplum&amp;mdash;&amp;mdash;初识

简介及适用场景 如果想在数据仓库中快速查询结果,可以使用greenplum。 Greenplum数据库也简称GPDB。它拥有丰富的特性: 第一,完善的标准支持:GPDB完全支持ANSI SQL 2008标准和SQL OLAP 2003 扩展;从应用编程接口上讲,它支持ODBC和JDBC。完善的标准支持使得系统开发、维护和管理都大为方便。而现在的 NoSQL,NewSQL和Hadoop 对 SQL 的支持都不完善,不同的系统需要单独开发和管理,且移植性不好。 第二,支持分布式事务,支持ACID。保证数据的强一致性。 第三,做为分布式数据库,拥有良好的线性扩展能力。在国内外用户生产环境中,具有上百个物理节点的GPDB集群都有很多案例。 第四,GPDB是企业级数据库产品,全球有上千个集群在不同客户的生产环境运行。这些集群为全球很多大的金融、政府、物流、零售等公司的关键业务提供服务。 第五,GPDB是Greenplum(现在的Pivotal)公司十多年研发投入的结果。GPDB基于PostgreSQL 8.2,PostgreSQL 8.2有大约80万行源代码,而GPDB现在有130万行源码。相比PostgreSQL 8.2,增加了约50万行的源代码。 第六,Greenplum有很多合作伙伴,GPDB有完善的生态系统,可以与很多企业级产品集成,譬如SAS,Cognos,Informatic,Tableau等;也可以很多种开源软件集成,譬如Pentaho,Talend 等。 greenplum起源 Greenplum最早是在10多年前(大约在2002年)出现的,基本上和Hadoop是同一时期(Hadoop 约是2004年前后,早期的Nutch可追溯到2002年)。当时的背景是: 互联网行业经过之前近10年的由慢到快的发展,累积了大量信息和数据,数据在爆发式增长,这些海量数据急需新的计算方式,需要一场计算方式的革命; 传统的主机计算模式在海量数据面前,除了造价昂贵外,在技术上也难于满足数据计算性能指标,传统主机的Scale-up模式遇到了瓶颈,SMP(对称多处理)架构难于扩展,并且在CPU计算和IO吞吐上不能满足海量数据的计算需求; 分布式存储和分布式计算理论刚刚被提出来,Google的两篇著名论文发表后引起业界的关注,一篇是关于GFS分布式文件系统,另外一篇是关于MapReduce 并行计算框架的理论,分布式计算模式在互联网行业特别是收索引擎和分词检索等方面获得了巨大成功。 下图就是GFS的架构 总体架构 greenplum的总体架构如下: 数据库由Master Severs和Segment Severs通过Interconnect互联组成。 Master主机负责:建立与客户端的连接和管理;SQL的解析并形成执行计划;执行计划向Segment的分发收集Segment的执行结果;Master不存储业务数据,只存储数据字典。 Segment主机负责:业务数据的存储和存取;用户查询SQL的执行。 greenplum使用mpp架构。 基本体系架构 master节点,可以做成高可用的架构 master node高可用,类似于hadoop的namenode和second namenode,实现主备的高可用。 segments节点 并行管理 对于数据的装载和性能监控。 并行备份和恢复。 数据访问流程,数据分布到不同颜色的节点上 查询流程分为查询创建和查询分发,计算后将结果返回。 对于存储,将存储的内容分布到各个结点上。 对于数据的分布,分为hash分布和随机分布两种。 均匀分布的情况: 总结 GPDB从开始设计的时候就被定义成数据仓库,如果是olap的应用,可以尝试使用GPDB。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册