文档章节

以thrift为例的在内网环境下的安装方法

康可儿
 康可儿
发布于 2016/07/28 14:52
字数 1150
阅读 41
收藏 0

    (第一段太正式,请无视)总会有一些需求需要在内网,也就是没有互联网环境下进行开发等项目,其中也必不可少一些软件的安装,本文就以安装thrift为例(当然安thrift也挺麻烦的)说说如何在内网安装。

    首先,如果要在内网中进行安装,那么必须要在外网中将相关包下载好再拷贝到内网中进行安装,其中需求的软件下载比较方便,一般都是通过wget下载到,包也直接下载到了当前路径下,可是下载相关依赖包就比较麻烦,仅仅是用yum安装的话安装包是会在安装成功后自动删除的,所以推荐如下命令进行操作:

yum install --downloadonly --downloaddir=下载路径   包名

    其中若是使用这种方法,前提是安装了 yum-plugin-downloadonly  ,一般系统都安装了。通过以上命令仅仅是下载了需要的包,而没有进行安装,在执行完命令后也会看到相应的提示信息。而--downloaddir可以不写,那么默认会将下载的包安装在  /var/cache/yum/x86_64/7/  下,而且还不一定能找全,所以不推荐使用这种方法。

    通过以上方法,我们就可以把安装软件的相关所有包都打包好,拷贝到内网中去了。接下来,分割线一下就以thrift安装为例。

--------------------------------------------------------------------------------------------------------------------------------

    首先,先贴出有关thrift的官方链接

thrift首页https://thrift.apache.org/

thriftv0.9.3安装包地址有如下这些,用wget下载即可:

http://apache.fayea.com/thrift/0.9.3/thrift-0.9.3.tar.gz 
http://mirror.bit.edu.cn/apache/thrift/0.9.3/thrift-0.9.3.tar.gz 
http://mirrors.cnnic.cn/apache/thrift/0.9.3/thrift-0.9.3.tar.gz 
http://mirrors.hust.edu.cn/apache/thrift/0.9.3/thrift-0.9.3.tar.gz http://mirrors.tuna.tsinghua.edu.cn/apache/thrift/0.9.3/thrift-0.9.3.tar.gz

官方的安装文档https://thrift.apache.org/docs/install/       其中会有一个系统的选择,如图所示,本文以CentOS为例。若是需要安装最好进入网站中浏览一下。

 

    接下来开始正常的安装步骤

    首先,官方给的安装步骤中直接就贴到下面了,可以看到有许多需要下载的包,那么我们就按照分割线上面的方法把包下载下来就可以了。

Update the System

sudo yum -y update

Install the Platform Development Tools

sudo yum -y groupinstall "Development Tools"

Upgrade autoconf/automake/bison

sudo yum install -y wget

Upgrade autoconf

wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz

tar xvf autoconf-2.69.tar.gz

cd autoconf-2.69

./configure--prefix=/usr

make

sudo make install

cd..

Upgrade automake

wget http://ftp.gnu.org/gnu/automake/automake-1.14.tar.gz

tar xvf automake-1.14.tar.gz

cd automake-1.14

./configure--prefix=/usr

make

sudo make install

cd..

Upgrade bison

wget http://ftp.gnu.org/gnu/bison/bison-2.5.1.tar.gz

tar xvf bison-2.5.1.tar.gz

cd bison-2.5.1

./configure--prefix=/usr

make

sudo make install

cd..

Add Optional C++ Language Library Dependencies(其中如果不需要C++支持则跳过此步骤,直接执行最后一步)

All languages require the Apache Thrift IDL Compiler and at this point everything needed to make the IDL Compiler is installed (if you only need the compiler you can skip to the Build step).

If you will be developing Apache Thrift clients/servers in C++ you will also need additional packages to support the C++ shared library build.

Install C++ Lib Dependencies

sudo yum -y install libevent-devel zlib-devel openssl-devel

Upgrade Boost >= 1.53

wget http://sourceforge.net/projects/boost/files/boost/1.53.0/boost_1_53_0.tar.gz

tar xvf boost_1_53_0.tar.gz

cd boost_1_53_0

./bootstrap.sh

