經過Ops Manager安裝管理mongodb-3.4集羣

node1

Ops Manager,mongodb,agentnode

node2 mongodb,agent
node3 mongodb,agent

參考文檔linux

NUMA Settings

sysctl -w vm.zone_reclaim_mode=0

NTP Settings

yum install -y ntp
/etc/init.d/ntpd start

Turn off Atime

vim /etc/fstab
/dev/mapper/VolGroup-lv_data /data                       ext4    defaults,noatime,nodiratime        1 1

ulimt settings

ulimit -a
 
修改/etc/security/limits.conf
    mongod soft nproc 65535
    mongod hard nproc 65535

Disable Transparent Huge Pages

經過啓動腳本能夠在每次啓動時關閉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]

Install the Ops Manager Application Database

Ops Manager須要先安裝mongodb,建立其數據庫副本集後才能部署安裝。json

建立yum repo

在每臺節點上執行如下命令建立官方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

安裝mongod

在每臺節點上執行如下步驟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

部署Ops Manager副本集

參考 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()

Install Ops Manager

#下載安裝
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.

  • http://<host>:8080
  • Click the Register link and follow the prompts to register the first user and create the first group. The first user is automatically assigned the Global Owner role.

Configure Local Mode for Ops Manager Servers without Internet Access(Optional)

Set Ops Manager to Local Mode.

  • Click Admin in the upper right corner to open system administration.
  • From the General tab, click Ops Manager Config.
  • Click the Miscellaneous button at the top of the page.
  • For Version Manifest Source, select Local.
  • Note the directory specified in Versions Directory. This is the directory on your Ops Manager servers where you will store the MongoDB binaries.
  • For Backup Version Auto Download, select false.

Download the required MongoDB archives

wget -c http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.2.tgz

Populate all Ops Manager servers with the necessary MongoDB binaries and archives

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.

  • In Ops Manager, click Admin in the upper right corner to open system administration.
  • Click the General tab.
  • Click Version Manifest.
  • Click the Update the MongoDB Version Manifest button.
  • Paste the version manifest.

For each group, specify which versions are available for download by Automation Agents.

  • In Ops Manager, click Back To Group in the upper left to exit system administration.
  • Click the Group link at the top of the page and select the desired group.
  • Click Deployment, then the More drop-down list, then Version Manager.
  • Select the checkboxes for the versions of MongoDB that you have made available on the Ops Manager Application server.

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.

Configure Ops Manager agents

參考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是否鏈接上

經過Ops Manager安裝配置管理mongodb集羣

導入已經存在的mongodb集羣到Ops Manager

 準備工做

解壓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有警告)

經過Ops Manager自動化部署mongodb shard集羣

#建立mongodb數據存放目錄,後面部署時要填寫
mkdir /mongodata
chown mongod:mongod /mongodata

確認後點擊REVIEW&DEPLOY

部署中可查看日誌/var/log/mongodb-mms-automation/automation-agent.log排查錯誤,錯誤解決後點擊REVIEW&DEPLOY繼續部署。

 其餘配置可參考官網

相關文章
相關標籤/搜索