首页 文章 精选 留言 我的

精选列表

搜索[搭建],共10000篇文章
优秀的个人博客,低调大师

hadoop 2.7.3 集群搭建遇到问题以及解决

系统安装相关 center os安装到系统中需要用软碟通制作一个启动盘,先选择一个镜像,然在在启动菜单选择写入硬盘 出现错误 center os 7 starting timeout报了一长溜后出现dev/root dosnot exist 这是没有找到镜像文件,在报错界面cd dev,可以看到挂载的设备,有几十个,sd开头的是存储相关。我这边出现的是sda sda4 sdb。重启,在选择安装界面按e进入编辑,将vmlinuz initrd=initrd.imginst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet 改为:vmlinuz initrd=initrd.imginst.stage2=hd:/dev/sda quiet 即可,然后按ctrl+x安装如果没成功改为sdb sda4总有一个会让你成功 SSH相关 1. 明明SSH已经配置值成功了,为什么start-all.sh的时候还要输入s2的密码 s3的密码? 答:ssh设置的是给hadoop用户配置的,需要su hadoop 切换到hadoop用户下再执行start-all.sh 2. ssh没有配置成功如何重新开始配置 答:先将用户切换到hadoop然后打开~/.ssh目录,将目录下的所有文件都删除(三个节点都这么做),弄完后执行ssh localhost初始化ssh hadoop相关 start-all.sh报错:ssh: Could not resolve hostname master: Temporary failure in name resolution答:请确保各配置文件里的三台机器的host名没有填错,包括/etc/hosts core-site.xml hdfs-site.xml mapred-site.xml 这几个文件都要排查 DataNode节点没有起来,查看日志发现是/user/hadoop/dfs/data 文件路径不存在答:请确保hdfs-site.xml里面的name为dfs.datanode.data.dir所对应的value路径目录文件夹已创建 DataNode节点没有起来,查看节点日志文件发现是对该文件夹没有权限,无法操作答:chown -R hadoop:hadoop /usr/hadoop 给三个节点的改目录赋该权限给hadoop群组的hadoop用户 Cannot create file/business1/2017-08-02/15/.logs.1501660021526.tmp. Name node is in safe mode.答:表示目前是安全模式,值要退出安全模式就可以了hadoop dfsadmin -safemode leave DataXceiver error processing WRITE_BLOCK operation 2017-08-03 01:27:55,667 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: s3:50010:DataXceiver error processing WRITE_BLOCK operation src: /192.168.1.113:47061 dst: /192.168.1.113:50010 java.io.InterruptedIOException: Interrupted while waiting for IO on channel java.nio.channels.SocketChannel[connected local=/192.168.1.113:50010 remote=/192.168.1.113:47061]. 60000 millis timeout left. at org.apache.hadoop.net.SocketIOWithTimeout$SelectorPool.select(SocketIOWithTimeout.java:342) at org.apache.hadoop.net.SocketIOWithTimeout.doIO(SocketIOWithTimeout.java:157) at org.apache.hadoop.net.SocketInputStream.read(SocketInputStream.java:161) at org.apache.hadoop.net.SocketInputStream.read(SocketInputStream.java:131) at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) at java.io.BufferedInputStream.read(BufferedInputStream.java:345) at java.io.DataInputStream.read(DataInputStream.java:149) at org.apache.hadoop.io.IOUtils.readFully(IOUtils.java:199) at org.apache.hadoop.hdfs.protocol.datatransfer.PacketReceiver.doReadFully(PacketReceiver.java:213) at org.apache.hadoop.hdfs.protocol.datatransfer.PacketReceiver.doRead(PacketReceiver.java:134) at org.apache.hadoop.hdfs.protocol.datatransfer.PacketReceiver.receiveNextPacket(PacketReceiver.java:109) at org.apache.hadoop.hdfs.server.datanode.BlockReceiver.receivePacket(BlockReceiver.java:501) at org.apache.hadoop.hdfs.server.datanode.BlockReceiver.receiveBlock(BlockReceiver.java:897) at org.apache.hadoop.hdfs.server.datanode.DataXceiver.writeBlock(DataXceiver.java:802) at org.apache.hadoop.hdfs.protocol.datatransfer.Receiver.opWriteBlock(Receiver.java:137) at org.apache.hadoop.hdfs.protocol.datatransfer.Receiver.processOp(Receiver.java:74) at org.apache.hadoop.hdfs.server.datanode.DataXceiver.run(DataXceiver.java:253) at java.lang.Thread.run(Thread.java:748) 字面理解为文件操作超租期,实际上就是data stream操作过程中文件被删掉了。之前也遇到过,通常是因为Mapred多个task操作同一个文件,一个task完成后删掉文件导致。 解决方案: 继续改大 xceiverCount 至8192并重启集群生效。 修改hdfs-site.xml (针对2.x版本,1.x版本属性名应该是:dfs.datanode.max.xcievers): <property> <name>dfs.datanode.max.transfer.threads</name> <value>8192</value> </property> 拷贝到各datanode节点并重启datanode即可 6. java.io.IOException: Incompatible clusterIDs java.io.IOException: Incompatible clusterIDs in /usr/hadoop/dfs/d ata: namenode clusterID = CID-86e16085-c061-4806-aac1-6f125689d567; datanode clusterID = CID-888eeac4-405f-4e3e-a5c3-c5195da71455 at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:775) at org.apache.hadoop.hdfs.server.datanode.DataStorage.loadStorageDirectory(DataStorage.java:300) at org.apache.hadoop.hdfs.server.datanode.DataStorage.loadDataStorage(DataStorage.java:416) at org.apache.hadoop.hdfs.server.datanode.DataStorage.addStorageLocations(DataStorage.java:395) at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:573) at org.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:1362) at org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:1327) at org.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:317) at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:223) at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:802) at java.lang.Thread.run(Thread.java:748) 解决方案: 将name/current下的VERSION中的clusterID复制到data/current下的VERSION中,覆盖掉原来的clusterID - ###flume相关 #####1.ChannelFullException: Space for commit to queue couldn't be acquired. Sinks are likely not keeping up with sources, or the buffer size is too tight 答: 1)修改配置参数: agent.channels.memoryChanne3.keep-alive = 60 agent.channels.memoryChanne3.capacity = 1000000(给一个合适的值) 2)修改java最大内存大小 vim bin/flume-ng

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

