jira

Hadoop ViewFs允许hdfs schema的重载

蹲街弑〆低调 提交于 2020-05-04 19:07:07
文章目录 前言 Hadoop ViewFs的问题痛点 Hadoop ViewFs的重载hdfs schema方式 ViewFs的mount point中心化管理问题 引用 前言 在大数据时代,随着业务的迅速扩张,很多大公司往往内部会有多cluster模式来支撑其内部的数据体量。在这期间就会涉及到一个多集群管理协调的问题,比如典型的HDFS的多集群管理。社区在早期实现的ViewFs以及后来的Router-based的功能在一定程度上能优化这块的管理。但是上述2个方案还不能完全cover住HDFS的多cluster管理的痛点问题,比如在一些用户写死在code中的地址,如何能做到纹丝不动的适配到viewfs多集群模式?本文我们来谈论谈论这个话题以及目前社区对此的解决方案。 Hadoop ViewFs的问题痛点 Hadoop ViewFs功能实现的时间可以说是非常早的了,当时最初解决的问题是在client端构建一个视图逻辑上统一的文件系统,ViewFs下不同的路径实际指向的具体的物理cluster地址。简单来说,就是我们在client端添加了一个类似mount point的映射表mapping关系。 因为是基于client side的改动,因此这会导致一个很容易出现的问题,ViewFs的重新部署更新会变得极为的麻烦,在这里面至少会涉及到如下相关服务的变更:

Apache Ratis中的multi-raft实现原理

喜夏-厌秋 提交于 2020-05-02 16:03:23
文章目录 前言 Single-Raft模式 Multi-raft改进 引用 前言 在之前笔者写过一篇关于Ozone利用Apache Ratis multi-raft功能来提升其系统的throughput的文章( Ozone Multi-Raft机制对于更大throughput处理量的支持 ),不过那篇博文只是简单介绍了下在multi-raft的支持下,一个Ozone Datanode节点可以允许成为多个Pipeline的一员,从而达到加大Ozone请求处理量的目的。本文笔者来聊聊Apache Ratis multi-raft的具体实现原理,聊聊从multi-raft的应用到本质。 Single-Raft模式 既然我们有multi-raft模式,那也就是说还有对应的single-raft模式。这里说的Single-raft模式其实是最早RaftServer实现的模式,一个节点上面只启动一个RaftServer实例,它的正常server state无非两种Leader或者Follower(假设不考虑投票选举阶段)。 对应一个单节点单RaftServer实例而言,它在本地节点上以及服务自身会存有以下一些必要的信息: StateMachine,内部状态机。 RaftLog,持久化在本年底的transaction log。 还有Snapshot数据

Python-Jenkins助力传统发布流程

北城以北 提交于 2020-05-02 03:24:48
首先看页面 在按下提交按钮后后端开始执行发布程序(jenkins),执行完成之后(成功/失败)返回如下结果 在Console Output 页面可以详细看到Jenkins执行过程(Python-Jenkins的功能) 每次操作记录都会写入到MySQL 应用和IP对应关系 引子   Jenkins虽然很方便很自动化了,但是总会有定制化的场景和需求,本例在Jenkins自动构建的基础之上再进一步的减少操作流程,让日常测试人员的升级、版本管理更加高效,将项目迭代的流程打包成“一键发布”。   本例的前提是Jenkins自动化构建已经存在,CMDB已建立完善 研发流程简介 略... 软件版本简介 OS RHEL6.5 Python 2.6.6 Django 1.6.8 Jenkins 2.131 Gitlab gitlab-ce-7.14.0-ce.0.el6.x86_64.rpm JAVA 1.8.0_91 公司网络环境复杂,对稳定性和安全性较高,所以软件版本比较老旧 Django目录结构简介 [root@BETA-CMDB-24 opt] # tree /opt/yjbops/ /opt/yjbops/ ├── amail ├── cmdb ├── django_wsgi.py ├── log │ ├── amail_uwsgi.log │ ├── yjbops_access_log

