首页 文章 精选 留言 我的

精选列表

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

精打细算使用MaxCompute搭建数仓

MaxCompute是一套阿里自主研发的数据仓库解决方案。产品除了功能、性能、简单等优势外,还能在费用上节省下一大笔前。墨迹天气使用MaxCompute,除了性能和稳定性也有提升外,整体存储和计算的费用比之前节省70%。这是如何做到的呢,这里有一些常用的规则。 在讨论如何做到之前,我们先看下MaxCompute是如何计费的。根据目前的文档,目前的计费方式包含数据的存储、数据的下载以及计算费用。其中计算费用又分I/O后付费和预付费两种收费模式。I/O后付费根据实际的计算来进行收费;而预付费相当于包了几个CU只有购买者可以使用,这几个CU上随便怎么计算都不会产生计算费用。所以如何减少费用,也就是转换成如何减少存储的费用、如何减少下载的费用以及如何减少计算的费用。 存储 数据存储在MaxCompute上是使用列式存储并有压缩的,底层数据存储方

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

Hadoop 2.x 集群环境搭建

======================================================基础环境设置,以CentOS7为例: 1.配置/etc/sysconfig/network-scripts/ifcfg-ens33 绑定ip2.配置主机名ip解析,编辑 /etc/hosts3.修改主机名,编辑/etc/sysconfig/network ,添加一行 HOSTNAME=hostname 4.关闭iptables,selinux,firewalld5.安装jdk,配置$JAVA_HOME6.解压hadoop2.x 至/opt/app下,配置$HADOOP_HOME7.所有主机之间设置ssh免验证登陆,包括本机自己ssh也要配置 (3台机器都有同一个用户,beifeng) ========================================================hadoop 2.x 分布式部署方案 HOSTNAME IPADDR HDFS YARN MAPREDUCE hadoop-master 192.168.1.129 NameNode,DataNode NodeManager Job_History_serverhadoop-slave1 192.168.1.130 DataNode ResourceManager,NodeManagerhadoop-slave2 192.168.1.131 SecondaryNameNode,DataNode NodeManager ==========================================================hadoop 2.x 各守护进程相关配置文件 hdfs: hadoop-env.sh --> 配置$JAVA_HOME core-site.xml --> 配置NameNode节点(fs.defaultFS) 配置Hadoop的临时目录(tmp.dir) hdfs-site.xml --> 配置SecondaryNameNode(dfs.namenode.secondary.http-address) slaves --> 配置DataNode节点的ip/hostname yarn: yarn-env.sh --> 配置$JAVA_HOME yarn-site.xml --> 配置ResourceManager节点 配置日志聚集(yarn.log-aggregetion-enable) 配置MapReduce的shuffle(yarn.nodemanager.aux-services----mapreduce_shuffle ) slaves --> 配置NodeManager节点的ip/hostname mapreduce: mapred-site.xml --> 配置job history 配置在yarn上运行mapreduce ===============================================================在hadoop-master节点配置hdfs、yarn及mapreduce 1.配置hdfs(一般配置好javahome不用再配置hadoop-env.sh)a.$HADOOP_HOME/etc/hadoop/core-site.xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop-master:8020</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/data/tmp</value> </property> </configuration> b.$HADOOP_HOME/etc/hadoop/hdfs-site.xml 不需要配置分片 dfs.namenode.secondary.http-addresshttp://hadoop-slave2:50090 c.$HADOOP_HOME/etc/hadoop/slaves 同时配置了NodeManager的节点地址 hadoop-master hadoop-slave1 hadoop-slave2 2.配置yarn a.yarn-site.xml <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop-slave1</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>640800</value> </property> 3.配置MapReduce a.mapred-site.xml <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>hadoop-master:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>hadoop-master:19888</value> </property> ====================================================================== 拷贝hadoop到hadoop-slave1,slave2 scp -r $HADOOP_HOME hadoop-slave1:/opt/app scp -r $HADOOP_HOME hadoop-slave2:/opt/app ========================================================================启动hadoop 集群 1.在hadoop-master上首次初始格式化namenode节点 hdfs namenode -format 2.启动hdfs集群 start-dfs.sh 3.启动yarn集群 start-yarn.sh 4.启动job-history server mr-jobhistory-daemon.sh start historyserver 5.各节点查看运行状态 jps =================================================================== END

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

轻松几步搭建你的私有云

