標籤:red -- page linux 12px 安裝 更新 base es2017
在ubuntu和多數linux發行版的包安裝源中MongoDB預設的版本是2.4,但2.4所使用的儲存引擎不支援collecitons層級的鎖,只支援database層級的,所以在開發中2.4版本的mongodb寫入時會造成鎖表的現象,導致資料庫效能低下,因此需要更新到3.4版本以上。
更新環境是 ubuntu 14.4 ,有兩種方式更新,但是要注意先備份資料庫,mongodump。。
方法一: apt install
1. 添加public key:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
2. 添加包源:
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
3. 更新:
sudo apt-get update
4. 安裝:
sudo apt-get install -y mongodb-org
也可以指定版本: sudo apt-get install -y mongodb-org=3.6.0 mongodb-org-server=3.6.0 mongodb-org-shell=3.6.0 mongodb-org-mongos=3.6.0 mongodb-org-tools=3.6.0
方法二: 二進位包安裝
1. 下載包:
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.0.tgz
2. 解壓:
tar -zxvf mongodb-linux-x86_64-3.6.0.tgz
3. 建立目錄:
mkdir -p mongodb
cp -R -n mongodb-linux-x86_64-3.6.0/ mongodb
4. export path:
export PATH=<mongodb-install-directory>/bin:$PATH
最好放在 bashrc 或者 profile裡,不用每次都手動export
notes: 解決出現TPH warning的問題
在 /etc/init.d/ 目錄下建立 一個檔案 /etc/init.d/disable-transparent-hugepages
#!/bin/bash### BEGIN INIT INFO# Provides: disable-transparent-hugepages# Required-Start: $local_fs# Required-Stop:# X-Start-Before: mongod mongodb-mms-automation-agent# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: Disable Linux transparent huge pages# Description: Disable Linux transparent huge pages, to improve# database performance.### END INIT INFOcase $1 in start) if [ -d /sys/kernel/mm/transparent_hugepage ]; then thp_path=/sys/kernel/mm/transparent_hugepage elif [ -d /sys/kernel/mm/redhat_transparent_hugepage ]; then thp_path=/sys/kernel/mm/redhat_transparent_hugepage else return 0 fi echo ‘never‘ > ${thp_path}/enabled echo ‘never‘ > ${thp_path}/defrag re=‘^[0-1]+$‘ if [[ $(cat ${thp_path}/khugepaged/defrag) =~ $re ]] then # RHEL 7 echo 0 > ${thp_path}/khugepaged/defrag else # RHEL 6 echo ‘no‘ > ${thp_path}/khugepaged/defrag fi unset re unset thp_path ;;esac
然後添加可執行許可權:
sudo chmod 755 /etc/init.d/disable-transparent-hugepages
最後添加自啟動即可:
sudo update-rc.d disable-transparent-hugepages defaults
MongoDB 3.6 安裝詳解