Ubuntu18源码编译安装Ceph
1、git clone git@github.com:ceph/ceph 配置了ssh key执行这条
git clone https不行或者慢的解决方案:修改本地host文件
由于国内环境github的cdn不稳定导致解析失败,所以我们可以在本地host中直接指定。
打开IPAddress.com分别查询github.com和github.global-ssl.fastly.net两个域名的ip地址
本地编辑host文件 sudo vim /etc/hosts
添加
199.232.69.194 thub.global-ssl.fastly.net
140.82.113.3 github.com
1、git clone git://github.com/ceph/ceph 如果没有ssh key,执行这条
2、git submodule update --init –recursive 进入ceph目录执行,拉取子模块代码,看网络好不好,多执行几次
3、安装Ceph预期准备:进入ceph目录,安装以下包
sudo apt-get install libatomic-ops-dev
sudo apt-get install libaio-dev
sudo apt-get install xfslibs-dev
sudo apt-get install libboost-iostreams-dev
sudo apt-get install libtool
sudo apt-get install cython3
sudo apt-get install libsnappy-dev
sudo apt-get install libleveldb-dev
sudo apt-get install libblkid-dev
sudo apt-get install libudev-dev
sudo apt-get install libkeyutils-dev
sudo apt-get install libcrypto++-dev libcrypto++-doc libcrypto++-utils
sudo apt-get install libfuse-dev libcurl4-openssl-dev libxml++2.6-dev libssl-dev
gperf libjemalloc-dev
sudo apt-get install libfcgi-dev
apt-get install autotools-dev autoconf automake cdbs g++ gcc git libatomic-ops-dev libboost-dev libcrypto++-dev libcrypto++ libedit-dev libexpat1-dev libfcgi-dev libfuse-dev libgoogle-perftools-dev libgtkmm-2.4-dev libtool pkg-config uuid-dev libkeyutils-dev uuid-dev libkeyutils-dev btrfs-tools
4、./install-deps.sh
遇到的问题如下:
卸载源码安装的cmake:进入安装cmake时解压好的源码文件夹,执行make uninstall
CMAKE COMPILE选项没有设置
apt install ninja-build
which ninja查找安装位置
Could NOT find sphinx-build
apt-get install python-sphinx
Could NOT find rdmacm
librdmacm-dev
apt-cache search rdmacm 查找相关的包
Could NOT find udev
libudev-dev
Could NOT find blkid
libblkid-dev
Could NOT find keyutils
libkeyutils-dev
Could NOT find OpenLDAP
libldap2-dev
Could NOT find libcryptsetup
卸载原有的libcryptsetup-dev
安装2.0.5及以上的libcryptsetup-dev,期间需要安装libjson-c-dev libpopt-dev libdevmapper-dev
Could NOT find SQLite3
libsqlite3-dev
Could NOT find snappy
libsnappy-dev
Could NOT find LZ4
liblz4-dev
Could NOT find CURL
libcurl4-openssl-dev
Could NOT find OATH
liboath-dev
Could NOT find LTTngUST
liblttng-ust-dev
Could NOT find babeltrace
libbabeltrace-dev
Could NOT find Lua
liblua5.3-dev
Could not find cython
cython3
Could NOT find nl
libnl-genl-3-dev
No package 'libcap-ng' found
libcap-ng-dev
Could NOT find RabbitMQ
librabbitmq-dev
Could NOT find RDKafka
librdkafka-dev
警告:Policy CMP0127 is not set: cmake_dependent_option() supports full Condition Syntax.
解决:在CMakeLists.txt提示行数加入:
if(POLICY CMP0127)
cmake_policy(SET CMP0127 NEW)
endif()
5、cd build
6、ninja
7、ninja install
8、./bin/ceph –v 安装成功的话会提示版本号
第二种方案:
在 Index of / 下载ceph-15.1.0.tar.gz
cd ceph
./install-deps.sh
./do_cmake.sh
cd build
make
make遇到的问题:
c++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
都是因为交换内存Swap不够,解决:
sudo swapoff –a 先释放内存
sudo dd if=/dev/zero of=/swapfile bs=5M count=1024 创建5g的交换内存
sudo mkswap /swapfile
sudo swapon /swapfile
sudo apt-get install python-pip #python2
sudo apt-get install python3-pip #python3
make成功界面
make install
遇到的问题:ubuntu自带python2和python3,而ceph使用python3.x安装cython3_rados pkg,由于系统只安装了python2使用的python-pip,没有python3-pip
解决:centos:yum install python3-pip python3-setuptools
ubuntu:apt-get install python3-pip python3-setuptools