私有云增加了IT的灵活性,帮助前端用户实现自助式服务。许多企业通往私有云的过程是从虚拟化起步的。从这种角度看,私有云主要是额外增加了一层灵活性,让用户可以自行部署所需的IT资源。假如你正计划部署私有云,请确保IT部门具备适合的技能储备。以下罗列出私有云环境所必须具备的各项组件,并概述了其使用方式。 服务器虚拟化 绝大多数私有云都基于虚拟机(VM)的部署,因此你需要借助一个平台来实现这点。许多公司使用VMware ESXi或vSphere作为虚拟化平台。VMware提供稳定而强大的平台,不过假如你打算部署私有云,或许要为某些不用的功能买单。 虚拟化平台常见的替代方案是基于虚拟机内核的KVM和Xen,两者均起源于Linux操作系统。当前所有的Linux发行版都包含KVM在内,某些还提供Xen。选择这些虚拟机管理程序中的任意一款都可以让你免费构建起服务器虚拟化,作为私有云的基础。 网络虚拟化 私有云并不简单等同于虚拟化加上易用的虚拟机部署平台。它还在包含网络在内的各层面实现了灵活性。当你需要以正确方式经由物理设备传送数据包时,网络本身便具有挑战性。但软件定义网络(SDN)会有所帮助。 网络拓扑在SDN中经由软件定义,传统依靠物理网络设备上实现的控制面板实际运行在服务器上。通过在软件中定义整个网络拓扑结构,使得不同逻辑网络的添加更为容易。最终,私有云管理员需要确保SDN拓扑与物理网络相匹配。这里要用到特定的软件产品,例如VMware NSX或Open vSwitch,这些来自开源领域的SDN产品。软件定义的网络是任何私有云所不可或缺的重要组成。 存储虚拟化 存储是另一项需要高度可扩展性的层级。在传统SAN产品中,存储扩容意味着添加更多块磁盘、更多的磁盘机柜、占据更多机架空间,并向SAN供应商支付更高的许可证成本。在私有云环境中情况完全不同,需要做到简单点击鼠标,便可以添加更多磁盘空间。 好消息是我们现在能借助对象存储。物理存储在对象存储中只是一个底层,而对象存储定义了云资源使用者或管理员所看到的最上层。在此之中,没有昂贵的封闭技术,甚至有时无法兼容的SAN产品。最常见的通用性硬件便已足够,而且在添加更多的存储硬件之后,私有云管理员只需要在软件中监控各项操作,便能顺利使用额外的存储。对象存储还能带来额外的好处。例如它能更方便地将数据存储在合理的位置,并实现高度的冗余。 市场上有多款用于对象存储的产品。例如VMware提供VSAN,而Swift和Ceph则是开源领域的两款选项,这两者可以部署在任何Linux平台上,这表示你不需要支付任何许可证费用,便可轻松使用。 云端管理 单纯汇总集成上述组件并不能构成私有云,你还需要有云端的管理产品。今天主流的软件供应商都有其云端方案,但是并不是所有产品都可以让你运行在内部的私有云上。例如,Microsoft Azure仅可用作公有云。而OpenStack、Oracle Cloud和VMware Integrated OpenStack等则允许你在个人站点上运行私有云上的产品。 假如现有的IT需要基于某类特定的产品,请和其供应商联系,以确保他们是否有包含上述组件的云端管理方案。如果没有的话,OpenStack或许会是不错的选择,这允许在任何Linux发行版之上免费构建公有云或私有云。 员工技能 在选择产品之后,最重要的因素便是:员工所具备的技能要求。私有云需要有专业的IT人员。此外,你在公司内部还需要有关存储和网络,以及云平台本身的专业知识。 建立高效的私有云需要各方专家共同合作,整合各自的专业领域,很难一蹴而就。 本文转自d1net(转载)

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

Android Robotium搭建环境测试微信

