node1 | Ops Manager,mongodb,agentnode |
node2 | mongodb,agent |
node3 | mongodb,agent |
參考文檔linux
sysctl -w vm.zone_reclaim_mode=0
yum install -y ntp /etc/init.d/ntpd start
vim /etc/fstab /dev/mapper/VolGroup-lv_data /data ext4 defaults,noatime,nodiratime 1 1
ulimit -a 修改/etc/security/limits.conf mongod soft nproc 65535 mongod hard nproc 65535
經過啓動腳本能夠在每次啓動時關閉THPmongodb
vim /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 INFO case $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
執行腳本shell
chmod +x /etc/init.d/disable-transparent-hugepages chkconfig --add disable-transparent-hugepages /etc/init.d/disable-transparent-hugepages start
檢查是否生效數據庫
cat /sys/kernel/mm/transparent_hugepage/enabled cat /sys/kernel/mm/transparent_hugepage/defrag #有如下輸出表示正確 always madvise [never]
Ops Manager須要先安裝mongodb,建立其數據庫副本集後才能部署安裝。json
在每臺節點上執行如下命令建立官方3.4版本的repo文件vim
官方的yum源比較慢,推薦使用阿里雲yum源bash
#官方repo cat > /etc/yum.repos.d/mongodb-org-3.4.repo << EOF [mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc EOF # 阿里雲repo cat > /etc/yum.repos.d/mongodb-org-3.4.repo << EOF [mongodb-org-3.4] name=MongoDB Repository #baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ baseurl=https://mirrors.aliyun.com/mongodb/yum/redhat/\$releasever/mongodb-org/3.4/x86_64/ gpgcheck=0 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc EOF
在每臺節點上執行如下步驟app
yum install -y mongodb-org chkconfig mongod on
修改配置curl
vim /etc/mongod.conf #修改成數據分區,需建立該目錄,並確保mongod用戶可讀寫 # Where and how to store data. storage: dbPath: /data/mongo journal: enabled: true #默認監聽本地lo,註釋掉 # network interfaces net: port: 27017 # bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces.
啓動服務
service mongod start
參考 https://docs.mongodb.com/manual/tutorial/deploy-replica-set/
經過修改配置文件的方式建立Ops Manager所需副本集。
注:也能夠經過命令行方式指定副本集啓動。修改配置文件的方式便於經過init script管理。
在全部節點上修改配置
vim mongod.conf
#添加如下內容
replication:
replSetName: rs_ops_manager
#重啓生效
service mongod restart
在任一節點上執行mongo shell,添加副本集節點,此處使用node1節點
mongo --host localhost --port 27017 #Initiate the replica set rs.initiate() #display the replica set configuration object rs.conf() #Add the remaining members to the replica set rs.add("node2_fqdn") rs.add("node3_fqdn") #Check the status of the replica set rs.status()
#下載安裝 wget -c https://downloads.mongodb.com/on-prem-mms/rpm/mongodb-mms-3.4.2.389-1.x86_64.rpm rpm -ivh mongodb-mms-<version>.x86_64.rpm
Configure the Ops Manager connection to the Ops Manager Application Database
vim /opt/mongodb/mms/conf/conf-mms.properties #設置mongo.mongoUri mongo.mongoUri=mongodb://node1:27017,node2:27017,node3:27017/?replicaSet=rs_ops_manager /etc/init.d/mongodb-mms start 啓動
Open the Ops Manager home page and register the first user.
wget -c http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.2.tgz
tar xzf mongodb-linux-x86_64-rhel62-3.4.2.tgz -C /opt/mongodb/mms/mongodb-releases/ chown -R mongodb-mms.mongodb-mms /opt/mongodb/mms/mongodb-releases/mongodb-linux-x86_64-rhel62-3.4.2/
chown
-R mongodb-mms:mongodb-mms
/opt/mongodb/mms/mongodb-releases
chmod
-R 640
/opt/mongodb/mms/mongodb-releases
Download the version manifest for Ops Manager.
Paste the contents the version manifest into the Ops Manager application on each Ops Manager server.
For each group, specify which versions are available for download by Automation Agents.
Review and approve your changes.
Ops Manager displays your proposed changes.
If you are satisfied, click Confirm & Deploy.
Otherwise, click Cancel and you can make additional changes.
參考https://docs.opsmanager.mongodb.com/current/tutorial/install-automation-agent-with-rpm-package/
在node1,node2,node3上安裝mongodb-mms-automation-agent-manager curl -OL http://172.17.20.127:8080/download/agent/automation/mongodb-mms-automation-agent-manager-latest.x86_64.rpm rpm -U mongodb-mms-automation-agent-manager-latest.x86_64.rpm
按上圖ID修改
vim /etc/mongodb-mms/automation-agent.config
#get id and key from Group Settings mmsGroupId=<Group ID> mmsApiKey=<agent API key> mmsBaseUrl=<application URL>
#啓動agent
/etc/init.d/mongodb-mms-automation-agentstart
查看各個節點的agent是否鏈接上
準備工做
解壓mongodb壓縮包,避免部署的時候在線下載這個包 tar xvf mongodb-linux-x86_64-rhel62-3.4.2.tgz -C /var/lib/mongodb-mms-automation/mongodb-linux-x86_64-3.4.2 chown -R mongod.mongod /var/lib/mongodb-mms-automation/mongodb-linux-x86_64-3.4.2/ 檢查各個節點的mongodb-mms-automation-agent是否鏈接上了
點擊ADD添加已經存在的集羣
查看集羣狀態(mongodb啓動程序有警告,因此status有警告)
#建立mongodb數據存放目錄,後面部署時要填寫 mkdir /mongodata chown mongod:mongod /mongodata
確認後點擊REVIEW&DEPLOY
部署中可查看日誌/var/log/mongodb-mms-automation/automation-agent.log排查錯誤,錯誤解決後點擊REVIEW&DEPLOY繼續部署。
其餘配置可參考官網