namespace

大数据存储框架之HBase(3) NameSpace/Schema

邮差的信 提交于 2019-12-11 18:12:41
大数据存储框架之HBase(3) NameSpace/Schema 我们都是到HBase里面有工作区间一说,这个工作区间也就相当于我们关系数据库中的数据库,也相当于我们Phoenix中的Schema。这里主要讲Phoenix和HBase的namespace之间的爱恨情仇的故事。 先配置HBase开启与Phoenix的schema之间的转换 < property > < name > phoenix.schema.isNamespaceMappingEnabled </ name > < value > true </ value > </ property > < property > < name > phoenix.schema.mapSystemTablesToNamespace </ name > < value > true </ value > </ property > 在HBase中namespace相关操作 -- 创建namespace create_namespace 'CI123' -- 删除namespace drop_namespace 'CI123' -- 查看namespace list_namespace -- 在namespace下创建表 create 'CI123:table_name' , 'family1' -- 查看namespace下的表

MappedStatement注册过程

泄露秘密 提交于 2019-12-11 00:17:01
文章目录 MapperStatement注册过程 MapperStatement注册时序 XMLConfigBuilder的mapperElement方法 XMLMapperBuilder的parse方法 解析cacheRef标签 解析cache标签 解析parameterMap标签 解析resultMap标签 解析sql片段 解析select等sql语句 MapperStatement注册过程 MapperStatement注册时序 MapperStatement的注册过程发生在Mybatis启动时构造Configuration对象的时候,XMLConfigBuilder对象的mapperElement方法负责解析Mapper文件并进行注册。 private void parseConfiguration ( XNode root ) { try { //issue #117 read properties first propertiesElement ( root . evalNode ( "properties" ) ) ; Properties settings = settingsAsProperties ( root . evalNode ( "settings" ) ) ; loadCustomVfs ( settings ) ; loadCustomLogImpl

宜信容器云排错工具集

匆匆过客 提交于 2019-12-11 00:03:42
宜信容器云是一套基于kubernetes的容器管理平台。业务线用户在容器云上部署应用程序时,常常会遇到容器无法启动或者应用程序运行不正常的情况。为了方便用户排查在应用上云过程中的问题,我们在web端集成了一系列的排错方式,如下图: 一、终端信息 终端信息查看的是容器实例运行时的标准输出日志。 效果等同于: kubectl logs PODNAME [-c CONTAINER] 基本原理如下图: 应用部署时,所属节点的kubelet通过grpc调用容器运行时接口(container runtime interface),来请求docker守护进程创建容器运行时。 此时,docker守护进程会创建一个协程来接收容器运行时的标准输出日志,这个协程最终将STDOUT(标准输出)的日志写到容器运行时所在节点的对应目录下: /var/lib/docker/containers/container_id/{container_id-json.log} 如下图: 在web端查看对应实例的终端信息时,kubelet将接收的Api-server请求转化成docker client来请求docker守护进程。Docker守护进程到相应的目录下读取对应容器的日志文件数据,再由kubelet返回日志数据到Api-server,最终显示到web端,供用户查看。 容器日志的生命周期与容器的生命周期一致

docker网络模式

限于喜欢 提交于 2019-12-10 08:23:13
我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式: 1.host模式,使用--net=host指定。 2.container模式,使用--net=container:NAME_or_ID指定。 3.none模式,使用--net=none指定。 4.bridge模式,使用--net=bridge指定,默认设置 一、host模式 Docker使用的网络实际上和宿主机一样,在容器内看到的网卡ip是宿主机上的ip。 众所周知,Docker使用了Linux的Namespaces技术来进行资源隔离,如PID Namespace隔离进程,Mount Namespace隔离文件系统,Network Namespace隔离网络等。一个Network Namespace提供了一份独立的网络环境,包括网卡、路由、Iptable规则等都与其他的Network Namespace隔离。一个Docker容器一般会分配一个独立的Network Namespace。但如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口 二、container模式

Docker之Namespace与Cgroup

拜拜、爱过 提交于 2019-12-09 22:01:58
博文大纲: 一、Docker概述 二、Namespace概念 三、Cgroup基本概念与示例 一、Docker概述 1.Docker简介 Docker作为开源社区最火爆的项目,它是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”,docker的全部源代码都在https://github.com/docker 进行相关维护,其官网是: https://www.docker.com 。 Docker的Logo设计为蓝色鲸鱼,拖着许多集装箱。如图: 如图所示:鲸鱼可以看作宿主机,而集装箱可以理解为相互隔离的容器,每个集装箱中都包含自己的应用程序。正如 Docker的设计宗旨一样:Buid、 Ship and Run Any App、 Anywhere,即通过对应用组件的封装、发布、部署、运行等生命周期的管理,达到应用组件级别的“一次封装,到处运行”的目的。这里的组件,既可以是一个应用,也可以是一套服务,甚至是一个完整的操作系统。 2.Docker和虚拟机的区别 作为一种轻量级的虚拟化方式,Docker与传统虚拟机相比具有显著的优势。如图: Docker之所以拥有众多优势,与操作系统虚拟化自身的特点是分不开的。传统虚拟机需要有额外的虚拟机管理程序和虚拟操作系统层,而Docker容器是直接在操作系统层面之上实现的虚拟化,如图: 3.Docker的使用场景

01_C++对C的扩展

淺唱寂寞╮ 提交于 2019-12-09 19:58:25
一:简单的C++程序 1.求圆的周长和面积   数据描述:     半径,周长,面积均用实型数表示   数据处理:     输入半径 r;     计算周长 = 2*π*r ;     计算面积 = π* r2 ;   输出半径,周长,面积; 方法 1 :用结构化方法编程,求圆的周长和面积 // count the girth and area of circle #include<iostream> using namespace std; void main () {   double r, girth, area ;   const double PI = 3.1415 ;   cout << "Please input radius:\n" ; //操作符重载   cin >> r ; //输入   girth = 2 * PI * r ;   area = PI * r * r ;   cout << "radius = " << r << endl ;    cout << "girth = " << girth << endl ;    cout << "area = " << area << endl ; } 方法 2 :用面向对象方法编程,求圆的周长和面积 #include<iostream> using namespace std; class Circle {

C++中调用WPF

心已入冬 提交于 2019-12-09 04:14:01
使用C++来开发WPF,主要是如何在MFC(Win32)的窗口中HostWPF的Page。下面我就做个详细的介绍。 1创建工程 创建工程, 由于MFC的Wizard会生成很多用不到的代码,所以我准备从一个空的工程开始创建一个MFC的工程。 1) 打开VS2008,菜单File->New->Projects…, 左面选择Visual C++->Win32,右面选择Win32 ConsoleApplication,给工程起个名字CTest_WPF, Ok进入下一步。 2) 工程基本配置,在Application Setting中选择Console Application和MFC。Finish进入下一步。 3) 修改工程,使工程变成MFC Windows程序。 Ø 删除CTest_WPF.cpp和CTest_WPF.h文件 Ø 添加CWinApp派生类Test_WPFApp, 在工程上点击鼠标右键,Add=>Class… 在弹出的对话框中,左边选择MFC,右面选择MFC Class,点击Add进入下一步 在弹出的对话框中输入类名: CTest_WPFApp, 基类选择CWinApp Ø 用同上的方法添加CWnd派生类,Class name为CTest_WPFMainWnd,Base class为CWnd。 Ø 修改工程属性。将属性中的System-

