test

Phoenix + HBase,让你像操作MySQL一样操作HBase

别来无恙 提交于 2020-04-02 06:06:21
Phoenix关联HBase的操作(三种情况) 情况一:Hbase已经有已存在的表了,可在Phoenix中创建对应的视图,视图只能做查询操作,不能做增删改 hbase中已创建表且有数据,表名:phoenix 在phoenix中创建对应视图 create view "phoenix"( pk varchar primary key, "info"."name" varchar, "info"."age" varchar ); 查询视图数据 情况二:Hbase已存在表,可在Phoenix中创建对应的表,对表的操作可读可写,意味着可以对Hbase的表进行插入查询,删除操作。 hbase中已存在表并且有数据 在phoenix中创建对应的表 create table "t_person"( id VARCHAR PRIMARY KEY, "f"."id" VARCHAR, "f"."name" VARCHAR, "f"."age" VARCHAR ) column_encoded_bytes=0; 在phoenix中查询数据 在phoenix中插入数据 此时查看hbase中对应的t_person表数据 情况三:Hbase没有表;可直接在Phoeinx中创建表,对应的Habse中也会自动建表,在Phoenix中对表操作就是直接对Hbase中的表进行操作。 在phoenix中直接建表,t

实例演示:如何简化生产中的Pod安全策略?

一笑奈何 提交于 2020-04-01 14:08:49
Pod安全策略对于强化K8S集群安全至关重要。本文将延续之前的文章继续深入介绍Pod安全策略。 首先,简单介绍了如何将Pod与Pod安全策略相关联,并使用RBAC来展示具体步骤。然后介绍如何在Rancher中启用默认的PSP和创建自定义PSP。最后将使用一种工具来简化生产中Pod安全策略的使用,极大提升生产力,赶紧戳文咯~ 本文来自 RancherLabs 在 之前的文章 中,我们演示了如何使用受限的PSP策略作为默认值在Rancher中启用PSP。我们还展示了如何防止特权Pod被接纳到集群中。 我们有意省略了有关基于角色的访问控制(RBAC)以及如何将Pod与特定PSP连接的具体细节。那么,这篇文章让我们继续深入研究PSP。 将Pod与Pod 安全策略匹配 你可能已经注意到,PSP模式没有与任何Kubernetes命名空间、Service Account或Pod相关联。实际上,PSP是集群范围的资源。那么,我们如何指定哪些Pod应该由哪些PSP来管理呢?下图显示了所有参与组件、资源以及准入流程的工作方式。 也许一开始听起来很复杂。现在,我们来详细介绍一下。 部署Pod时,准入控制将根据请求deployment的对象来应用策略。 Pod本身没有任何关联的策略——执行该Deployment的是service account。在上图中,Jorge使用webapp-sa service

【C/C++】关于编译错误 \"error C2146: syntax error : missing ';' before identifier 'xxx'\"

心已入冬 提交于 2020-04-01 08:34:11
今天帮同学解决了一个问题,之前其实也遇到过,现在总结一下。问题大概是这样的,假设有如下代码: #include <tchar.h> DWORD g_count = 0; int _tmain(int argc, _TCHAR* argv[]) { return 0; } 使用VS编译会报如下错误: 1>f:\testproj\consoletest_vs2005\test\test.cpp(3) : error C2146: syntax error : missing ';' before identifier 'g_count' 1>f:\testproj\consoletest_vs2005\test\test.cpp(3) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>f:\testproj\consoletest_vs2005\test\test.cpp(3) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 这是什么原因呢?仔细看第一个error,说是在g_count前丢失了分号,这让人很费解,g

php利用递归函数实现无限级分类

