coding

0435-如何在CDH6.0中使用纠删码

若如初见. 提交于 2020-02-18 22:38:28
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。 Fayson的github: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 Fayson在前面的文章中介绍过《什么是HDFS的纠删码》,当时详细介绍了什么是纠删码,纠删码的实现原理,以及一些Benchmark的结果比较。 纠删码是CDH6/Hadoop3新加入的功能,之前的HDFS都是采用副本方式容错,默认情况下,一个文件有3个副本,可以容忍任意2个副本(DataNode)不可用,这样提高了数据的可用性,但也带来了2倍的冗余开销。例如3TB的空间,只能存储1TB的有效数据。而纠删码则可以在同等可用性的情况下,节省更多的空间,以rs-6-3-1024K这种纠删码策略为例子,6份原始数据,编码后生成3份校验数据,一共9份数据,只要最终有6份数据存在,就可以得到原始数据,它可以容忍任意3份数据不可用,而冗余的空间只有原始空间的0.5倍,只有副本方式的1/4,因此,可以大大节约成本。本文Fayson主要是介绍如何在CDH6.0中使用纠删码。 内容概述 1.通过CM启用纠删码 2.纠删码策略介绍 3.纠删码基本操作 4.纠删码实操 5.总结 测试版本 1.CM和CDH版本为6.0 2.Redhat7.4 3

ElasticSearch入门介绍一

本秂侑毒 提交于 2020-02-18 11:26:15
ElasticSearch 关于es的几个概念: 集群 :多个运行es节点可以组成一个集群,它们拥有相同的cluster.name。 节点 :运行es的实例 索引 :相当于数据库database,一个集群可以有多个索引(数据库)。 索引实际上是指向一个或者多个物理分片的逻辑命名空间 分片 :索引的子集,一个索引可以被切成多个分片。分片又分为主分片和副分片,副分片是主分片的副本。一个分片是一个底层的工作单元 ,它仅保存了全部数据中的一部分。Elasticsearch 是利用分片将数据分发到集群内各处的。分片是数据的容器,文档保存在分片内,分片又被分配到集群内的各个节点里。 当你的集群规模扩大或者缩小时, Elasticsearch 会自动的在各节点中迁移分片,使得数据仍然均匀分布在集群里。 副本分片 :一个副本分片只是一个主分片的拷贝。 副本分片作为硬件故障时保护数据不丢失的冗余备份,并为搜索和返回文档等读操作提供服务。副本分片数量可以随时更改。 类型 :相当于数据库中的(表)table,一个索引(数据库)包含多个类型(表)。 文档 :相当于表中的行(row)。 字段 :相当于表中的列(cloum)。 分配 :将分片分配给某个节点。 在es中,每个索引的主分片默认为5个,每个主分片的副本默认为1个。 一、安装运行elasticsearch: 官网下载安装包:https://www

Python中使用中文

馋奶兔 提交于 2020-02-14 23:12:14
python的中文问题一直是困扰新手的头疼问题, 这篇文章将给你详细地讲解一下这方面的知识。当然, 几乎可以确定的是,在将来的版本中, python会彻底解决此问题,不用我们这么麻烦了。 先来看看python的版本: >>> import sys >>> sys.version '2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)]' (一) 用记事本创建一个文件ChineseTest.py, 默认ANSI: s = "中文" print s 测试一下瞧瞧: E:/Project/Python/Test>python ChineseTest.py File "ChineseTest.py", line 1 SyntaxError: Non-ASCII character '/xd6' in file ChineseTest.py on line 1, but no encoding declared; see http://www.pytho n.org/peps/pep-0263.html for details 偷偷地把文件编码改成UTF-8: E:/Project/Python/Test>python ChineseTest.py File "ChineseTest.py", line 1

Python乱码、编码问题汇总

ぐ巨炮叔叔 提交于 2020-02-14 16:36:29
为什么Python使用过程中会出现各式各样的乱码问题,明明是中文字符却显示成“\xe4\xb8\xad\xe6\x96\x87”的形式? 为什么会报错“U nicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)”?本文就来研究一下这个问题。 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。 decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码。 encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串str2转换成gb2312编码。 因此, 转码的时候一定要先搞明白,字符串str是什么编码,然后decode成unicode,然后再encode成其他编码 代码中字符串的默认编码与代码文件本身的编码一致。 如:s='中文' 如果是在utf8的文件中

Python Tkinter 简单使用

我与影子孤独终老i 提交于 2020-02-13 09:06:52
简单的一些实例,能够实现一般的功能就够用了 Tkinter: 创建顶层窗口: # -*- coding: utf-8 -*- from Tkinter import * root = Tk() root.title("顶层窗口") root.mainloop() Label使用: # -*- coding: utf-8 -*- from Tkinter import * root = Tk() root.title("顶层窗口") label = Label(root, text="Hello World!") label.pack() root.mainloop() 加入一些参数: # -*- coding: utf-8 -*- from Tkinter import * root = Tk() root.title("顶层窗口") label = Label(root, text="Hello World!", height=10, width=30, fg="black", bg="pink") label.pack() root.mainloop() Frame: # -*- coding: utf-8 -*- from Tkinter import * root = Tk() root.title("顶层窗口") for relief in [RAISED, SUNKEN

Python学习笔记之入门(第二篇)