在Java / Maven中处理“Xerces hell”?

时光总嘲笑我的痴心妄想 提交于 2020-05-01 15:48:50
问题: In my office, the mere mention of the word Xerces is enough to incite murderous rage from developers. 在我的办公室里,仅仅提到Xerces这个词就足以煽动开发者的凶悍愤怒。 A cursory glance at the other Xerces questions on SO seem to indicate that almost all Maven users are "touched" by this problem at some point. 粗略地看一眼其他Xerces关于SO的问题似乎表明,几乎所有Maven用户都会在某个时候“触及”这个问题。 Unfortunately, understanding the problem requires a bit of knowledge about the history of Xerces... 不幸的是,理解这个问题需要对Xerces的历史有一点了解...... History 历史 Xerces is the most widely used XML parser in the Java ecosystem. Xerces是Java生态系统中使用最广泛的XML解析器。 Almost every library

携程PMO--扑克派对,我的估算我做主!

雨燕双飞 提交于 2020-04-30 13:56:58
转自本人运营的公众号“ 携程技术中心PMO ”(ID:cso_pmo) 作者简介 Ollie Guan,携程PMO高级项目集经理,负责 敏捷总动员 及携程技术中心PMO微信公众号运营。 上海AUG Leader ,Atlassian Community Champion,Top 10 super-contributors。 Why ? 做技术同学们都知道,在项目初始阶段我们会对需求、任务进行估算,估算往往很花时间,更要命的是总做不到准确。既然这个值即不准,又花时间,那为什么还要做估算呢? 对于用户:用户需要一个这样的预期(甚至是承诺),什么时候才能用上这个功能; 对于管理者:管理者需要这个估算来做决策,包括调整工作优先级、人员调整、甚至是否砍掉这个功能等; 对于团队自己:不仅是团队内的合作,还包括团队之间的合作(如联调的时间的确定),都需要基于估算给出。 除了上面这三个角色对估算的期望之外,估算还有一个重要的价值,那就是在估算活动中大家对需求能够趋向达成一致的理解,减少一些被忽略的假设和背景。所谓“磨刀不误砍柴工”,在估算上花费的时间是值得的。 What ? 扑克 估算,顾名思义,我们在估算的活动中加入了扑克这套工具。 传统估算通常是一个人在思考,而扑克估算鼓励跨职能团队的多个团队成员参与,团队成员可以从不同的视角来思考和分析问题,考虑更加全面、估算也更加准确。

JWT