私有云搭建:基于OpenStack 但不止于OpenStack

在过去的3月份,开源厂商Redhat公司披露了它的第四个季度的财报,显示其中16%左右的收益来自于私有OpenStack。Red Hat的CEO Jim Whitehurst也表示,第四季度中三分之一左右的大型交易来自于OpenStack私有云组件。这对用户来说无疑是一个利好消息,说明已经有越来越多的企业开始尝试应用OpenStack了。 Redhat只是OpenStack企业部署的一个案例而已,那么OpenStack当前在国内的部署、实施水平如何?对此,我们有幸采访了云极星创联合创始人兼CTO刘世民先生,他曾先后在EMC和IBM公司负责OpenStack平台的架构设计与实现和OpenStack 的私有云产品国内的研发,以及云极星创IaaS平台研发部架构师刘家军先生。 OpenStack国内发展形势大好 OpenStack是以开源社区为基础,仅从对社区的代码贡献量来看,中国企业、开发人员已经成为社区的中黄金、白金会员的主力军了。刘世民说, “目前,在OpenStack领域,我认为国内与国外的差距已经不是很明显了,相反在某些方面国内甚至是超前的。”对此刘世民给出了解释: 首先,国内客户在OpenStack方面受到了良好的教育,促使开源环境部署处于了较高的水平,国内在这一开源平台上的教育过程已经基本完成。现在,面对OpenStack,客户的问题不再是“OpenStack 行与不行”的问题,而是想要深入了解厂商所提供的“OpenStack做的怎么样”的问题。 其次,OpenStack代码和功能方面的成熟度比以前有了显著的提高,尤其是在计算、存储、网络等核心模块上已经达到了很高的水平,足够在企业应用,例如商用存储、商用SDN,以及其它方面的优化,都已经能够满足大部分企业环境的需求。 第三,国内从事OpenStack的公司已经走进了成熟期。从融资的情况来看,大部分OpenStack初创企业已经走向了C轮,或者是B后期的轮融资,另外再加上以华为为代表的大企业也已经将OpenStack 锤炼成型。 第四,企业对私有云的需求在提升。私有云必须以虚拟化为基础,现在国内的虚拟化水平已经可以向私有云发展,同时,物联网应用的发展也对云计算提出了直接的需求。这也就是说,OpenStack作为构建私有云的基础平台,也备受企业青睐。 另外,刘家军补充,国内企业进行的私有与公有项目,从架构与设计都不错。在国内,基于OpenStack构建私有云的企业有很多,涉及了金融行业、电力电网行业,银行业,这些企业要么自主研发,要么与OpenStack厂商合作构建私有云。除此之外,大的互联网公司,例如360、京东、网易、美团都对OpenStack 进行了投入研发。 由此可见,OpenStack在国内发展真的一片大好的情势。但在与国外相比较时,刘世民还说“如果说有差距的话,那还是在产品化。” OpenStack 产品化:“不要OpenStack ,而要私有云” 谈到用户对OpenStack的需求时,刘世民这样说到:“企业需要的不是OpenStack,而是一个私有云,他们需要的是可以支撑业务发展的私有云。”但企业自己构建私有云比较复杂,如对环境的利旧性,对数据中心内部的建设,对网络存储等功能都有很高的要求。虽然,OpenStack本身是一个开放平台,可以支持各种网络、IT基础设施、各种负载应用,可以很好地应对用户对私有云的需求。但OpenStack本身对于用户来说更是解决问题一项技术,并不能拿来就用,他们需要是一种产品化的OpenStack,而这正OpenStack社区的弱点。在把OpenStack转变成企业所需要的产品化过程中,刘世民认为应该从以下几个方面着手: 改进OpenStack界面。界面是用户最直接接触东西,一定要做到简单易用。然而,对于管理、计费、与企业网络的用户系统的打通等功能,社区OpenStack无法做到易用。刘世民认为,客户对私有云的很大一部分需求是对界面的要求。OpenStack社区的Horizon显示界面,完全是以技术化的方式呈现的——只是简单地把资源暴露出来,最终用户完全无法直接使用,使得企业进行OpenStack构建私有云时,要重新定制化这一界面。 据刘世民介绍,云极星创在OpenStack的控制界面(CMP)方面投入了大量精力,一开始就把CMP与OpenStack置于同等重要的位置进行产品设计,尽量屏蔽掉过于技术的东西。云极星创认为社区的Horizon是依附于OpenStack的,不便于最终用户使用,因此,在云极内部专门设置了一条产品线服务于CMP的设计。 提升OpenStack稳定性。OpenStack社区有30多个组件,和难以计数的项目,其稳定性差,可维护性弱。用户认为选择OpenStack构建私有云,就意味着企业要培养一支大型的维护团队,大大地增加了人力成本。在这方面,为了确保OpenStack的稳定与可维护性,刘世民说OpenStack服务提供商要具备强大的服务系统和用户监控平台——这些也是云极星创的重点,他们并给用户提供了Venus自动化运维平台,让OpenStack功能尽在用户的掌握之中。 加强OpenStack备份功能。无论是虚拟机、文件备份,还是数据库备份,OpenStack社区都比较薄弱,对此云极星创将引入第三方专业备份机构,打造了一个生态系统,共同满足企业对安全、备份的需求。”我们不只专注于OpenStack 代码本身,我们还以它为中心、满足客户产品化需求的完整的产品体系,“刘世民表示。 此外,云极星创看到,近年来对于技术选型方面,企业已经愈发地趋于理性,越来越多从业务需求出发,可以说是用户的选择已经回归到业务的正常需求上。因此,对于用户所提出的需求,云极还提供了强大售前团队支持,帮助用户甄别出伪需求,留下有价值需求,给用户提供定制化的设计。刘世民认为,“定制化是有范围的,如果90%是标准化,10%定制化,这是合理的需求;而如果企业一味拒绝定制化,并不是长久之计。” OpenStack +容器技术:打造全栈式的云平台 对于OpenStack与容器技术,如Docker和Kubernetes,之间的关系,刘家军说OpenStack与Docker是互补的关系,只是两者解决的核心问题不太一样。 从技术看,Docker主要是运行时环境的一个封装,它把常用的程序、库函数、包括软件本身都会打包在一个镜像中;不同的Docker实例依赖同一个操作系统内核,优势在于,例如应用打包好后,在不同的Linux发行版本上都可以运行,减少了对操作系统的依赖;另外它结合了操作系统提供的功能,实现了资源的隔离,如果在同一个操作系统上运行两个程序 ,即使对同一个软件库有不同版本的要求,也不会有影响,因为它们运行在各自的镜像中,使用的版本是不一样的。 OpenStack是通用的IaaS平台,以系统虚拟化为基础,主要指的就虚拟机。虚拟机抽象模拟了计算机所需要的各种虚拟零部件,在这些零部件上安装操作系统,才能把这些虚拟的零部件运行起来。虚拟机中支持完整的操作系统,无论安装什么操作系统,底层模拟的程序和硬件提供的接口或者映像与真实机器是一样的,所以它能完全独立于底层的操作系统。与Docker的一个区别在于,Docker实例之间依赖于共同的内核,如果系统内核出现BUG,所有的Docker都会受到这个内核的影响;而虚拟机的隔离性更好,它提供给每个虚拟机一个独立的虚拟的硬件,虚拟机拥有自己的内核,如果这一个内核出现问题,不会影响别的虚拟机的。 两者技术上不一致,适用的场景和范围也不一样。Docker适合用来做应用之间的隔离——在现有的平台中更适合于PaaS场景中,程序员只需要关注于程序、代码做好就可以,他不用关心平台的运行、部署、运维等工作。 Kubernetes是容器的调度和编排工具。对大型的程序而言,其中包含的不只一个运行服务,将会有多个服务,通过一定的通信来提供整个的功能。在这种情况下,这些组件之间如何部署,如何交互,部署在什么地方合适,都通过编排工具完成的。对于底层物理硬件的调度、资源的合理分配等待调度编排是Kubernetes的核心功能。 OpenStack与Docker和Kubernetes都存在各自的优缺点。在刘世民看来,目前OpenStack与容器有几个对接方向,一是OpenStack容器化,解决可升级性问题;二是OpenStack编排容器,解决集群项目管理问题;三是OpenStack中的虚拟机与容器的整合,解决网络相关的问题。 "云极技术栈选型,不是OpenStack公司,我们的定位是打造一个以OpenStack为核心的IaaS层,这是我们的第一个目标,"刘世民称。在(IaaS)上面云极还将打造一个CaaS(容器即服务)层,同时基于CaaS层建立PaaS层来支持应用的运行;另外,在SaaS层,打造云极还将打造自己的的Marketplace,给用户提供有价值的云服务。云极星创的终极目标,是给用户提供一个SaaS 、PaaS 、IaaS 的全栈式的云服务平台。 结语 尽管,OpenStack正在不断走向成熟,但还是有一些需要改进的地方。未来,刘世民期望OpenStack社区能注重产品化的设计,便于用户、开发者的使用;更加开放,拥抱各种新技术,如容器、NFV、IOT和大数据等;并且社区能在混合云中付诸更多的行动,因为未来混合云很有可能一骑绝尘。 本文作者:蒋红冰 来源:51CTO

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