因为要在命令行下运行一些 android的工具,所以配置一些环境变量会比较方便: 遇到问题: java-jar re-sign.jar 出现提示android路径没有配置好: 需要配置如下: 配置ANDROID_HOME为android sdk的安卓目录,例如:D:\android-sdk 在path下添加这两个: %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools; 重新开关一次命令窗口 在真机中安装APK(以 腾讯微信作为 测试的apk) 因为 robotium要求被测应用和测试代码要有一致的key,所以我们需要把下载到的apk,通过re-sign.jar来产生debug key的apk,这个重新生成的apk就会跟测试项目签名一致了 re-sign.jar可以从这里下载到: http://www.troido.de/re-sign.jar 下载完后,在命令行下 通过 java -jar re-sign.jar就会出现一个节目,然后将apk拖到这个节目,就会自动生成一个debug key的apk 产生新apk的过程中会弹出一个信息框,记得截下图,因为里面有两个信息我们等会的代码中需要用到 然后打开模拟器(模拟器器一定要打开才能安装成功),然后打开命令行 adb install mitalk_debug.apk(新生成apk的名称) 安装成功就可以再模拟器里看到该应用的图标了 注意: 一、删除之前 APK 文件的签名 1、解压apk 文件 2、删除解压出来文件夹中的 META-INF 目录:META-INF 存放签名后的CERT 和MANIFEST 文件,用于识别软件的 签名及版权。 3、删除文件夹后重新把解压出来的其它文件夹压缩为zip 文件,然后直接把文件后缀改为apk 二、为 APK 重新生成签名 1、将证书复制到与需要重新签名的apk 文件相同的目录下 2、jarsigner -keystore debug.keystore -storepass android -keypass android D:\Robotium\robotium\robotium\weixin_delet_rsa_sf.apk androiddebugkey 创建 自动化测试项目 打开Eclipse,点击File->New一个Android TestProject,然后点击下一步的时候选择This project(因为我们没有米聊应用的源码),然后选择要在哪个android版本上测试 在该项目下创建一个包,com.tencent.test,在该包下创建LoginTest类,如下 package com.mitalk.test; import android.app.Activity; import android.test.ActivityInstrumentationTestCase2; import com.jayway.android.robotium.solo.Solo; @SuppressWarnings("rawtypes") public class LoginTest extends ActivityInstrumentationTestCase2 { public Solo solo; public Activity activity; private static Class<?> launchActivityClass; // 对应re-sign.jar生成出来的信息框里的两个值 private static String mainActiviy = "com.tencent.mm.ui.LauncherUI"; private static String packageName = "com.tencent.mm"; static { try { launchActivityClass = Class.forName(mainActiviy); } catch (ClassNotFoundException e) { throw new RuntimeException(e); } } @SuppressWarnings("unchecked") public LoginTest() { super(packageName, launchActivityClass); } @Override protected void setUp() throws Exception { super.setUp(); this.activity = this.getActivity(); // this.solo = new Solo(getInstrumentation(), getActivity()); } public void testLoginWithIncorrentUsernameAndPassword() throws Exception { wait(5000); //待完成 } @Override public void tearDown() throws Exception { try { this.solo.finishOpenedActivities(); } catch (Throwable e) { e.printStackTrace(); } this.activity.finish(); super.tearDown(); } } 最新内容请见作者的GitHub页:http://qaseven.github.io/

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

windows下搭建elastcsearch+kibana+logstash

elasticsearch安装 参考链接:http://www.jianshu.com/p/058a4a26dce7 kibana安装 下载链接:https://www.elastic.co/downloads/past-releases 版本:kibana-4.3.0-windows 解压后目录结构 修改配置(conf/kibana.yml): server.port: 5601 server.host: "0.0.0.0" elasticsearch.url: "http://localhost:9200" elasticsearch.preserveHost: true kibana.index: ".kibana" 启动命令: cd到kibana文件夹下bin目录,执行命令kibana.bat 安装windows的服务启动项: 下载nssm:https://nssm.cc/release/nssm-2.24.zip cmd 运行 nssm install logstash,安装服务的Path选择到kibana.bat,依赖项可以设置logstash,elasticsearch-service-x64,依赖项为空不影响正常启动。 启动界面: logstash安装 下载链接:https://www.elastic.co/downloads/past-releases 版本:logstash-2.4.1 解压后目录结构 配置logstash cd 到logstash文件夹的下bin目录 创建配置文件 logstash.conf ,内容如下 input { tcp { port => 5544 } } output { elasticsearch { hosts => ["localhost:9200"] } } 启动命令: logstash.bat agent -f logstash.conf 安装windows服务启动项 cd到logstash文件夹下bin目录 创建一个run.bat,内容为:logstash.bat agent -f logstash.conf 下载nssm:https://nssm.cc/release/nssm-2.24.zip 解压拷贝nssm-2.24\win64目录下nssm.exe到logstash bin目录 cmd 运行 nssm install logstash 在弹出的界面设置 Path为run.bat,Details选项卡设置显示名,Dependencies选项卡设置依赖服务elasticsearch-service-x64 最后点击install service 安装成功 联合验证 telnet 127.0.0.1 5544 连接到logstash,输入任何东西,最后查看kibana看是否有数据。 参考链接 http://www.cnblogs.com/yuzukwok/p/5013345.html

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

微信视频直播方案的搭建

实现在微信中嵌入直播视频,可以分享到好友或朋友圈。 工具/原料 NTV Media Server G3软件 Adobe Flash Encoder OBS直播软件 方法/步骤 1 可以使用百度、阿里或腾讯云主机,基本配置: CPU:2核心 内存:4GB 存储:50GB 带宽:10Mbps 2 或者准备一台硬件设备用于安装流媒体服务器软件,基本配置要求: CPU:Intel 至强系列,或者Intel i3以上性能的CPU 内存:16GB 存储:500GB 网卡:千兆网卡 3 安装操作系统,推荐安装CentOS7 64位版本。 4 下载安装NTV Media Server G3试用版本,按照说明书的指导完成安装。 启动流媒体服务器,命令: service ntv_server start 5 在一台Win7、Win8或Win10机器上,安装Adobe Flash Media Encoder或者OBS推流软件。 将推流地址设置到上述准备好的云主机或者物理机上,例如: rtmp://192.168.1.200/liveshow/live1 选择合适的本地摄像头视频源,然后启动推流。 6 在NTV Media Server上查看活动的流。点击HLS按钮,显示视频播放页面。 如下图: 将播放页面的地址,发给微信好友即可。效果如下图。

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