允我心安 提交于 2020-02-13 05:31:29
1、第一个Python代码 在Linux下/home/zx 目录下新建hello.py文件 1 #vim hello.py //添加如下内容 2 3 #!/usr/bin/env python 4 5 # -*- coding:utf-8 -*- 6 print "Hello,World" 7 8 #chmod +x hello.py //添加执行权限 执行代码: ./hello.py 结果: python内部执行过程如下: python首先把hello.py文件读到内存当中,然后经过语法分析和词法分析之后,假如文本没有问题会把文本的内容交给编译器,编译器会把文本的内容编译成字节码,然后执行字节码,把字节码转换成机器码,在进行CPU调度。 2、注释 当行注视:# 被注释内容 多行注释:""" 被注释内容 """ 或者 '''被注释内容'''。 3、导入模块 import sys //导入sys模块 4、捕获参数 捕获参数,并存入到集合 import sys.argv 比如:test内容如下 : 1 #vim test.py 2 3 #!/usr/bin/env python 4 # -*- coding:utf-8 -*- 5 import sys 6 print sys.argv 执行代码: zx@ubuntu:~$ ./test.py localhost:8001 执行结果:

Hexo博客部署到码云和Coding

谁都会走 提交于 2020-02-12 23:11:08
今天闲来无聊,尝试了Hexo博客部署到码云和 崭新的Coding平台 ,我之前试过将博客部署到Coding上,成功了,但Coding平台进行大更新,虽说我的博客地址之前还能用,但有点乱,就将之前的仓库全部删除,重新部署下。就写下这篇教程,希望能够帮到那些搭建博客的小伙伴们,如果教程有错,希望大家能够指出来,我会及时修改的,谢谢大家的支持! 部署到Coding平台 首先去 官网 进行注册,也可以用第三方微信进行注册。 注册完成之后就会进入主页面,然后创建新项目,如下图所示: 代码托管项目:用于托管代码仓库,支持多个仓库,并可选择开启 CI/CD 和制品库功能 项目管理项目:支持 Scrum 敏捷管理和传统任务管理项目,包含需求、任务和缺陷 DevOps项目:包含项目管理、代码托管、CI/CD 和制品库等功能,提供完整的研发流程 在这里我们选择第三个,DevOps项目,这个含有构建与部署功能。 选择第三个DevOps项目后,会出现下面的页面: 项目名称:与你的用户名相同,用户名就是你的团队名 团队域名可以修改一次,会显示一个修改笔的图标,因为我修改过了,所以就没显示。 添加部署公钥 在个人设置里面,点击 SSH公钥 ,点击 新增公钥 。 公钥名称:自定义 公钥内容:可以使用之前连接GitHub的公钥,在本地的 C:\Users\你的电脑账户名\.ssh ,我的为 C:\Users

python文件编码说明 coding=utf-8

非 Y 不嫁゛ 提交于 2020-02-12 04:16:24
python 支持3种编码声明,一般常用能见到下面两种 1. # -*- coding: utf-8 -*- 这种写法是为了兼容Emacs的编码声明 2.短一点,但Emacs不能用 # coding=utf-8 短一点,但Emacs不能用 之所以要声明未编码类型 ,主要是中文出错的问题。 在python 文件开头(一般是第一行或第二行), 用来说明你的Python源程序文件用使用的编码。缺省情况下你的程序需要使用ascii码来写,但如果在其中写中文的话,python解释器一般会报错,但如果加上你所用的文件编码,python就会自动处理不再报错。 这里要注意的是: 1.coding 后面使用 ":" 或 "=" 都可以 2.但是, ":" 或 "=" 必须和 coding之间没有空格。 之前我就试过有空格声明失败,还是不支持中文。至于 ":" 或 "=" 后面,有没有空格就没所谓了。 见: https://www.python.org/dev/peps/pep-0263/ Defining the Encoding Python will default to ASCII as standard encoding if no other encoding hints are given. To define a source code encoding, a magic

【剑指offer】复杂链表的复制

瘦欲@ 提交于 2020-02-10 13:03:50
https://www.nowcoder.com/practice/f836b2c43afc4b35ad6adc41ec941dba?tpId=13&tqId=11178&tPage=2&rp=2&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking class RandomListNode { int label; RandomListNode next = null; RandomListNode random = null; RandomListNode(int label) { this.label = label; } } public class Clone { public RandomListNode Clone(RandomListNode pHead) { RandomListNode p = pHead; RandomListNode t = pHead; while(p!=null){ RandomListNode q = new RandomListNode(p.label); q.next = p.next; p.next = q; p = q.next; } while(t!=null){ RandomListNode q = t.next; if(t.random !=

Socket

泪湿孤枕 提交于 2020-02-10 05:37:50
学socket编程的意义   客户端/服务器架构(c/s架构) 硬件c/s架构(打印机) 软件c/s架构         互联网中处处是C/S架构     如某网站是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种)     腾讯作为服务端为你提供视频,你得下个腾讯视频客户端才能看它的视频   C/S架构与socket的关系:      socket就是为了更加便捷的完成C/S架构的开发 OSI七层    一个完整的计算机系统是由硬件、操作系统、应用软件三者组成,具备了这三个条件,一台计算机系统就可以自己跟自己玩了(打个单机游戏,玩个扫雷啥的)    如果你要跟别人一起玩,那你就需要上网了,什么是互联网?   互联网的核心就是由一堆协议组成,协议就是标准,比如全世界人通信的标准是英语。    人们按照分工不同把互联网协议从逻辑上划分了层级:     互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层:          每层常用的物理设备:         为何学习socket一定要先学习互联网协议:         1.首先:本节课程的目标就是教会你如何基于socket编程,来开发一款自己的C/S架构软件   2.其次:C/S架构的软件(软件属于应用层)是基于网络进行通信的   3.然后:网络的核心即一堆协议,协议即标准