搭建智慧城市的神经中枢—综合布线

近两年,我们对于智慧城市的讨论从未停歇,然而,智慧城市是一项巨大的系统工程,每一个细节都很重要。作为信息传输的高速通道,综合布线的建设更是具有战略意义。 在未来,智慧城市将遍布各种芯片和传感器,而连接这些传感器,使它们有机结合的数据中心,则是城市的“大脑”。布线系统则可理解为智慧城市和神经系统。布线系统的可靠性、安全性、高速性将影响到城市的各个细胞。 综合布线系统是建设智慧城市的血脉 从综合布线的应用范围来说:综合布线从家庭和住宅建筑综合布线系统的管理,到建筑与建筑群综合布线系统的管理,再到社区和园区综合布线系统的管理,都可以把没有生命的东西变成了有生命的物体,进行相互传递信号。此外,一个城市布线水平越高,它能给用户提供的传输的带宽越高,那么这个城市整个管理水平也就会越高。因此,综合布线不仅是衡量国家经济实力的一个核心指标,也是在信息时代国家提高自身竞争力的一个根本所在和保障。” 综合布线是一种模块化的、灵活性极高的建筑物内或建筑群之间的信息传输通道,它可以使话音设备、数据设备、交换设备及各种控制设备与信息管理系统连接起来,并且也使这些设备与外部通信网络相连的综合布线。所以综合布线不仅仅是一根根线的连接问题,也涉及到了其他区域或者城市的建设。 以综合布线为基础,提高智慧城市的管理水平 综合布线以其兼容性、开放性、灵活性、可靠性、先进性和经济性的特点,在智能建筑、智慧城市建设中成为数据传输的基础,使城市中各领域、各子系统之间的关系更加清晰和紧密,如同为城市装上了网络“神经”。 综合布线在于其应用的核心技术——物联网技术。我们可以考虑利用各种传感技术,使物与物,人与物之间得到感知。另外可以随时的获取数据和信息,包含了各种量化的信息、坐标的信息、身份的信息、视频数据等。由于传感器技术正在朝着微型化、可移动方向发展,管理平台趋于网络化、智能化及多功能集成,因此对布线系统的管理主要是利用物联网的技术。 经过综合布线实现智能化以后,可以对智能建筑、智慧城市的整个建设期和运维期进行管理。通过这些方式人们还可以把布线管理和网络管理,与城市综合管线的管理进行集成,实现资源共享,远程监控。 发展智慧城市建设,数据中心布线有原则 我们要发展智慧城市,首先就应该加快推进网络基础建设,主要有三个方面,第一就是加快推进网络基础建设,加快推进光纤到户,下一代互联网,第四代移动网络通信,加快推进物联网的一个试点,以及提升网络业务支撑和承载能力,大力推进电信网、广电网和物联网的三网融合,积极探索三网与互联网和无线宽带网和多网融合。第二是加快整个数据中心的建设,加快引进移动通信数据中心,重点产品、资源数据中心、市民健康中心等一批面向重点数据中心项目。第三就是加快整个信息安全基础建设,完善网络应用的信息安全监督体系建设。当然好,构建数据中心,综合布线并没有那么简单,还需遵守一些原则。 智慧城市数据中心布线系统构建原则包括:开放式系统结构,满足先进的国际标准支持40G(万兆)或更高速率的信息传输需求;整个布线系统的绿色环保、安全可靠;智能化的布线管理模式,提高管理维护效率。 结构化布线系统给力智慧建设 为适应智慧城市数据中心布线绿色环保、高带宽、可靠性的要求,综合布线结构化建设可由以下及部分组成。 通信电缆及组件 综合布线用电缆应用于数据中心主干布线或水平布线系统中配线架到配线架、配线架到模块、配线架到传输设备的连接。综合布线用电缆组件采用模块-模块、模块-水晶头的预成端方式,预成端数量为6-12根/组,配置牵引护套,用于电缆安装时对连接器提供保护,长度可根据用户要求定制,最长可达到100m。防火等级通过成束火焰垂直蔓延试验要求,透光率≥50%、环保性能满足RoHS指令要求。 通信光缆及组件 综合布线用光缆适用于数据中心MPO预连接系统或光纤主干布线系统的连接,支持10GBASE-SX/LRM/LX4/LX/EX万兆光纤系统的应用,产品性能满足行业标准的要求;综合布线用光缆采用OM1、OM2、OM3多模光纤或全系列单模光纤,光纤芯数从单芯到48芯,采用进口芳纶加强原件,护套采用低烟无卤阻燃护套,防火等级通过成束火焰垂直蔓延试验要求,透光率≥50%。光缆具有光缆外径小、重量轻、弯曲性能好、施工方便的特点。 作者:何妍 来源:51CTO

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

