首页 文章 精选 留言 我的

精选列表

搜索[快速入门],共10000篇文章
优秀的个人博客,低调大师

OpenStack入门修炼之环境准备(6)

1.安装仓库 yum install -y centos-release-openstack-newton 2.安装Openstack客户端 yum install -y python-openstackclient yum install -y openstack-selinux tips:openstack-selinux可以自动配置selinux,保证不影响实验的环境 3.安装数据库 yum install -y mariadb mariadb-server python2-PyMySQL tips:除了组件horizon之外,其余openstack的组件都需要依赖数据库 对数据库进行配置: vim /etc/my.cnf/openstack.cnf [mysqld] bind-address = 192.168.56.11 (绑定ip地址) default-storage-engine = innodb (默认存储引擎) innodb_file_per_table (使用独享表空间) max_connections = 4096 (最大连接数) collation-server = utf8_general_ci (字符集设置) character-set-server = utf8 4.安装消息队列RabbitMQ 消息队列用于OpenStack各个组件通信 yum install -y rabbitmq-server 5.安装memcached memcached作为缓存模块,用于在获取令牌(token)时进行缓存,减少对数据库的访问 yum install -y memcached python-memcached 6.服务安装 ①认证服务keystone,wsgi是用于apache与pythone进行通信的模块 yum install -y openstack-keystone httpd mod_wsgi ②镜像服务glance yum install -y openstack-glance ③计算服务nova yum install -y openstack-nova-api openstack-nova-conductor \ openstack-nova-console openstack-nova-novncproxy \ openstack-nova-scheduler ④网络服务neutron yum install -y openstack-neutron openstack-neutron-ml2 \ openstack-neutron-linuxbridge ebtables 7.两台服务器时间同步 时间不同步,会导致虚拟机无法创建成功 [root@linux-node1 ~]# ntpdate time1.aliyun.com 4 Dec 09:52:32 ntpdate[21469]: step time server 115.28.122.198 offset -28368.811357 sec [root@linux-node1 ~]# crontab -e */5 * * * * /usr/sbin/ntpdate time1.aliyun.com &>/dev/null 本文转自 IT_外卖小哥 51CTO博客,原文链接:http://blog.51cto.com/jinlong/2049447

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

【hadoop学习日志】入门资料--认识hadoop

