mesos安装攻略:(安装环境ubuntu14.04,安装过程中保持尽量联网状态)
在官网下载mesos源码(我用的mesos-1.2.0)利用
./configure(检查安装环境,如编译环境和所需依赖包是否安装,生成makefile文件),
make(执行makefile文件,确定在什么位置安装mesos),makeinstall(安装)
因为mesos需要许多依赖包,所以在进行configure之前先进行一些必要依赖包的安装:
sudoapt-get update(更新软件库,在/etc/apt/sources.list文件更新后执行,没有更新就没有必要执行)
sudoapt-get install -y tar wget git
sudoapt-get install -y openjdk-7-jdk
sudoapt-get install -y autoconf libtool
sudoapt-get -y install build-essential python-dev python-sixpython-virtualenv libcurl4-nss-dev libsasl2-dev libsasl2-modulesmaven libapr1-dev libsvn-dev
我在安装libsvn-dev时出现问题,所以我先安装了前面的依赖包,最后执行sudoapt-get install libsvn-dev ,
报错:软件库中有1.9.3版本,但是需要的是1.8.8-1,该软件没有向下兼容,
解决方法:强制指定安装版本:sudoapt-get install libsvn-dev=1.8.8-1
安装好这些依赖包之后执行configure没有问题
(如果在安装上述依赖包的过程中出现依赖其他的包,则先将其以来的包装上,因为不同的机器存在的安装包可能是不一样的,要具体问题具体分析。)
执行make(这一阶段会持续大概30分钟):
报错:/opt/soft/mesos-1.2.0/3rdparty/protobuf-2.6.1/src/google/protobuf/descriptor.proto:Filedoes not reside within any path specified using --proto_path (or -I). You must specify a --proto_path which encompasses this file. Notethat the proto_path must be an exact prefix of the .proto file names-- protoc is too dumb to figure out when two paths (e.g. absolute andrelative) are equivalent (it's harder than you think).
网上提供的解决方法:是因为没有在.proto文件所在目录下执行,一是在.proto文件所在目录下执行protoc,二是为protoc指定参数—proto_path,参数值为.proto文件所在目录。
这两种发放在这里个人感觉都是不可行的,因为这是在执行自动化make过程中出现的错误,我们无法单独执行(尝试过,依然没有解决)。
解决方法:将descriptor.proto文件添加一个后缀成descriptor.proto.bak,再次执行make,通过,不是很明白原因。
执行sudomake install
安装完成。
安装完一台机器之后,可以通过shell脚本将缓存中通过apt安装的依赖包打包发到其他需要的机器上,这样可以不需要再次下载,节省时间。
打包的shell脚本:
#!/usr/bin/env sh
#1.make dir
sudomkdir /offlinePackage
#2.
sudocp -r /var/cache/apt/archives /offlinePackage
#3.
sudochmod 777 -R /offlinePackage/
sudodpkg-scanpackages /offlinePackage/ /dev/null |gzip>/offlinePackage/Packages.gz
sudocp /offlinePackage/Packages.gz /offlinePackage/archives/Packages.gz
sudotar -zvcf offlinePackage.tgz /offlinePackage
将得到的offlinePackage分发到其他机器上,并添加到sources.list文件中:
deb file:/// offlinePackage/
然后sudoapt-get update.接着利用上述步骤安装。