0基础搭建Hadoop大数据处理-环境

由于Hadoop需要运行在Linux环境中,而且是分布式的,因此个人学习只能装虚拟机,本文都以VMware Workstation为准,安装CentOS7,具体的安装此处不作过多介绍,只作需要用到的知识介绍。 VMware的安装,装好一个虚拟机后利用复制虚拟机的方式创建后面几个虚拟机,省时省力,需要注意的是需要修改每个虚拟机的IP与主机名。 所有虚拟机采用NAT模式上网,而且要保证与物理主机的IP互相能访问。 需要注意的几个问题。nat如果上网首先需要查看物理机(pc机)这个服务器已经启动。上网的原理:流量是走的物理网卡,但是它的ip,却是和物理机没有关系的。也就是说,无论你怎么更换网络环境,你的虚拟机都不需要做改变。这就是它的优点。 首先在安装VMware之后,我们会看到多了两个网卡 这个如果经过网络配置的折磨,应该能找到着两个网卡:vmnet1和vmnet8,这里讲的是vmnet8。 重点看右侧第三图你会看到ip地址,这个ip地址,因个人而异,也就是说不同网络,不同环境,这个ip变化的概率是很大的。可能是192.168.0.1等等。这里也相当于我们编程的一个变量,这里是需要你根据你的环境来赋值的,建议vmnet1到vmnet8分别设置192.168.10.1到192.168.80.1,好作区分。 上面我们通过看到的虚拟机网卡的ip,为了避免混肴,上面的虚拟网卡和本地网络适配器处于同一界面。如下图 而下面则是在打开虚拟机之后,通过菜单弹出 弹出之后,我们在看一下虚拟机的(交换机)vmnet8. 可以看到vmnet8子网ip和虚拟机网卡是出于同一个网段的。 同时在右侧net设置界面,我们可以看到网关为:192.168.106.2,改成192.168.80.2虚拟机的设置会用到。 Linux基础知识 Linux的学习也是一个过程,因为可能你连最简单的开机和关机命令都不会,更不要谈配置网络。这里面给大家提供刚开始学习所查阅的资料和经验总结。首先我们需要使用一些命令,进行网络配置,但是在网络配置中,这里面又必须懂得虚拟机的一些知识,所以前面的虚拟机知识需要掌握扎实一些。 在此注意CentOS7与CentOS6的命令有些不同,会一些常用命令是必备,每次开机或启动解压安装授权都是最基本的知识,其它的可以暂时不用学。 具体常用命令可参考常备Linux命令 CentOS中安装java环境 下载对应32或64位jdk,设置好JDK环境变量PATH,具体的配置可自行Google。 环境准备 修改机器名,每个系统中都要修改成这样。 打开终端,切换到root用户下修改机器名称。 $ sudo su $ vim /etc/sysconfig/network 在其中添加“HOSTNAME=H32” 添加每个服务器IP对应的机器名 三个ip地址都添加到各自的/etc/hosts文件中 每个系统中都要修改成这样 #编辑hosts vim /etc/hosts 关闭SELinux #编辑 SELinux 配置文件 vim /etc/selinux/config #改状态 SELINUX=disabled SSH设置 进入H30,查看ssh是否安装,如果有,继续,没有安装下。 rpm -qa|grep ssh 关于ssh的安装参考 : 如何实现两台服务器间无密码的传输数据和操作 时间服务器安装 这里需要安装时间服务器,其他的服务器通过这个来进行多机器时间的同步,分布式部署时机器时间不一致会导致数据错误或组件内通讯错误。 安装httpd服务 httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。 安装yum-utils yum install yum-utils 用于在线yum安装 它是基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。(需要机器能访问外网) 准备资源和环境 下载Centos 7.2 的iso安装镜像,jdk1.8 for Linux压缩包,hadoop2.7.3压缩包(本来用hadoop3,发现后面不兼容hive的最新版本) Java基础知识 由于Hadoop框架源码都是以java来写,因此最好都以java作为开发的最佳语言,虽然说有些用C#做了封装,但性能已大打折扣。(这就是为什么说Java的学大数据有很大的优势,其它语言的还需要重新学习Java) Eclipse IDE使用 Linux和Windows下源码编译技术 还有最重要的是你的网速要好,因为安装过程中会下载依赖包,网不好会卡到你怀疑人生。 最后还需要有耐心,每台机子的环境都不一样,而且每个人下载的包的版本也有可能不一样 会导致各种问题,此时就需要耐心的去看日志,不停的尝试和仔细的对比安装步骤,可能就是少了个变量 或大小写错误或是要重启。 环境准备就这么多,下一章开始讲如何安装Hadoop集群。

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