sudo ./b2 install

Build and Install the Apache Thrift IDL Compiler

git clone https://git-wip-us.apache.org/repos/asf/thrift.git

cd thrift

./bootstrap.sh

./configure

--with-lua=no

make

sudo make install

    其中,千万不要执行git clone这步骤,直接把下载好的0.9.3版本的解压并进入解压路径进行操作就好,因为这样操作会升级到1.0.0版本,这个并不是官方的稳定版。未来稳定版本更新了在git。当安装好后通过     thrift --version  确定一下版本,若是真的执行了git clone操作也不要紧,直接把thrift路径下内容都删掉,然后把0.9.3的tar包解压并进入新出现的thrift路径下重新执行下操作就好了。安装成功后在查询版本确定一下。

    不过在最后进入thrift目录下执行    ./configure    时可能会报错,报错提示信息为

checking for BN_init in -lcrypto... no 
configure: error: "Error: libcrypto required."

    这个报错最开始真的很头疼,说是缺失libcrypto,但实际查了很久才知道,只要用yum把openssl-devel安装好就可以了,这个只要本地yum源中的包不是太久没更新都可用,也都能tab补齐出来,安装好后继续安装就可以了。

© 著作权归作者所有

康可儿
粉丝 0
博文 3
码字总数 1855
作品 0
海淀
系统管理员
私信 提问
thrift使用:java作为client端调用python服务端

一、环境准备 1、thrift安装: windows环境下,只要到官网下载.exe文件到本地,然后将文件加入到path就可以使用了。 linux环境下,需要下载tar包,编译安装即可,至于编译安装的方法,我就不...

ivan-Zhao
2016/06/14
645
2
Apache Thrift的使用

Thrift是什么,看这里:http://thrift.apache.org/ 1.从官网下载thrift   Thrift官网:http://thrift.apache.org/,Windows 和 Linux请分别下载不同的版本。 在Windows上,将下载的压缩文件...

摆渡者
2014/02/28
0
0
手把手教你通过Thrift 访问ApsaraDB for HBase

Thrift 多语言接入 Thrift 提供多语言访问HBase的能力,支持的语言包从Thrift官网看括: C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk,......

玄陵
2018/08/03
0
0
RPC快速入门学习和java演示

一.什么是RPC? RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。 RPC协议假定某些传输协议的存...

钟声已经敲响
2016/10/09
31
0
android 工程内网命令行构建

想法: 在内网环境下使用命令行构建 android studio 的工程 内网机环境: windows 7 可以通过特殊渠道从外网道拷贝文件进来 已经安装了 android studio 无法连接到 Internet 步骤1: 进入 cm...

飛飛萨
2017/10/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

从濒临解散到浴火重生,OceanBase 这十年经历了什么?

阿里妹导读:谈及国产自研数据库,就不得不提 OceanBase。与很多人想象不同的是,OceanBase 并非衔着金钥匙出生的宠儿。相反,它曾无人看好、困难重重,整个团队甚至数度濒临解散。 从危在旦...

阿里云云栖社区
15分钟前
1
0
比特币第三方API大全

在开发比特币应用时,除了使用自己搭建的节点,也可以利用第三方提供的比特币api,来获取市场行情、进行交易支付、查询账户余额等。这些第三方api不一定遵循标准的比特币rpc接口规范,但往往...

汇智网教程
26分钟前
1
0
Dozer:Dozer异常java.lang.ClassCastException

这个问题是个很难发现的问题,因为代码本身没有错误,但就是无法找到报错原因 现记录下这个报错 java.lang.ClassCastException:com.XXX.ObjectA cannot be cast to com.XXX.ObjectA 代码中并...

琴兽
今天
2
0
Feign Retryer的默认重试策略测试

1、Feign配置 @Configurationpublic class FeignConfig { @Value("${coupon_service.url:http://localhost:8081}") private String couponServiceUrl; @Bean publ......

moon888
今天
2
0
关于不同域名下的session共享问题

如果登录,首页,分类,列表,产品都在不同的二级域名下,主域名不变,一定要保证里面的版本问题,不能为了更新而更新,这样哪个下面的session都访问不了。

dragon_tech
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部