搭建Docker私有仓库--自签名方式

为了能集中管理我们创建好的镜像,方便部署服务,我们会创建私有的Docker仓库。通读了一遍官方文档,Docker为了确保安全使用TLS,需要CA认证,认证时间长的要钱啊,免费过期时间太短,还是用自签名比较简单。 准备环境 环境:两台Centos 7 虚拟机 》服务器IP:10.57.220.244 ,作为Docker仓库使用 》客户端IP:10.57.220.220 ,作为客户端来上传或拉取镜像 》域名:lpxxn.com 两台机器上均已安装好Docker 版本为 17.03.0-ce 如果你和我一样没有用真域名,只需要在客户机上修改一下hosts文件 生成自签名证书 在服务器主机上生成自签名证书,创建一个文件夹用于存放证书 mkdir -p certs 生成证书 openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/lpxxn.com.key -x509 -days 365 -out certs/lpxxn.com.crt 需要注意的是在填写的时候Common Name和你的域名是一至的。 ll certs文件夹就可以看到生成好的两个文件 运行仓库镜像,如果本地没有相应的镜像会从Docker服务器上下载,然后才启动,可以用docker ps命令查看是否已经有窗口在运行。 docker run -d -p 5000:5000 --restart=always --name registry_https -v `pwd`/certs:/home/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/home/certs/lpxxn.com.crt -e REGISTRY_HTTP_TLS_KEY=/home/certs/lpxxn.com.key registry:2 你也可以指定本机的目录保存上传好的docker镜像 docker run -d -p 5000:5000 -v `pwd`/dockerregister:/var/lib/registry --restart=always --name registry_https -v `pwd`/certs:/home/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/home/certs/lpxxn.com.crt -e REGISTRY_HTTP_TLS_KEY=/home/certs/lpxxn.com.key registry:2 到这里服务器就启动好了,最后一步是把生成好的lpxxn.com.crt复制到客户端,你可以用自己的方式复制, 我用的scp先复制到/home/test目录下,再复制到/etc/pki/ca-trust/source/anchors目录下 scp -r lpxxn.com.crt li@10.57.220.220:/home/test 配置客户端 把服务器端生成的的lpxxn.com.crt复制到客户端服务器的 /etc/pki/ca-trust/source/anchors目录下,ll查看 一下 更新证书,然后重新启动docker 。 update-ca-trust service docker stop && service docker start ok.使用curl查看一下仓库 curl https://lpxxn.com:5000/v2/_catalog 可以正常访问了。再使用docker命令上传下载试试 使用docker tag 标记本地的镜像centos:6为lpxxn.com:5000/centos6:1.0 push到仓库 执行push 命令 docker push lpxxn.com:5000/centos6:1.0 查看仓库信息 使用curl 查看仓库有哪些镜像和版本 curl https://lpxxn.com:5000/v2/_catalog curl https://lpxxn.com:5000/v2/centos6/tags/list 从仓库拉取镜像 先把本地的镜像删除 docker rmi lpxxn.com:5000/centos6:1.0 docker rmi centos:6 拉取然后run docker pull lpxxn.com:5000/centos6:1.0

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

搭建腾讯云,用xshell建立连接

学生的话可以在腾讯云上认证学生,学生用的腾讯云服务器。 我通过免费试用获得腾讯云5天使用期 申请成功会通过邮件把云服务器的必要信息发给你 进入腾讯云,登录到腾讯云主机 通过邮件所给的账户和密码登录,最好先重置下它给的密码 这样就登录成功了 在输入密码的时候它不会显示 你输入完了直接回车就好 下面用xshell5连接到云服务器 云服务器的IP地址你可以通过ifconfig查询到(也就是邮件中你内网的地址) 打开xshell5,新建一个会话 名称是你连云服务器的名称(可以随便写吧) 主机就是你云服务器的外网IP地址,端口记得默认22 然后点击用户身份验证 用户名和密码写你登录云服务器的帐号密码吧 然后在会话中点击连接 连接成功后: 到此xshell与腾讯云服务器的连接到此结束 之前我犯的错误是一直连内网的IP 怪不得一直连不上

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle

Oracle

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

JDK

JDK

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text

Sublime Text

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