搭建手机APP远程监控物联网云平台

目前常见的水质在线监测仪器生产商有:美国哈希HACH 德国E+H 以色列Blue I 德国科泽kuntze 加拿大AVVOR、德国阿尔道斯ALLDOS、上海博取、河北科瑞达等。采集的水质参数包括温度、PH、电导率、浊度、余氯等。 数据统计:可在线实时24小时连续的采集和记录监测点位的各种水质状况,以数字、图形和图像等多种方式进行实时显示和记录存储监测信息,监测点位可多达上百个点。 故障报警:当出现被监控点位数据异常时可自动发出报警信号,报警方式包括:现场多媒体声光报警、网络客户端报警、手机短信息报警等。 Web监控:管理人员打开电脑,登陆平台即可看到所属的设备运行状况,整个过程无需安装软件。一切就像网上冲浪那样方便。 APP监控:将设备放到口袋里,无论身处何地,打开手机即可查看和控制水质监测设备。 设备发布:环保局或者小区物业门可以通过EMCP平台将水质监测设备进行发布,生成二维码张贴在公共区域、官方网站或者宣传海报上,民众可通过手机扫描得知水质实时情况。 冗余设计:系统设计时预留有接口,可随时增加硬件设备,系统只要做少量的改动即可,可以在很短的时间内完成。

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