[亡魂溺海] 提交于 2020-04-01 07:51:31
   递归函数是我们常用到的一类函数,最基本的特点是 函数自身调用自身 ,但必须在调用自身前 有条件判断 ,否则无限无限调用下去。实现递归函数可以采取什么方式呢?本文列出了三种基本方式。理解其原来需要一定的基础知识水品,包括对全局变量,引用,静态变量的理解,也需对他们的作用范围有所理解。递归函数也是解决无限级分类的一个很好地技巧。如果对无限级分类感兴趣,请参照 php利用递归函数实现无限级分类 。我习惯套用通俗的话解释复杂的道理,您确实不明白请参见 手册 。   利用引用做参数   先不管引用做不做参数,必须先明白引用到底是什么?引用不过是指两个不同名的变量指向同一块存储地址。本来每个变量有各自的存储地址,赋值删除各行其道。现在可好,两个变量共享一块存储地址。 $a =& $b ; 。实际上指的是 $a 不管不顾自己原来的存储地址,非要和 $b 共享一室了。因而任何对存储地址数值的改变都会影响两个值。     函数之间本来也是各行其是,即便是同名函数。递归函数是考虑将引用作为参数,成为一个桥梁,形成两个函数间的数据共享。虽然两个函数见貌似操作的是不同地址,但是实际上操作的是一块儿内存地址。    function test($a=0,&$result=array()){ $a++; if ($a<10) { $result[]=$a; test($a,$result); }echo

js作用域

被刻印的时光 ゝ 提交于 2020-04-01 06:12:11
1.js的作用域是有函数划分的,而不是块儿 var too="test"; if(true){//这是在块中的定义,此时还是全局变量 var too="new test"; } alert(too=="new test");//return true; function test() { var too="old test";//这是在函数中的定义,此时是局部变量 } test(); alert(too=="new test");//return true;too并没有改变 2.所有属于全局作用域的变量都是window对象的属性 上面例子中 第一行的 too就是等于 window.too 看下面的例子 function test() { too="test"; } test(); alert(window.too="test"); 是不是很奇怪,上面例子中函数中的too是局部变量,在这里就是全局变量了 注意下两个例子的区别,一个通过显示声明 var too 一个隐示声明too="test"; 也就是说没有显示定义的变量,它就是全局变量,虽然它可能只能在这个函数内使用。 作用域(scope)是JavaScript语言的基石之一,在构建复杂程序时也可能是最令我头痛的东西。记不清多少次在函数之间传递控制后忘记 this关键字引用的究竟是哪个对象,甚至,我经常以各种不同的混乱方式来曲线救国

准备写一篇BlobAsset的用法

痞子三分冷 提交于 2020-04-01 03:51:46
#if !UNITY_DOTSPLAYER using UnityEngine; using NUnit.Framework; using System; using Unity.Burst; using Unity.Collections; using Unity.Jobs; using Unity.Entities; using Unity.Entities.Tests; using Unity.Collections.LowLevel.Unsafe; using Assert = NUnit.Framework.Assert; public class BlobTests : ECSTestsFixture { //@TODO: Test Prevent NativeArray and other containers inside of Blob data //@TODO: Test Prevent BlobPtr, BlobArray onto job struct //@TODO: Various tests trying to break the Allocator. eg. mix multiple BlobAllocator in the same BlobRoot... struct MyData { public BlobArray<float>

K8S 之 YAML文件创建各种角色

夙愿已清 提交于 2020-04-01 01:21:45
一、创建单个nginx-pod文件 apiVersion: v1 #指定api版本,此值必须在kubectl apiversion中 kind: Pod #指定创建资源的角色/类型(pod\deployment\svc) metadata: #资源的元数据/属性 name: nginx #资源的名字,在同一个namespace中必须唯一,pod显示名 labels: #设定资源的标签 app: web #为app标签打上web字段 namespace: test #存放的空间 spec: #指定该资源的内容 containers: #该POD运行容器的相关信息 - name: nginx-test #容器的名称,docker ps 看到的名称 image: test-harbor.cedarhd.com/public/nginx:curl #容器使用的镜像 ports: #指定容器的端口 - containerPort: 80 #容器使用的端口 [root@test-nodes1 ~]# kubectl create -f nginx-pod.yaml pod/nginx created [root@test-nodes1 ~]# kubectl get pod -o wide -n test NAME READY STATUS RESTARTS AGE IP NODE

K8S 之 POD标签的应用

那年仲夏 提交于 2020-04-01 01:17:48
一、创建POD时指定相应标签 apiVersion: v1 kind: Pod metadata: name: kubia-manual namespace: test labels: app: web_html #定义了app标签为:web_html env: prod #定义了env标签为:prod spec: containers: - name: kubia image: luksa/kubia ports: - containerPort: 8080 protocol: TCP 二、通过标签查看POD [root@test-nodes1 ~]# kubectl get pod --show-labels -n test #查看所有pod的标签 NAME READY STATUS RESTARTS AGE LABELS kubia-manual 1/1 Running 0 47h app=web_test,env=prod nginx-dp-856666d759-bfrgj 1/1 Running 0 3d9h app=nginx-proxy,env=test,pod-template-hash=856666d759 nginx-dp-856666d759-c5p4l 1/1 Running 0 3d9h app=nginx-proxy,env=test,pod

答应我,不会这些概念,简历不要写 “熟悉” zookeeper

扶醉桌前 提交于 2020-03-31 21:34:02
整理了一些Java方面的架构、面试资料(微服务、集群、分布式、中间件等),有需要的小伙伴可以关注公众号【程序员内点事】,无套路自行领取 一口气说出 9种 分布式ID生成方式,面试官有点懵了 面试总被问分库分表怎么办?你可以这样怼他 一口气说出 6种 @Transactional 注解失效场景 基于 Java 实现的人脸识别功能(附源码) 9种分布式ID生成之美团(Leaf)实战 唠唠叨叨 本文主要分享一下 zookeeper 的一些基本概念,在正式进入正题前,和大家聊一聊刚入行时我的面试经验,可以说是耿直的有些可爱。 面试官 :用过 zookeeper 吗? 我 :用过啊,给 dubbo 提供服务的注册与发现嘛 面试官 :知道 zookeeper 是什么吗? 我 :知道啊,注册中心嘛 面试官 :那你们项目中都是怎么用 zookeeper 的? 我 :就在 springboot 的 application.properties 配置文件里添加一个 zookeeper 服务地址就行了。。。 . 上边的对话好像也没什么毛病,但似乎又感觉哪里有点不太对,结果就是每次我如此回答面试都被pass。 为什么会被问zookeeper?因为我的简历项目上写着熟练使用zookeeper,可面试官理解的 “熟练” 使用可不是会配置,工程启动不报错那么简单

linux 基础命令应用

我怕爱的太早我们不能终老 提交于 2020-03-31 19:52:09
Linux操作系统 ==================== desktop模式 #配置ip,网关# setup 网络配置--设备配置--DHCP--【*】按空格键改为【 】--在下面配置ip、子网掩码、网关、DNS =====记得要保存再退出哦! 启动网卡配置文件 ifup eth0 ifconfig 查看ip地址是否配置成功 重启reboot后需要再次启动配置文件 ifup eth0 =============================================================== Linux下删除yunjisuan目录所有文件,但只保留一个“7”不删 【3种方法】 find find yunjisuan - type "f" !- name "7" | xargs rm -rf grep ls | grep -v "7" | xargs rm -rf 嵌套 rm -rf ` ls | grep -v "7"` =============================================================== 已知test文件, 去掉第五行内容后,输出结果 【4种方法】 head/tail head -4 test && tail -45 test grep cat test | grep -v "5" sed sed '