前言 hadoop已经有很多资料了,所以在此只敢说整理,顺便分享下自己的想法。 我觉得,hadoop这东西要弄过搜索引擎方向最容易上手,对一个外行人,忽然介入,会遇到很多新概念和新理念。 如果你是第一次看到hadoop,那用这种说法来让你理解: hadoop = MapReduce+HDFS(hadoop 文件系统) 进一步解释: MapReduce是一个项目,HDFS是另一个项目,他们组成了hadoop。 是实际上这两个项目与hadoop关系 ,好比 hadoop是计算机,而MapReduce是CPU,而HDFS是硬盘, 显而易见了,MapReduce处理数据,HDFS存储数据。 hadoop是什么 摘自维基:Hadoop是Apache软件基金会所研发的开放源码并行运算编程工具和分散式档案系统,与MapReduce和Google档案系统的概念类似 摘自百度百科:hadoop是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。 小评价一下: 大家注意到,hadoop强调的是分布式文件系统(HDFS),讲了一堆好处,其实效果就是你在无需知道HDFS后台的行为的时候,他为你操作数百甚至几千台机器之间的分配。而对你来说,HDFS就是一个文件系统,你感觉就在一台机器上操作。 那再说说MapReduce, 其实Map 和 Reduce是两个函数,他们先在Map函数里整理一遍数据,再到Reduce整理数据,然后输出。(输出到哪?到输出流,你可以接着。) hadoop版本 说标准版,也就是Apache的版本 下载地址:http://hadoop.apache.org/releases.html#Download 1.0.X -当前的稳定版本, 1.0 release 1.1.X -当前beta 测试版, 1.1 release 2.X.X –当前alpha 测试版本 0.23.X -与 2.X.X 版本相似 但没有NameNode的HA(High Avalability,即高可用性). 0.22.X -没有包含权限认证 0.20.203.X -早期稳定版本 0.20.X -早期版本 具体选择哪个版本看你了,在这里提一嘴,两嘴: 1. beta测试和alpha测试的概念 beta测试在用户现场的测试,所有用户都可以用,并提出意见 alpha测试一种验收测试,由用户或第三方测试公司进行的测试,在开发方的场所,好受控 2. 就本文写成时,中文版的《hadoop权威指南》等相关书籍书籍都基于0.20.x版本居多,而自0.21版本以后,MapReduce和HDFS已经分成两个项目,目录和配置文件也有所区别。 建议版本: 如果以学习为主,我建议先以0.20.X开始,有丰富的资料可以学习。其中该版本的下载包里有0.18的中文文档,有助于学习了解hadoop. Hadoop周边(我重点红色标注) HBase: 类似Google BigTable的分布式NoSQL列数据库。 HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群 Hive: 数据仓库工具,由Facebook贡献。Hive是一个基于Hadoop的数据仓库平台。通过hive,我们可以方便地进行ETL的工作。hive定义了一个类似于SQL的查询语言:HQL,能 够将用户编写的QL转化为相应的Mapreduce程序 Zookeeper: 分布式锁设施,提供类似Google Chubby的功能,由Facebook贡献。 ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键 Apache Avro: 新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制。 Avro(读音类似于[?vr?])是Hadoop的一个子项目,由Hadoop的 创始人Doug Cutting(也是Lucene,Nutch等项目的创始人)牵头开发。 Pig: Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算 Sqoop: Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导入到Hadoop的HDFS中,也可以将HDFS的数据导入到关系型数据库中。 Oozie Oozie 是一个开源的工作流和协作服务引擎,基于 Apache Hadoop 的数据处理任务。Oozie 是可扩展的、可伸缩的面向数据的服务,运行在Hadoop 平台上。 Oozie 包括一个离线的Hadoop处理的工作流解决方案,以及一个查询处理 API。 本文是为了认识hadoop,所以在尽量说下浅显的东西,下面说下 hadoop的命名 简单总是最好的,“这个名字是我孩子给一个棕黄色的大象样子的填充玩具命名的。我的命名标准就是简短,容易发音和拼写,没有太多的意义,并且不会被用于别处。小孩子是这方面的高手”Doug Cutting如是说,(后面是我说)比如谷歌, Google 是由英文单词“googol”变化而来。“googol”是美国数学家 Edward Kasner 的侄子 Milton Sirotta 创造的一个词. 说到名字一事,谷歌入驻中国,在此事上花了不少心思,借鉴了之前Yahoo和Ebay几家失败教训,最初还有很萌的“狗狗”之名。 当年“蝌蚪啃蜡”的名字杀入中国时,也是被人不待见,直到他改名成了“可口可乐”。 hadoop大事记 2004年,Google发表论文,向全世界介绍了MapReduce。 2005年初,为了支持Nutch搜索引擎项目,Nutch的开发者基于Google发布的MapReduce报告,在Nutch上开发了一个可工作的MapReduce应用。 2006年1月,Doug Cutting加入雅虎,Yahoo!提供一个专门的团队和资源将Hadoop发展成一个可在网络上运行的系统。 2008年1月,Hadoop成为Apache顶级项目 2008年7月,Hadoop打破1TB数据排序基准测试记录。Yahoo!的一个Hadoop集群用209秒完成1TB数据的排序 ,比上一年的纪录保持者保持的297秒快了将近90秒。 2009 年 3 月,Cloudera推出CDH(Cloudera’s Distribution including Apache Hadoop)平台,完全由开放源码软件组成,目前已经进入第3版。 2009年5月,Yahoo的团队使用Hadoop对1 TB的数据进行排序只花了62秒时间。 2009年7月 ,Hadoop Core项目更名为Hadoop Common; 2009年7月 ,MapReduce 和 Hadoop Distributed File System (HDFS) 成为Hadoop项目的独立子项目。 009年7月 ,Avro 和 Chukwa 成为Hadoop新的子项目。 2010年5月 ,Avro脱离Hadoop项目,成为Apache顶级项目。 2010年5月 ,HBase脱离Hadoop项目,成为Apache顶级项目。 2010年5月,IBM提供了基于Hadoop 的大数据分析软件——InfoSphere BigInsights,包括基础版和企业版。 2010年9月,Hive( Facebook) 脱离Hadoop,成为Apache顶级项目。 2010年9月,Pig脱离Hadoop,成为Apache顶级项目。 2011年1月,ZooKeeper 脱离Hadoop,成为Apache顶级项目。 2011年3月,Apache Hadoop获得Media Guardian Innovation Awards 。 注意红色标注,Cloudera是目前最火的hadoop“包装器” 收尾 hadoop算是有个比较泛泛的认识了,今天先这些。 本文转自 wws5201985 51CTO博客,原文链接:http://blog.51cto.com/yjplxq/1036777,如需转载请自行联系原作者

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