本小妞迷上赌 提交于 2020-04-29 13:10:55
HTTP协议是无状态协议,为了解决这个问题产生了cookie和session技术。 传统的session-cookie机制 浏览器发起第一次请求到服务器,服务器发现浏览器没有提供session id,就认为这是第一次请求,会返回一个新的session id给浏览器端。 浏览器只要不关闭,这个session id就会随着每一次请求重新发给服务器端,服务器端查找这个session id,如果查到,就认为是同一个会话。如果没有查到,就认为是新的请求。 session是会话级的,可以在一个session中创建很多数据,连接断开session清除,包括session id。 session还得有过期的机制,一段时间如果没有发起请求,就清除session。浏览器端也会清除响应的cookie信息。 服务器端保存着大量session信息,很消耗服务器内存,而且如果多服务器部署,还要考虑session共享的问题,比如redis、memcached等方案。 无session方案 既然服务端就是需要一个ID来表示身份,那么不使用session也可以创建一个ID返回给客户端。 服务端生成一个标识,并使用某种算法对标识签名。 服务端收到客户端发来的标识,需要检查签名。 这种方案的缺点是,加密、解密需要消耗CPU计算资源,无法让浏览器自己主动检查过期的数据以清除。 这种技术称作JWT(Json WEB

JIRA REST java client API实际应用

梦想与她 提交于 2020-04-27 17:27:25
[本文出自天外归云的博客园] 前提 1、需要安装maven环境; 2、在本地创建maven项目并修改maven配置文件“pom.xml”,添加如下内容: < dependency > < groupId > com.atlassian.jira </ groupId > < artifactId > jira-rest-java-client </ artifactId > < version > 0.5-m6 </ version > </ dependency > < dependency > < groupId > com.atlassian.util.concurrent </ groupId > < artifactId > atlassian-util-concurrent </ artifactId > < version > 3.0.0 </ version > </ dependency > <!-- https://mvnrepository.com/artifact/org.sharegov/mjson --> < dependency > < groupId > org.sharegov </ groupId > < artifactId > mjson </ artifactId > < version > 1.4.1 </ version > </

confluence与jira账号对接、查看到期时间及问题总结

南笙酒味 提交于 2020-04-25 22:31:13
安装顺序: 先安装Jira,然后安装Confluence,在Confluence安装过程中去连接jira,既Confluence用户目录会主动同步jira的用户目录。这样,在jira里创建用户就会自动同步到Confluence里,双方登陆的用户是一样的(最好是先在jira里创建用户,然后同步到Confluence里)。在同一个session环境下,可以使用同样的账号登陆jira和Confluence。(但是在切换登陆时仍然需要输入密码,要想切换登陆时不需要登陆密码,即实现单点登录,则需要基于Crowd实现,这样就不做介绍了)。 下面粘贴下Confluence安装中连接jira的截图: =============================================================================== 如果是先安装的confluence,并且在" 配置用户管理 "中选择的是" 在Confluence中管理用户和组 ",那么后续向跟jira对接的操作方法如下: 1)jira和confluence最好设置相同的管理员账号和密码 2)登录confluence管理员账号下,依次点击右上角的"用户管理"->点击左侧最下面的"管理"中的"应用程序链接"->"创建新链接",然后添加jira的url地址,根据提示进行添加配置即可(提示中会跳到jira界面里

Confluence 实现公司wiki【转】

心不动则不痛 提交于 2020-04-25 18:07:54
Confluence是一个企业级的Wiki软件,可用于在企业、部门、团队内部进行信息共享和协同编辑 一、安装过程 1 安装并配置mysql [root@vm1 ~]# tail - 13 /etc/ my.cnf character -set-server= utf8 collation -server= utf8_bin default -storage-engine= INNODB max_allowed -packet= 34M sql_mode = ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION innodb_log_file_size = 256M init_connect = ' SET collation_connection = utf8_unicode_ci ' init_connect = ' SET NAMES utf8 ' [client] default -character-set= utf8 [mysql] default -character-set= utf8 [root@vm1 ~]# 重启mysqld服务,并创建confluence使用的库及授权相关用户: [root@vm1

Confluence 6 用自带的用户管理

耗尽温柔 提交于 2020-04-25 16:55:23
在一些特定的情况下,你可能希望禁用 Confluence 自带的用户管理或完全使用外部的用户目录进行用户管理。例如 Jira 软件或者 Jira Service Desk。你可以在 Confluence 的 外部用户管理( External User Management )中禁用 Confluence 的内部用户管理。你需要具有 系统用户管理 权限才能进行这个操作。 你可以禁用 Confluence 的内部也用户管理:You might disable Confluence's internal user management: 当使用 Crowd's directory permissions 来管理你的用户的时候,Confluence 不能更新 Crowd 目录(你将会得到一个系统错误信息,当 Confluence 尝试向 Crowd 中写入数据的时候)。请查看 Connecting to Crowd or Jira for User Management 页面中的内容获取更多信息。 如果你使用的是 Jira 应用程序来管理的用户,那么所有用户的管理中心都在 Jira 应用中。请查看 Connecting to Crowd or Jira for User Management 页面中的内容获取更多的信息。 希望在 Confluence 中禁用用户和用户管理: > 基本配置(