精华内容
参与话题
问答
  • 关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名数据传送给签名对象(须在初始化之后),用公钥...
  • 而Binary Release是可选项,Dubbo可以选择是否发布进制包到Apache仓库或者发布到Maven中央仓库。 请参考以下链接,找到更多关于ASF发布指南: Apache Release Guide Apache Release Policy Maven R...

    理解Apache发布的内容和流程

    总的来说,Source Release是Apache关注的重点,也是发布的必须内容;而Binary Release是可选项,Dubbo可以选择是否发布二进制包到Apache仓库或者发布到Maven中央仓库。

    请参考以下链接,找到更多关于ASF的发布指南:

    本地构建环境准备

    主要包括签名工具、Maven仓库认证相关准备

    1. 安装GPG,参见 https://www.gnupg.org/download/index.html

      • 如Mac OS

        $ brew install gpg
        $ gpg --version #检查版本,应该为2.x
    2. 用gpg生成key

      • 根据提示,生成key
      $ gpg2 --full-gen-key
      gpg (GnuPG) 2.0.12; Copyright (C) 2009 Free Software Foundation, Inc.
      This is free software: you are free to change and redistribute it.
      There is NO WARRANTY, to the extent permitted by law.
      
      Please select what kind of key you want:
         (1) RSA and RSA (default)
         (2) DSA and Elgamal
         (3) DSA (sign only)
         (4) RSA (sign only)
      Your selection? 1
      RSA keys may be between 1024 and 4096 bits long.
      What keysize do you want? (2048) 4096
      Requested keysize is 4096 bits
      Please specify how long the key should be valid.
               0 = key does not expire
            <n>  = key expires in n days
            <n>w = key expires in n weeks
            <n>m = key expires in n months
            <n>y = key expires in n years
      Key is valid for? (0) 
      Key does not expire at all
      Is this correct? (y/N) y
      
      GnuPG needs to construct a user ID to identify your key.
      
      Real name: Robert Burrell Donkin
      Email address: rdonkin@apache.org
      Comment: CODE SIGNING KEY
      You selected this USER-ID:
          "Robert Burrell Donkin (CODE SIGNING KEY) <rdonkin@apache.org>"
      
      Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
      You need a Passphrase to protect your secret key. # 填入密码,以后打包过程中会经常用到
      • 查看key id

        $ gpg --list-keys
        pub   rsa4096/28681CB1 2018-04-26 # 28681CB1就是key id
        uid       [ultimate] liujun (apache-dubbo) <liujun@apache.org>
        sub   rsa4096/D3D6984B 2018-04-26
        
        # 通过key id发送public key到keyserver
        $ gpg --keyserver pgpkeys.mit.edu --send-key 28681CB1
        # 其中,pgpkeys.mit.edu为随意挑选的keyserver,keyserver列表为:https://sks-keyservers.net/status/,因为相互之间是自动同步的,选任意一个都可以。
      • 如果有多个public key,设置默认key

        ~/.gnupg/gpg.conf

        # If you have more than 1 secret key in your keyring, you may want to
        # uncomment the following option and set your preferred keyid.
        
        default-key 28681CB1
    3. 设置Apache中央仓库

      • Dubbo项目的父pom为apache pom

        <parent>
          <groupId>org.apache</groupId>
          <artifactId>apache</artifactId>
          <version>19</version>
        </parent>
      • 添加以下内容到.m2/settings.xml

        
        所有密码请使用[maven-encryption-plugin](http://maven.apache.org/guides/mini/guide-encryption.html)加密后再填入
        
      <settings>
      ...
        <servers>
          <!-- To publish a snapshot of some part of Maven -->
          <server>
            <id>apache.snapshots.https</id>
            <username> <!-- YOUR APACHE LDAP USERNAME --> </username>
            <password> <!-- YOUR APACHE LDAP PASSWORD (encrypted) --> </password>
          </server>
          <!-- To stage a release of some part of Maven -->
          <server>
            <id>apache.releases.https</id>
            <username> <!-- YOUR APACHE LDAP USERNAME --> </username>
            <password> <!-- YOUR APACHE LDAP PASSWORD (encrypted) --> </password>
          </server>
         ...
            <!-- gpg passphrase used when generate key -->
           <server>
            <id>gpg.passphrase</id>
            <passphrase><!-- yourKeyPassword --></passphrase>
          </server>
        </servers>
      </settings>

    打包&上传

    1. 从主干分支拉取新分支作为发布分支,如现在要发布2.6.4版本,则从2.6.x拉出新分支2.6.4-release,此后2.6.4 Release Candidates涉及的修改及打标签等都在2.6.4-release分支进行,最终发布完成后合入主干分支。
    2. 首先,在2.6.4-release分支验证maven组件打包、source源码打包、签名等是否都正常工作

      $ mvn clean install -Papache-release
      $ mvn deploy
      # 将snapshot包推送到maven中央仓库,处于staging状态
    3. 用maven-release-plugin发布

      • 先用dryRun验证是否ok

        $ mvn release:prepare -Papache-release -Darguments="-DskipTests" -DautoVersionSubmodules=true -Dusername=YOUR GITHUB ID -DdryRun=true
      • 验证通过后,执行release:prepare
      $ mvn release:clean
      $ mvn release:prepare -Papache-release -Darguments="-DskipTests" -DautoVersionSubmodules=true -Dusername=YOUR GITHUB ID
      # 执行完成后:1.生成source.zip包; 2.打出tag,并推送到github仓库; 3.分支版本自动升级为2.6.4-SNAPSHOT,并将修改推送到github仓库
      • 执行release:perform,做正式发布

        $ mvn -Prelease release:perform -Darguments="-DskipTests" -DautoVersionSubmodules=true -Dusername=YOUR GITHUB ID
        # 所有artifacts发布到配置的远程maven中央仓库,处于staging状态

    准备Apache发布

    1. 准备svn本机环境(Apache使用svn托管项目的发布内容)
    2. 将dubbo checkout到本地目录

      $ svn checkout https://dist.apache.org/repos/dist/dev/incubator/dubbo
      # 假定本地目录为 ~/apache/incubator/dubbo
    3. 当前发布版本为2.6.4,新建目录

      $ cd ~/apache/incubator/dubbo # dubbo svn根目录
      $ mkdir 2.6.4
    4. 添加public key到KEYS文件。KEYS主要是让参与投票的人在本地导入,用来校验sign的正确性
    5. 拷贝Dubbo根目录下的source.zip包到svn本地仓库dubbo/2.6.4
    6. 生成sha512签名

      $ shasum -a 512 dubbo-incubating-2.6.4-source-release.zip >> dubbo-incubating-2.6.4-source-release.zip.sha512
    7. 如果有binary release要同时发布

      # 到dubbo项目distribution的module下,执行:
      $ mvn install
      # target目录下,拷贝bin-release.zip以及bin-release.zip.asc到svn本地仓库dubbo/2.6.4
      # 参考第6步,生成sha512签名
    8. 提交到Apache svn

      $ svn status
      $ svn commit -m 'prepare for 2.6.4 RC1'

    验证Release Candidates

    证环节包含但不限于以下内容和形式:

    1. Check signatures and hashes are good
    sha512 dubbo-incubating-${release_version}-bin-release.zip.sha512
    sha512 dubbo-incubating-${release_version}-source-release.zip.sha512
    1. unzip dubbo-incubating-&dollar;{release_version}-source-release.zip to the default directory and check the following:
    • Directory with incubator in name
           dubbo-incubating-${release_version}-bin-release
    • DISCLAIMER file exists
    • LICENSE and NOTICE file exists and contents are good
    • All files and no binary files exist
    • All files has standard ASF License header
    • Can compile from source
    • All unit tests can pass

      mvn clean test # This will run all unit tests
      # you can also open rat and style plugin to check if every file meets requirements.
      mvn clean install -Drat.skip=false -Dcheckstyle.skip=false
    • Release candidates match with corresponding tags, you can find tag link and hash in vote email.

    进入投票

    投票分两个阶段:

    1. Dubbo社区投票,发起投票邮件到dev@dubbo.apache.org。在社区开发者Review,并统计到3个同意发版的binding票后,即可进入下一阶段的投票。
    2. Apache社区投票,发起投票邮件到general@apache.org。在Apache PMC Review,并统计到3个统一发版的binding票后,即可进行正式发布。

    邮件模板:

    Hello Dubbo Community,
    
    This is a call for vote to release Apache Dubbo (Incubating) version 2.6.4.
    
    The release candidates:
    https://dist.apache.org/repos/dist/dev/incubator/dubbo/2.6.4/
    
    Git tag for the release:
    https://github.com/apache/incubator-dubbo/tree/dubbo-2.6.4
    
    Hash for the release tag:
    afab04c53edab38d52275d2a198ea1aff7a4f41e
    
    Release Notes:
    https://github.com/apache/incubator-dubbo/releases/tag/untagged-4775c0a22c60fca55118
    
    The artifacts have been signed with Key : 28681CB1, which can be found in the keys file:
    https://dist.apache.org/repos/dist/dev/incubator/dubbo/KEYS
    
    The vote will be open for at least 72 hours or until necessary number of votes are reached.
    
    Please vote accordingly:
    
    [ ] +1 approve 
    [ ] +0 no opinion 
    [ ] -1 disapprove with the reason
    
    Thanks,
    The Apache Dubbo (Incubating) Team

    正式发布

    1. 提交https://dist.apache.org/repos/dist/dev/incubator/dubbo目录下的发布包到https://dist.apache.org/repos/dist/release/incubator/dubbo/,完成正式发布。
    2. 发邮件到dev@dubbo.apache.org和general@apache.org,通知社区发布完成。

    完成Maven Convenient Binary发布(可选)

    apache.repository.org nexus仓库的权限已经申请,参见jira

    之前发布到maven仓库的atifacts都处于staging状态,用Apache id登录apache.repository.org,完成发布。


    原文链接
    本文为云栖社区原创内容,未经允许不得转载。

    展开全文
  • Linux 操作系统基础教程 清华大学信息学院计算机系 目 录 前言....................................................................................数据量,而一个完整发行版本大概都是 1Gbit 左右数据量...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名数据传送给签名对象(须在初始化之后),用公钥...
  • 、旧的版本 创建的HBaseAdmin里面传入的是configuration。 import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import o

    一、hbase的java API

    在重写以前的代码的时候,换了新版本的hbase,导致出现了很多问题,在此记录一下,新旧版本创建HBaseAdmin的方式

    二、旧的版本

    创建的HBaseAdmin里面传入的是configuration。

    import java.io.IOException;
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.hbase.HBaseConfiguration;
    import org.apache.hadoop.hbase.HColumnDescriptor;
    import org.apache.hadoop.hbase.HTableDescriptor;
    import org.apache.hadoop.hbase.KeyValue;
    import org.apache.hadoop.hbase.client.Delete;
    
    import org.apache.hadoop.hbase.client.Get;
    import org.apache.hadoop.hbase.client.HBaseAdmin;
    import org.apache.hadoop.hbase.client.HTable;
    import org.apache.hadoop.hbase.client.Put;
    import org.apache.hadoop.hbase.client.Result;
    import org.apache.hadoop.hbase.client.ResultScanner;
    import org.apache.hadoop.hbase.client.Scan;
    import org.apache.hadoop.hbase.util.Bytes;
    public class HbaseDemoTest {
     // 声明静态配置
     static Configuration conf = null;
     
     private static final String ZK_CONNECT_STR = "hadoop01:2181,hadoop02:2181";
     
     static {
     conf = HBaseConfiguration.create();
     conf.set("hbase.zookeeper.quorum", ZK_CONNECT_STR);
     }
     /*
     * 创建表
     * @tableName 表名
     * @family 列簇列表
     */
     public static void creatTable(String tableName, String[] family) throws Exception {
     HBaseAdmin admin = new HBaseAdmin(conf);
     HTableDescriptor desc = new HTableDescriptor(tableName);
     for (int i = 0; i < family.length; i++) {
     desc.addFamily(new HColumnDescriptor(family[i]));
     }
     if (admin.tableExists(tableName)) {
     System.out.println("table Exists!");
     System.exit(0);
     } else {
     admin.createTable(desc);
     System.out.println("create table Success!");
     }
     }
    }

    三、新版本

    目前使用的版本是2.3.2的hbase。在创建HBaseAdmin的时候需要借用链接

    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.hbase.HBaseConfiguration;
    import org.apache.hadoop.hbase.HColumnDescriptor;
    import org.apache.hadoop.hbase.HTableDescriptor;
    import org.apache.hadoop.hbase.TableName;
    import org.apache.hadoop.hbase.client.Connection;
    import org.apache.hadoop.hbase.client.ConnectionFactory;
    import org.apache.hadoop.hbase.client.HBaseAdmin;
    
    import java.io.IOException;
    
    /**
     
     * @version 1.0
     * @date 2020/6/12 11:50
      
     */
    public class HbaseUtils {
        HBaseAdmin hBaseAdmin = null;
        Connection connection  = null;
        Configuration configuration = null;
    
        private HbaseUtils()   {
            configuration = HBaseConfiguration.create();
            configuration.set("hbase.zookeeper.quorum", "hadoop001:2181");
            try {
                connection = ConnectionFactory.createConnection(configuration);
                hBaseAdmin = (HBaseAdmin) connection.getAdmin();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        private static HbaseUtils instance = null;
        public static synchronized HbaseUtils getInstance(){
            if (instance == null){
                instance = new HbaseUtils();
            }
            return instance;
        }
    
        public void createTable(String tableName,String[]family) throws IOException {
            HTableDescriptor tableDescriptor = new HTableDescriptor(TableName.valueOf(tableName));
           for(String f: family){
                tableDescriptor.addFamily(new HColumnDescriptor(f));
            }
            // 创建表
            hBaseAdmin.createTable(tableDescriptor );
            System.out.println("创建" + tableName + "表成功");
    
        }
    }
    

     

    展开全文
  • 关于从何处下载Apache:要安装Apache,你可能想当然地会去Apache官方网站下载适用于Windows的二进制版本。而这恰恰错了!PHP官方不建议在Windows下安装从apache.org网站下载的Apache二进制安装包。原因是如果你使用...

    相信通过这篇文章,可以解答很多在Windows下搭建PHP开发环境的朋友的困惑。
    关于从何处下载Apache:

    要安装Apache,你可能想当然地会去Apache官方网站下载适用于Windows的二进制版本。而这恰恰错了!

    PHP官方不建议在Windows下安装从apache.org网站下载的Apache二进制安装包。原因是如果你使用来自apache.org的安装包,则由于这些安装包是基于陈旧的Visual Studio 6编译的,导致你不得不必须使用同样陈旧的PHP版本(即VC6的PHP版本。也即使用Visual Studio 6编译的PHP版本)才能与其配合使用。

    要想使用最新版的PHP,应听从PHP的官方建议。PHP官方的建议是你在Windows下可以使用IIS,或者使用来自Apache Lounge(www.apachelounge.com)的Apache版本。

    Apache Lounge所提供的Apache二进制安装包是使用VC11建立的。因此可搭配最新版本的PHP使用。

    网上很多资料说如果你是在Windows下使用 Apache,则必须使用PHP的VC6版本,只有使用IIS时才能使用VC9及以上版本,完全是没有搞清情况的以讹传讹。
    如何选择PHP版本(选择线程安全还是非线程安全):
    在Windows下安装PHP,在选择PHP版本上很有讲究。

    Windows下的PHP版本分两种:线程安全版本与非线程安全版本。

    如果你打算使用IIS,则你可以以ISAPI或FastCGI这两种方式来安装PHP。CGI的方式因为效率低下,故不予考虑。

    如果你要在IIS中以FastCGI方式使用PHP,则你应该使用PHP的非线程安全的版本(Non-Thread Safe,NTS)。原因是以FastCGI方式安装PHP时,PHP拥有独立的进程,并且FastCGI是单一线程的,不存在多个线程之间可能引发的相互干扰(这种干扰通常都是由于全局变量和静态变量导致的)。由于省去了线程安全的检查,因此使用FastCGI方式比ISAPI方式的效率更高一些。

    如果你要在IIS中以ISAPI的方式使用PHP,则你应该使用PHP的线程安全版本(Thread Safe,TS)。原因是PHP以ISAPI方式安装时,PHP没有独立的进程,而是作为DLL被IIS加载运行的,即是依附于Web服务器进程的。当Web服务器运行在多线程模式下(IIS正是这种情况),PHP自然也就运行在多线程模式下。只要是在多线程模式下运行,就可能存在线程安全问题,因此应选择PHP的线程安全版本。

    但在这里还有必要说明一下,尽管Apache本身是线程安全的,同时你也选择了PHP的线程安全版本,但由于一些Apache和PHP下的第三方扩展最初是基于Unix的多进程思想开发出来的,在设计开发时没有考虑线程安全的问题,因此,不排除在这种情况下仍然存在IIS被某些第三方扩展搞崩溃的可能。

    如果你打算使用Apache,则你可以以模块、ISAPI、FastCGI这三种方式来安装PHP。CGI的方式因为效率低下,故不予考虑。

    如果你要在Apache中以模块方式安装PHP,则你应该使用PHP的线程安全的版本。原因是当PHP作为Apache的模块安装时,PHP没有独立的进程,而是作为模块以DLL的形式被加载到Apache中的,是随Apache的启动而启动的,而Windows下的Apache为多线程工作模式,因此PHP自然也就运行在多线程模式下。因此,这种情况下应使用PHP的线程安全版本。

    再来看ISAPI的情况。通常认为ISAPI是配合IIS使用的,因为ISAPI最初就是微软为IIS开发的。但Apache现在也可以通过加载mod_isapi.so模块来实现ISAPI的功能,以允许PHP以ISAPI的方式安装。.so文件是Apache自1.3版本后制定的用于Windows下的模块命名规则,对于Windows下的Apache而言,.so与.dll文件一样,都是动态链接库文件。

    当要以ISAPI方式来安装PHP时,通常是加载一个名如phpXisapi.dll的DLL文件,其中的X为阿拉伯数字4、5等等这样子。

    但一般不建议在Apache中以ISAPI方式来安装PHP,原因是到目前为止,Apache通过mod_isapi.so模块来实现的ISAPI功能并不完整,并未完整实现微软对ISAPI所制定的全部规范。

    同样的,由于以ISAPI方式来安装PHP时,PHP也没有独立的进程,也是作为模块被加载到Apache中的,因此,同样也需要使用PHP的线程安全版本。

    如果你要在Apache中以FastCGI方式使用PHP,则同在IIS中使用FastCGI的PHP的情况一样,你应该使用PHP的非线程安全的版本。原因是在Apache中以FastCGI方式安装PHP时,PHP拥有独立的进程,并且FastCGI是单一线程的,故应使用PHP的非线程安全版本以提高性能。

    展开全文
  • Apache Kylin™是一个开源分布式分析引擎,提供Hadoop/Spark之上SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc. 开发并贡献至开源社区。它能在亚秒内查询巨大Hive表。 如果需要将...

    一、前言

    Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc. 开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。

    如果需要将Kylin服务受控于Ambari管控,那就需要集成服务了。

    二、集成服务

    关于ambari-Kylin的Python脚本已上传至github,具体地址参见:传送门

    使用该项目的前提条件

    1. ambari主节点上安装httpd服务并开启,将Kylin和Nginx的源码包放到/var/www/html/kylin目录下。(由于源码包太大,github上传不了,请到文章底部关注我的微信公众号,回复ambari-kylin获取云盘链接。也感谢您的关注!)
    2. ambari集群各主机已安装wget命令
    3. 适配CentOS-7 64位系统,CentOS-6 64位系统(使用CentOS-6系统,启动nginx时可能会报错,下文会粘出解决方法),其他系统没有测试
    4. 适配于ambari2.6 hdp 2.6.4.0-91,【ambari2.7(待适配)】
    5. 版本说明:Kylin 2.5.1 Nginx 1.8.1

    ---

    部署步骤:

    1. 将Kylin和Nginx的源码包放到Ambari主节点的/var/www/html/kylin中,不需要解压。
    2. 这里我选择的stack版本是2.6,执行一下命令:
    cd /var/lib/ambari-server/resources/stacks/HDP/2.6/services
    mkdir KYLIN
    # 将ambari-Kylin项目拷贝到KYLIN目录下
    git clone https://github.com/841809077/ambari-Kylin.git /var/lib/ambari-server/resources/stacks/HDP/2.6/services/KYLIN
    # 如果命令卡住,请手动下载压缩包并解压到KYLIN目录下

    最终如图所示:

    1. 重启ambari:ambari-server restart

    ---

    Kylin部署方式

    目前采用的Kylin部署集群方式相对来说简单,只需要增加Kylin的节点数,因为Kylin的元数据(Metadata)是存储在HBase中,只需要在Kylin中配置,让Kylin的每个节点都能访问同一个Metadata表就形成了Kylin集群(kylin.metadata.url 值相同)。并且Kylin集群中只有一个Kylin实例运行任务引擎(kylin.server.mode=all),其它Kylin实例都是查询引擎(kylin.server.mode=query)模式。为了实现负载均衡,即将不同用户的访问请求通过Load Balancer(负载均衡器)(比如lvs,nginx等)分发到每个Kylin节点,保证Kylin集群负载均衡。对于负载均衡器可以启用SSL加密,安装防火墙,对外部用户只用暴露负载均衡器的地址和端口号,这样也保证Kylin系统对外部来说是隔离的。我们的生产环境中使用的LBnginx,用户通过LB的地址访问Kylin时,LB将请求通过负载均衡调度算法分发到Kylin集群的某一个节点,不会出现单点问题,同时如果某一个Kylin节点挂掉了,也不会影响用户的分析。这种方式也不是完美的,但是比较好配置,一般场景下是可以满足的。

    该项目修改如下:

    1. Kylin和Nginx源码修改
      • 修改了Kylin的日志输出为/var/log/kylin/目录下
      • 修改Nginx的日志输出为/var/log/nginx/目录下
      • 修改Nginx的pid文件路径为:/var/run/nginx/nginx.pid
    2. 完善脚本逻辑,优化代码。
    3. 增加并修改kylin.xmlnginx.xml文件内容
    4. 实现在ambari web UI修改配置项,保存后提示重启功能
    5. 由于80端口与httpd端口冲突,所以修改Nginx的端口为81
    6. 解决nginx负载均衡后,需要刷新页面,重复登陆才可以访问到实时数据的问题,实现session会话持久性

    ---

    项目逻辑说明

    1. 通过wget命令在主节点的本地仓库中下载KylinNginx的源码,源码安装路径分别为:/usr/hdp/2.6.4.0-91/kylin/usr/hdp/2.6.4.0-91/nginx。不要修改nginx的安装目录,否则启动nginx会报错。如果需要更改nginx的安装目录,需要重新编译nginx源码。
    2. 通过该服务脚本能够成功部署Kylin集群,三台主机:一个all模式,两个query模式,nginx节点可安装在任意一台节点上。
    3. 不足或需要注意的地方: 选择Kylin slave的时候,Kylin all所在节点上不能安装Kylin Query,这里在ambari界面上没有做限制。要注意。最终实现效果就是每个节点上都有Kylin服务,只不过模式不同,分工不同。

    ---

    效果图

    nginx在CentOS-6 64位系统启动失败问题解决方案

    点击这里获取解决方案

    还拥有的功能

    1. Kylin服务依赖于hdfs,mapreduce,hive,hbase组件,如何定义ambari集群各服务组件的起停顺序,使Kylin服务组件在hdfs,mapreduce,hive,hbase组件之后启动呢,这是一个知识点
    2. 添加告警设置,如果某节点的Kylin端口挂掉了,给与用户报警展示

    ---kylin nginx 源码包太大,gitgub上传不了,并且上述还拥有的功能已经实现,如果有需要的可以私信我的公众号:回复ambari-kylin获取云盘链接,里面有整个源码包自定义Kylin安装服务脚本完整版

    上述功能如果感兴趣的,可以微信搜索公众号私聊我:大数据实战演练或者扫描下方二维码关注即可:


    点关注,不迷路

    好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是 人才

    白嫖不好,创作不易。 各位的支持和认可,就是我创作的最大动力,我们下篇文章见!

    如果本篇博客有任何错误,请批评指教,不胜感激 !

    展开全文
  • 一、如何选择PHP5.3VC9版本和VC6版本 VC6版本是使用Visual Studio 6编译器编译,如果你PHP是用Apache来架设,那你就选择VC6版本。 VC9版本是使用Visual Studio 2008编译器编译,如果你PHP是用IIS来架设...
  • 关于VC9和VC6以及Thread Safe和Non Thread Safe版本选择问题 一、如何选择PHP5.3VC9版本和VC6版本 VC6版本是使用Visual Studio 6编译器编译,如果你PHP是用Apache来架设,那你就选择VC6版本。...
  • 一、如何选择PHP5.3VC9版本和VC6版本 VC6版本是使用Visual Studio 6编译器编译,如果你PHP是用Apache来架设,那你就选择VC6版本。 VC9版本是使用Visual Studio 2008编译器编译,如果你PHP是用IIS来架设...
  • VC6 版本是使用 Visual Studio 6 编译器编译,如果你 PHP 是用 Apache 来架设,那你就选择 VC6 版本。 VC9 版本是使用 Visual Studio 2008 编译器编译,如果你 PHP 是用 IIS 来架设,那你就选择 VC9 ...
  • Apache OFBIZ快速上手()--MVC框架

    千次阅读 2015-03-16 07:59:01
    继续上一篇博客,本篇博客介绍OFBiz的MVC框架。 1、OFBiz特点  OFBiz最主要的特点是OFBiz提供了一整套的...2、关于OFBiz的版本以及文档   版本一直在更新,现在更新到13.0.7了。  OFBiz的学习文档,少之又少,国内的
  • 继续上一篇博客,本篇博客介绍OFBiz的MVC框架。 1、OFBiz特点 OFBiz最基本的特点是OFBiz提供了一整套的开发基于Java的web应用程序的组件和工具。...2、关于OFBiz的版本号以及文档 版本...
  • 把tcnative-1复制到c:/windows/system32 下面(或者去网上找你对面服务器版本的tcnative-1) 解决办法之:.在官网http://tomcat.apache.org/重新下载一个服务器,tcnative-1对应放在c:/wind
  • Apache POI:解决数据库和Excel之间相互转换烦恼~

    千次阅读 多人点赞 2020-09-02 13:06:42
    通过IO流生成表03版本完整代码07版本完整代码大文件写 HSSF(03)大文件写 XSSF(07)大文件写 SXSSF(07)三、POI-Excel 读03版本07版本不同数据类型读取含计算公式单元格读取 引言 开发中经常会设计到 ...
  • centos7默认安装svn版本是1.7.14,但这个版本中有个关于UTF8bug,这个bug一直到1.8版本后期才修复,所以需要装完后升级到新版本,切记不能直接安装新版本,否则会有权限问题。 安装subversion yum install ...
  • 最方便就是利用android本身编译系统直接编译,关于android编译系统,可以看我这篇文章:Android编译系统之交叉编译器详解。 从官网上下一个和使用android版本相同curl库,放入external目录下,解压,修改mk...
  • 设置android SDK编译版本为23时,且使用了httpClient相关类库项目:如android-async-http等等,会出现有一些类找不到错误。 、原因 android 6.0(api 23) SDK,不再提供org.apache.http.*(只保留几个...
  • 关于二级域名和网站子目录之间关系和... 由于apachhe2不同于以往的apache版本, 有一些配置文件已经分散放在各个不同文件里了, 所以如果还是根据网络旧资料来配置文件话会带来很大困惑, 其实新版的apache2最...
  • centos5 的系统,不想重新编译安装apache 怎么添加cache模块??...这里可以看出大部分关于apache的版本信息,安装操作系统位数平台及apr版本。 三。 httpd -M 列出编译过的模块。同时能看到哪
  • 不久, 以Apache Cassandra 项目主席Jonathan Ellis 为首开发者们发布了Cassandra 0.3,随后稳定不断地发布新版本。虽然Cassandra 在本书完成时仍然没有达到1.0发布版本,但已经被互联网领域很多巨头使用在...
  • 这次我要做教程呢是关于Tomcat新手向安装教程,话不多少直接上货。 一、还是老规矩,首先你要有一个Tomcat安装包,一如既往附上官网地址:http://tomcat.apache.org/tomcat-7.0-doc/index.html 注:此地址...
  • Apache Lucene初探

    2019-09-06 14:57:01
    首先呢,学习任何一门新亦或是旧开源技术,百度其中一是最简单办法,先了解其中大概,思想等等.然后我这看到有一个不错ppt点击就可以看。 其次,关于第一次编程初探,建议还是查看官方资料。百度到...

空空如也

1 2 3 4 5 ... 11
收藏数 202
精华内容 80
热门标签
关键字:

二 关于apache的版本