环境要求:
In addition, VoltDB's build system requires the following software:
- Java 1.8
- Apache Ant 1.7 or newer
- A compiler with C++11 support: GNU C++ 4.4 or newer or on OS X, XCode 5.0 (with Clang 3.3) or newer
- Python 2.6 or newer
- cmake 2.8 or newer
1. 在ubuntu14.04安装jdk8
1.1
先在jdk官网下载jdk8 ,这里我提前下好了放在百度云盘 : jdk-8u271-linux-x64.tar 提取码:lbp9。 (注意: 下载x64版本,aarch64版本对应是RAM的)
如果是qemu虚拟机的docker的话,需要先把下载好的文件上传到真机linux环境中,然后从真机linux环境中通过scp命令传到qemu虚拟机里面.
下面,ip地址是qemu虚拟机的ip地址
scp jdk-8u271-linux-x64.tar root@192.168.122.47:/root
1.2
下载好了之后,上传到主机linux目录下,然后在主机目录下使用docker的cp命令上传到docker环境的/usr/lib/jvm中, 如果/usr/lib中没有jvm文件夹,就用sudo创建一个jvm.
sudo docker cp jdk-8u271-linux-aarch64.tar.gz <dockerID>:/usr/lib/jvm
然后进入docker环境中,
sudo docker exec -it <dockerID> /bin/bash
在docker中进入/usr/lib/jvm中,对jdk8进行解压:
cd /usr/lib/jvm
sudo tar zxvf jdk-8u271-linux-x64.tar.gz -C /usr/lib/jvm
1.3
然后添加环境变量
vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_271
export JRE_HOME=/usr/lib/jvm/jdk1.8.0_271
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
然后更新环境变量
source /etc/profile
1.4
然后查看是否安装成功
java -version
java version "1.8.0_271"
Java(TM) SE Runtime Environment (build 1.8.0_271-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)
到此,docker里面的java环境安装成功!
2. 在ubuntu14.04中安装Apache Ant
2.1
先下好Apache Ant 1.9,可以在Apache Ant官网下载, 我提前放在百度云里面 Apache Ant 1.9,提取码:4tnj .
2.2
下载好了之后,上传到主机linux目录下,然后在主机目录下使用docker的cp命令上传到docker环境的/usr/lib中,
sudo docker cp apache-ant-1.9.15-bin.tar.gz <dockerID>:/usr/lib
然后进入docker环境中,
sudo docker exec -it <dockerID> /bin/bash
在docker中进入/usr/lib中,对apache ant1.9进行解压:
sudo tar zxvf apache-ant-1.9.15-bin.tar.gz -C /usr/lib
2.3
设置环境变量
vim /etc/profile
export ANT_HOME=/usr/lib/apache-ant-1.9.15
export PATH=$PATH:$ANT_HOME/bin
#然后激活配置文件
source /etc/profile
#查看是否安装成功
ant -version
Apache Ant(TM) version 1.9.15 compiled on May 10 2020
到此,docker里面的apache ant 安装成功!
3.在ubuntu14中安装gcc, c++等
#安装gcc
sudo apt-get install build-essential
gcc --version
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#安装g++
sudo apt-get install g++
g++ --version
g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
4.在ubuntu14.04中安装python2.7环境
python参考链接:
安装方式1:源码安装
先在python官网中下载python2.7
使用sudo docker cp Python-2.7.18.tgz 6783a97aba30:/usr/lib
命令上传到docker容器中
进入容器后
#首先解压
tar zxvf Python-2.7.18.tgz
#进入解压后的
cd Python-2.7.18
#运行脚本
./configure
#编译
make
...
#安装
make install
...
#成功后查看安装版本
python --version
Python 2.7.18
#查看python安装的目录
ls /usr/local/bin/
执行以上操作后,Python 会安装在 /usr/local/bin 目录中,Python 库安装在 /usr/local/lib/pythonXX,XX 为你使用的 Python 的版本号。
安装方式2:conda
//可自行查资料.
5.ubuntu安装cmake
sudo apt-get install cmake
cmake --version
cmake version 3.16.3
6.继续安装VoltDB的环境
sudo apt-get install ant-nodeps ant-junit ant-scripts ant-javadoc ant-trax
gcc python valgrind ntp git-all python-httplib2 python-setuptools
python-devel ccache cmake bzip2
获取VoltDB的代码:
git clone https://github.com/VoltDB/voltdb.git
git clone可能会很慢,可以直接在VoltDB git上下载好,然后上传到ubuntu,接着通过docker cp命令上传到各个容器里面.
sudo docker cp voltdb-master.zip ac249477d308:/root
通过直接下载应该是zip文件,这时候使用解压命令
#先安装unzip命令
sudo apt-get install unzip
#然后解压zip文件
unzip voltdb-master.zip
cd voltdb-master
#干净的构建
ant clean
ant
6.1 运行测试app中的TPCC
cd /voltdb-master/tests/test_apps/tpcc
./run.sh server &
#Wait for the server to start
./run.sh init
./run.sh client
./run.sh server &
后的运行结果是
#Wait for the server to start
./run.sh init
./run.sh client
运行客户端后的结果是:
6.2 可能会出现的报错处理
6.2.1 重启容器后环境配置失效
当关闭容器后,重新进入容器,运行VoltDB的测试用例时候,可能会提醒你没有java ,ant等环境
这时候其实之前我们已经安装过了,只要重新运行一下启动配置文件即可解决
source /etc/profile
6.2.2 在跑TPCC on VoltDB的时候可能遇到需要把大页调整为Disable状态
直接在docker里面运行VoltDB的TPCC会报错如下,因为TPCC主要是关注小页的benchmark, 提示关闭大页.
遇到上面这种错误,因为容器和系统共享交换分区,我们先退出Docker,然后在ubuntu里面运行上述提示的两个命令,
sudo bash -c "echo never > /sys/kernel/mm/transparent_hugepage/enabled"
sudo bash -c "echo never > /sys/kernel/mm/transparent_hugepage/defrag"
#可以通过下述命令查看ubuntu系统是否已经关闭了大页
cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
即可解决.
可以把VoltDB数据库的server服务路径加入到/etc/profile的最末尾
export PATH=$PATH:/root/voltdb-master/bin
:wq
source /etc/profile
参考链接:
VoltDB要求配置链接:Building VoltDB
VoltDB免费在线视频学习课程(会英文的同学,强烈推荐学习):http://voltdb.com/resources/volt-university/tutorials/
VoltDB的JIRA系统:https://issues.voltdb.com/
VoltDB的社区论坛:https://forum.voltdb.com/
VoltDB的支持邮箱:有任何疑问都可以发到此邮箱 support@voltdb.com
VoltDB的应用部署参考: https://forum.voltdb.com/forum.php?19