Mybatis常见面试题总结

半城伤御伤魂 提交于 2019-12-09 01:55:10
1、什么是Mybatis? (1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。 (2)MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 (3)通过xml 文件或注解的方式将要执行的各种 statement 配置起来,并通过java对象和 statement中sql的动态参数进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射为java对象并返回。(从执行sql到返回result的过程)。 2、Mybaits的优点: (1)基于SQL语句编程,相当灵活,不会对应用程序或者数据库的现有设计造成任何影响,SQL写在XML里,解除sql与程序代码的耦合,便于统一管理;提供XML标签,支持编写动态SQL语句,并可重用。 (2)与JDBC相比,减少了50%以上的代码量,消除了JDBC大量冗余的代码,不需要手动开关连接; (3)很好的与各种数据库兼容(因为MyBatis使用JDBC来连接数据库,所以只要JDBC支持的数据库MyBatis都支持)。 (4)

发布本地Docker镜像到阿里云的Docker Hub

可紊 提交于 2019-12-09 00:14:09
发布本地Docker镜像到阿里云的Docker Hub 在使用Docker时,有时需要制作自己的Docker镜像,这些镜像可以保存到不同的Docker Hub中,包括Docker官方的和国内的一些Hub,比如阿里云。同时,也可以使用阿里云的Docker Hub来加速镜像的拉取速度。 安装Docker 参考官方文档: https://docs.docker.com/ 配置镜像加速器 1.登录阿里云,进入容器镜像服务-镜像加速器: https://cr.console.aliyun.com/#/accelerator 2.复制专属加速器地址 3.打开Docker-Preference-Daemon,在Registry mirrors中添加复制的地址 创建命名空间 点击命名空间管理,创建命名空间。命名空间是一组仓库的集合,应以公司、组织或团队等命名,不建议使用系统名称进行命名。 https://cr.console.aliyun.com/#/namespace/index 创建镜像仓库 点击镜像列表右上角的创建镜像仓库,一个镜像仓库是一组镜像的集合。 https://cr.console.aliyun.com/#/imageList 发布镜像 点击镜像仓库管理,有详细的操作流程,大致步骤如下。 1.推送镜像 $ sudo docker login --username=[阿里云账号]

抽象工厂

情到浓时终转凉″ 提交于 2019-12-08 20:14:43
1,创建Models 2,创建业务接口IBusinessInterface----添加Models引用 3,创建业务实现BusinessClass1与BusinessClass2(注意:两组中的实现类要同名,但命名空间不可以相同)---添加Models和IBusinessInterface引用 4,创建工厂Factroy 5,Program中添加所有引用 Models代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Models { public class Car { public string WheelName { get; set; } public string LightName { get; set; } } } Car using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Models { public class Person { public string