云计算之openstack-newton版搭建(六)

nova计算节点服务安装 安装配置计算节点 安装软件包 #yuminstallopenstack-nova-compute-y 2.编辑/etc/nova/nova.conf [root@compute1~]#cd/etc/nova/ [root@compute1nova]#cpnova.confnova.conf.bak [root@compute1nova]#egrep-v"^#|^$"nova.conf.bak>nova.conf [root@compute1nova]#vimnova.conf 添加如下内容 [DEFAULT] ... enabled_apis=osapi_compute,metadata transport_url=rabbit://openstack:RABBIT_PASS@controller auth_strategy=keystone my_ip=192.168.23.61 use_neutron=True firewall_driver=nova.virt.firewall.NoopFirewallDriver [keystone_authtoken] ... auth_uri=http://controller:5000 auth_url=http://controller:35357 memcached_servers=controller:11211 auth_type=password project_domain_name=Default user_domain_name=Default project_name=service username=nova password=123456 [vnc] ... enabled=True vncserver_listen=0.0.0.0 vncserver_proxyclient_address=$my_ip novncproxy_base_url=http://controller:6080/vnc_auto.html [glance] ... api_servers=http://controller:9292 [oslo_concurrency] ... lock_path=/var/lib/nova/tmp 3.确定计算节点是否支持虚拟化。 #egrep-c'(vmx|svm)'/proc/cpuinfo 如果返回值大于1表示支持虚拟化 如果不支持请更改/etc/nova/nova.conf [libvirt] ... virt_type=qemu 4.启动服务 #systemctlenablelibvirtd.serviceopenstack-nova-compute.service #systemctlstartlibvirtd.serviceopenstack-nova-compute.service 如果nova-compute服务无法启动,请检查/var/log/nova/nova-compute.log。控制器上的错误消息AMQP服务器:5672无法访问可能表示控制器节点上的防火墙阻止访问端口5672,关闭防火墙和selinux即可。 5.在控制端进行检查 #.admin-openrc #openstackcomputeservicelist [root@controller~]#openstackcomputeservicelist +----+------------------+----------------------+----------+---------+-------+----------------------------+ |ID|Binary|Host|Zone|Status|State|UpdatedAt| +----+------------------+----------------------+----------+---------+-------+----------------------------+ |1|nova-conductor|controller.novalocal|internal|enabled|up|2017-01-13T01:48:04.000000| |2|nova-consoleauth|controller.novalocal|internal|enabled|up|2017-01-13T01:48:07.000000| |3|nova-scheduler|controller.novalocal|internal|enabled|up|2017-01-13T01:48:04.000000| |10|nova-compute|compute1.novalocal|nova|enabled|up|2017-01-13T01:48:09.000000| +----+------------------+----------------------+----------+---------+-------+----------------------------+ [root@controller~]#novaservice-list +----+------------------+----------------------+----------+---------+-------+----------------------------+-----------------+ |Id|Binary|Host|Zone|Status|State|Updated_at|DisabledReason| +----+------------------+----------------------+----------+---------+-------+----------------------------+-----------------+ |1|nova-conductor|controller.novalocal|internal|enabled|up|2017-01-13T01:48:24.000000|-| |2|nova-consoleauth|controller.novalocal|internal|enabled|up|2017-01-13T01:48:17.000000|-| |3|nova-scheduler|controller.novalocal|internal|enabled|up|2017-01-13T01:48:24.000000|-| |10|nova-compute|compute1.novalocal|nova|enabled|up|2017-01-13T01:48:19.000000|-| +----+------------------+----------------------+----------+---------+-------+----------------------------+-----------------+ 表示nova服务安装完成

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