自定义控件入门及案例

自定义控件一般分为2种: 1.组合控件 第1种形式:自定义一个类继承任意一个布局(XXLayout),然后复写它的构造方法,填充view,得到XML属性并设置属性。这 种形式我在上一篇文章已经详细讲到 http://4259297.blog.51cto.com/4249297/1683192 第2种形式:由Android原生的控件组合起来,配合动画实现的效果。 2.自定义控件: 控件之所以能由代码转换成视图展现在屏幕上,在底层主要会做3件事:测量(measure)、布局(layout)、绘制(draw),对应的 控件类的3个方法onMeasure、onLayout、onDraw 自定义控件也有3种形式 第1种:View控件继承View,需要复写测量(onMeasure)、绘制(onDraw)方法。因为View的摆放位置,是由它的父控件 ViewGroup来决定。测量是指测量自身的大小。 第2种:ViewGroup控件组,继承ViewGroup,需要复写测量(onMeasure)、布局(onLayout)两个方法。测量是指测量控件组里的 控件的大小,布局是指怎么摆它里面的控件。绘制就不需要复写了,因为这是由控件组里的控件来完成的。 第3种:升级控件,继承已有的Android控件,在它的基础之上再作一些修改。 下面就总结一下老师上课所讲的案例,作为对自定义控件抛砖引玉作用吧... 组合控件案例 案例1:优酷菜单 上面的这个动画录制得比较的粗糙,真实速度是没有这么快的。 1)素材和布局 优酷菜单分为三级,每一级采用的都是相对布局(因为菜单里的控件是沿着弧形摆放的),而且三个布局的三个上下的中 心在一条直线且在activity里水平居中。三个相对布局是相互叠加在一起的,所以最顶层的布局只能是相对布局或帧布局。 给3个布局由里到外取名为level1、level2、level3。 想要实现这样的效果,图片的尺寸是需要计算和设计的,且要为透明。 2)动画类的制作 分析可知,显示或隐藏动画是通过旋转动画来完成的,动画有重载形式(有延时与无延时),且动画之间是有关系的(动 画的个数统计,动画监听机制),所以动画应该写在一个类当中。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 /** *自定义动画工具类 *工具类不一定非要是静态的方法,静态虽然不用new,但是会有太多的限制。 *@authorLENOVO * */ public class MyAnimUtils{ public int runningAnimations= 0 ; MyAnimationListenerlistener= new MyAnimationListener(); //暴露方法-有没有动画正在运行 public boolean isRunningAnimation() { return runningAnimations!= 0 ; } //隐藏菜单动画 public boolean startHideAnimation(Contextcontext,Viewview){ return startHideAnimation(context,view, 0 ); } //隐藏菜单动画-延时 public boolean startHideAnimation(Contextcontext,Viewview, int startOffset){ //因为补间动画不会改变控件原有的坐标位置,虽然不可见了,但是还是可以点击。 //找到View里所有的控件,使它们不可用。 RelativeLayoutrl=(RelativeLayout)view; int childCount=rl.getChildCount(); for ( int i= 0 ;i<childCount;i++){ rl.getChildAt(i).setEnabled( false ); } AnimationhideAnimation=AnimationUtils.loadAnimation(context, R.anim.zero_to_fu180); hideAnimation.setStartOffset(startOffset); view.startAnimation(hideAnimation); //动画监听 hideAnimation.setAnimationListener(listener); return false ; //表示隐藏菜单 } //显示菜单动画 public boolean startShowAnimation(Contextcontext,Viewview){ return startShowAnimation(context,view, 0 ); } //显示菜单动画-延时 public boolean startShowAnimation(Contextcontext,Viewview, int startOffset){ //找到View里所有的控件,使它们可用。 RelativeLayoutrl=(RelativeLayout)view; int childCount=rl.getChildCount(); for ( int i= 0 ;i<childCount;i++){ rl.getChildAt(i).setEnabled( true ); } AnimationshowAnimation=AnimationUtils.loadAnimation(context, R.anim.fu180_to_zero); showAnimation.setStartOffset(startOffset); view.startAnimation(showAnimation); //动画监听 showAnimation.setAnimationListener(listener); return true ; //表示显示菜单 } //自定义动画监听类(自己监听自己) private class MyAnimationListener implements AnimationListener { @Override public void onAnimationStart(Animationanimation){ runningAnimations++; } @Override public void onAnimationRepeat(Animationanimation){ } @Override public void onAnimationEnd(Animationanimation){ runningAnimations--; } } } 3)显示或隐藏动画的布局和逻辑 第1步:初始化操作 实例动画类,findview,注册点击事件。 第2步:点击事件 ■menu(菜单)键的点击事件逻辑 如果第三级菜单level3隐藏/关闭,关闭/隐藏第三级菜单level3,且在关闭/隐藏动画未执行完之前,不会执行隐藏 /关闭动画。 升级控件,继承已有的Android控件 实际场景1: 拓展: 1。关于onDraw()方法不被执行的解决方法(setWillNotDraw),经常见到别人自定义控件的时候使用。 http://blog.csdn.net/look85/article/details/8442675 2.最简单也最难——如何获取到Android控件的高度 http://www.2cto.com/kf/201410/341592.html 3.Android 获得view的宽和高 http://blog.csdn.net/yangdeli888/article/details/25405263 4.AndroidgetWidth和getMeasuredWidth区别 http://blog.sina.com.cn/s/blog_4b93170a0102e2ns.html 本文转自屠夫章哥 51CTO博客,原文链接:http://blog.51cto.com/4259297/1688686,如需转载请自行联系原作者

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

函数计算入门示例 - hello world

前言 在函数计算中,用户除了使用命令行的工具来管理和操作函数计算服务,还可以使用可视化的控制台工具来查看和管理自己的函数,这边以一个简单的例子来简单介绍下函数计算控制台的使用。 控制台使用 - 1,登录阿里云函数计算官方帮助网址,点击下图的控制台进行登录 - 2, 成功登录后,进入阿里云管理控制台页面,可以通过下图两种方式的任意一种进入函数计算的控制台管理页面 1 如果你把函数计算控制台配置到管理控制台 2 万能入口方式 注:创建服务的时候注意下区域,区域详情 -3, 进入函数计算控制台管理页面之后,新建一个服务 -4, 创建服务成功后,在服务下面创建一个函数 step1:创建函数过程中有响应的模板,这边选择最简单的空白函数模板,语言选择python step2:这边示例不创建触发器 step3:给函数取名,编辑代码相关,这边默认的代码是经典的hello

资源下载

更多资源
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应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册