React Native商城项目实战02 - 搭建主框架

1.安装插件,cd到项目根目录下执行: npm i react-native-tab-navigator --save 1 1 1.1阅读README.md可以了解该模块基本用法 2.主框架文件Main.js /** * Sample React Native App * https://github.com/facebook/react-native * @flow */ import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View, Image, Platform //判断当前运行的系统 } from 'react-native'; /*=============导入外部组件类==============*/ import TabNavigator from 'react-native-tab-navigator'; var Home = require('../Home/Home'); var Shop = require('../Shop/Shop'); var Mine = require('../Mine/Mine'); var More = require('../More/More'); // ES5 var Main = React.createClass({ // 初始化函数(变量是可以改变的,充当状态机的角色) getInitialState(){ return{ selectedTab:'home' // 默认选中的tabBar } }, render() { return ( <TabNavigator> {/*--首页--*/} <TabNavigator.Item title="首页" renderIcon={() => <Image source={{uri:'icon_tabbar_homepage'}} style={styles.iconStyle} />} renderSelectedIcon={() => <Image source={{uri:'icon_tabbar_homepage_selected'}} style={styles.selectedIconStyle} />} badgeText="1" selected={this.state.selectedTab === 'home'} onPress={() => this.setState({ selectedTab: 'home' })} > <Home /> </TabNavigator.Item> {/*--商家--*/} <TabNavigator.Item title="商家" renderIcon={() => <Image source={{uri:'icon_tabbar_merchant_normal'}} style={styles.iconStyle} />} renderSelectedIcon={() => <Image source={{uri:'icon_tabbar_merchant_selected'}} style={styles.selectedIconStyle} />} badgeText="1" selected={this.state.selectedTab === 'shop'} onPress={() => this.setState({ selectedTab: 'shop' })} > <Shop /> </TabNavigator.Item> {/*--我的--*/} <TabNavigator.Item title="我的" renderIcon={() => <Image source={{uri:'icon_tabbar_mine'}} style={styles.iconStyle} />} renderSelectedIcon={() => <Image source={{uri:'icon_tabbar_mine_selected'}} style={styles.selectedIconStyle} />} badgeText="1" selected={this.state.selectedTab === 'mine'} onPress={() => this.setState({ selectedTab: 'mine' })} > <Mine /> </TabNavigator.Item> {/*--更多--*/} <TabNavigator.Item title="更多" renderIcon={() => <Image source={{uri:'icon_tabbar_misc'}} style={styles.iconStyle} />} renderSelectedIcon={() => <Image source={{uri:'icon_tabbar_misc_selected'}} style={styles.selectedIconStyle} />} badgeText="1" onPress={() => this.setState({ selectedTab: 'more' })} selected={this.state.selectedTab === 'more'} > <More /> </TabNavigator.Item> </TabNavigator> ); } }); const styles = StyleSheet.create({ iconStyle:{ width: Platform.OS === 'ios' ? 30 : 25, height:Platform.OS === 'ios' ? 30 : 25, }, selectedIconStyle:{ width:Platform.OS === 'ios' ? 30 : 25, height:Platform.OS === 'ios' ? 30 : 25, }, }); // 输出 module.exports = Main; 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 93 94 95 96 97 98 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 93 94 95 96 97 98 3.预览效果 安装效果

资源下载

更多资源
Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

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

用户登录
用户注册