在CentOS7上源碼安裝MongoDB 3.6.3.md
環境準備
groupadd mongodb
useradd mongodb -g mongodb # 創建用戶
passwd mongodb # 設置密碼
mkdir -p /data0/mongodb #創建數據存放目錄
chown -R mongodb:mongodb /data0/mongodb/ # 修改權限
使用mongodb
mkdir /home/mongodb/apps/ #創建MongoDB程序存放目錄
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.6.3.tgz
安裝
tar -xf mongodb-linux-x86_64-rhel70-3.6.3.tgz
mv mongodb-linux-x86_64-rhel70-3.6.3 /home/mongodb/apps/mongodb-3.6.3
ln -s /home/mongodb/apps/mongodb-3.6.3 /home/mongodb/apps/mongodb
mkdir -p /home/mongodb/apps/mongodb/logs/ #創建日志存放目錄
為了便于命令啟動,需要編輯全局變量PATH
vim ~/.bash_profile
export PATH=$PATH:/home/mongodb/apps/mongodb/bin
source ~/.bash_profile
啟動服務
首先查看mongod的幫助信息
[root@snails ~]# pwd
/root/mongodb/bin
[root@snails ~]# vi /etc/profile.d/mongo.sh
[root@snails ~]# source /etc/profile
[root@snails ~]# mongod --help
創建服務文件
在mongodb/conf目錄下創建配置文件mongodb.conf
mkdir /home/mongodb/apps/mongodb/conf
cd /home/mongodb/apps/mongodb/conf
vim mongodb.conf
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /home/mongodb/apps/mongodb/logs/mongodb.log
# Where and how to store data.
storage:
dbPath: /data0/mongodb
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# how the process runs
processManagement:
fork: true # fork and run in background
pidFilePath: /data0/mongodb/mongodb.pid # location of pidfile
#timeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0 # Listen to local interface only, comment to listen on all interfaces.
#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options
#auditLog:
#snmp:
配置參考鏈接
啟動服務
[root@snails bin]# mongod --dbpath=/data/mongodata --logpath=/data/log/mongolog/mongodb.log --logappend --fork
#通過配置文件啟動
[root@snails bin]# /home/mongodb/apps/mongodb/bin/mongod -f /home/mongodb/apps/mongodb/conf/mongodb.conf
netstat -tnlp | grep mongod
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 18093/mongod
測試
[root@snails bin]# mongo
MongoDB shell version: 3.2.7
connecting to: test
Server has startup warnings:
2016-07-07T20:38:09.623+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2016-07-07T20:38:09.624+0800 I CONTROL [initandlisten]
2016-07-07T20:38:09.624+0800 I CONTROL [initandlisten]
2016-07-07T20:38:09.624+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2016-07-07T20:38:09.624+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2016-07-07T20:38:09.624+0800 I CONTROL [initandlisten]
2016-07-07T20:38:09.624+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2016-07-07T20:38:09.624+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2016-07-07T20:38:09.624+0800 I CONTROL [initandlisten]
2016-07-07T20:38:09.624+0800 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 15084 processes, 65535 files. Number of processes should be at least 32767.5 : 0.5 times number of files.
2016-07-07T20:38:09.624+0800 I CONTROL [initandlisten]
> show dbs
local 0.000GB
> quit()
消除警告
[root@snails bin]# vi /etc/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
ulimit -u 65535
[root@snails bin]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
[root@snails bin]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
Tip:
如果發現加入到/etc/rc.local中的內容在重啟后沒有生效,檢查下rc.local的權限及當前系統運行等級
[root@snails ~]# runlevel
[root@snails ~]# chmod +x /etc/rc.local
文件限制數調整
修改配置文件 /etc/security/limits.conf,添加配置信息:
* soft nofile 65535
* hard nofile 65535
* soft nproc 32000
* hard nproc 32000
停止mongodb
正常停止方法: kill -2 PID
>use admin
>db.shutdownServer();
再次驗證
[root@snails bin]# mongod -f /root/mongodb/bin/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 18229
child process started successfully, parent exiting
[root@snails bin]# mongo
MongoDB shell version: 3.2.7
connecting to: test
Server has startup warnings:
2016-07-07T21:06:53.798+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2016-07-07T21:06:53.798+0800 I CONTROL [initandlisten]
> exit
bye
服務化
[root@snails data]# cat > /usr/lib/systemd/system/mongod.service << EOF
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual
[Service]
User=mongo
Group=mongo
Environment="OPTIONS=-f /home/mongo/apps/mongodb/conf/mongod.conf"
ExecStart=/home/mongo/apps/mongodb/bin/mongod $OPTIONS
ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb
ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb
ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb
PermissionsStartOnly=true
PIDFile=/var/run/mongodb/mongod.pid
Type=forking
# file size
LimitFSIZE=infinity
# cpu time
LimitCPU=infinity
# virtual memory size
LimitAS=infinity
# open files
LimitNOFILE=64000
# processes/threads
LimitNPROC=64000
# locked memory
LimitMEMLOCK=infinity
# total threads (user+kernel)
TasksMax=infinity
TasksAccounting=false
# Recommended limits for for mongod as specified in
# http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings
[Install]
WantedBy=multi-user.target
EOF
[root@snails data]# systemctl enable systemd-mongodb
- 一、日常運維腳本
- 1.1 批量創建用戶并賦予sudo權限
- 1.2 批量主機建立互信
- 1.3create_images.sh
- 1.4monitor.sh
- 1.5ftp腳本
- 1.6格式化分區
- 1.7簡單的遠程執行腳本
- 二、常用服務使用
- 1 ceph (分布式文件系統)
- 1.1 ceph 簡介
- 1.2 準備環境
- 1.3 開始部署
- 1.4 cephfs掛載
- 1.5 RBD塊存儲
- 1.6 object 對象存儲
- 1.7 集群擴展
- 1.7.1 增加刪除MON
- 1.7.2 增加刪除OSD
- 1.7.3 刪除MDS
- 注意事項
- 遇到的問題
- 1.8ceph查找數據文件
- 1.9卸載并清理環境
- 2、mysql (數據庫)
- 2.1 搭建
- 2.2 使用教程
- 2.2.1 mysql基礎配置
- 2.2.1.1 用戶權限管理
- 2.2.1.2用戶資源限制
- 2.2.1.3 密碼管理
- 2.2.1.4用戶lock
- 2.2.2mysql語法詳解
- 2.2.1建庫、表語句
- 2.2.2.2 插入 insert
- 2.2.2.3更新 update
- 2.2.2.4刪除 delete
- 2.2.2.5查詢 select
- 2.2.6視圖 索引 view index
- 2.2.7 修改 alert
- 2.2.2.8清理 truncate drop
- 2.2.9重命名 rename
- 示例語句
- 2.2.3mysql常用函數
- 2.3.1 對比操作符統概
- 2.3.2對比操作符詳解
- 2.3.3邏輯操作符
- 2.2.4分配操作符
- 2.2.5流程控制函數
- 2.2.6字符串函數
- 2.2.7字符串對比函數
- 2.2.8數字函數
- 2.2.9日期和時間函數
- 2.2.10聚合/格式轉換函數
- 2.2.11 子查詢
- 示例語句
- 2.2.4 mysql 高級應用
- 2.2.4.1 存儲過程 函數
- 2.2.4.2流程控制
- 2.2.4.3游標
- 2.2.4.4觸發器
- 課堂練習
- 2.2.2.5 數據庫設計
- 2.2.5.1 數據類型
- 2.2.5.2存儲引擎
- 2.2.6Innodb內核
- 1、innodb事務和多版本控制
- 2、體系結構
- 3、InnoDB配置
- 4、buffer pool設置
- 5、其他配置
- innodb限制
- 2.7 字符集
- 2.8鎖機制和事務
- 2.8.1鎖機制
- 2.8.2事務
- 2.9分區
- 2.9.1 自動分區
- 2.10復制
- 2.11mysql搬移數據目錄
- 2.12組復制 GR
- 簡介
- 搭建
- 2.3日常運維
- 2.3.1定時任務
- 2.4mycat
- 2.4.1 報錯分析
- 2.4.2 修改字符集
- 2.11 mycat使用
- 2.5遇到問題
- 2.5.1 表名庫名忽略大小寫
- 3、PAAS平臺搭建
- 問題匯總
- 1、docker
- 2、日常運維
- 3.1 Kubernetes
- 3.1 kubernetes 高版本搭建
- 4、GlusterFS搭建
- 5、MooseFS搭建
- 5.1搭建
- 5.2運維
- 5.2.1 mfs日志解析
- 5.2.2清理mfs的垃圾數據
- 5.2.3元數據故障恢復
- 5.2.4 MFS優化
- 5.2.5 配置機架感知
- 5.2.6 客戶端工具集
- 6、集群切換命令
- 7、ntp服務
- 8、monggoDB
- 8.1搭建單機
- 2、搭建集群及分片
- 9、MariaDB Galera Cluster
- 9.1源碼安裝MariaDB
- 9.2galera cluster 優劣
- 9.3 rpm安裝mariadb
- 10 HAproxy1.7搭建
- 11、sysbench 搭建使用
- 0.5版本
- 12 percona-xtradb-cluster
- 13http服務相關
- 13.1 http狀態碼解析
- 14 zookeeper
- 14.1 zookeeper日志查看
- 14.2 配置解析
- 14.3 優化
- 15搭建私有pip源
- 16/var/log的日志文件解釋
- 15 ansible的搭建及使用
- 15.1 搭建
- 15.2 使用說明
- 16. 搭建本地yum源
- zookeeper
- 優化
- 四、開發語言
- 1、GO語言
- 1.1go簡介
- 1.1.1hello_world初識GO
- 1.1.2并發介紹
- 1.1.3 chan介紹
- 1.1.4多返回值
- 1.2go基礎
- 1.2.1數據類型
- 1.2.2 go基礎結構
- 1.2.3 const及變量介紹
- 1.2.3os和time介紹
- 1.2.4 字符串
- 1.2.5條件判斷
- 1.2.6 homework
- go--help
- 1.3 go基礎2
- 1.3.1 數組 array
- 1.3.2切片 slice
- 1.3.3 時間和日期
- 1.3.4指針類型
- 1.3.5函數
- 1.3.6可變參數
- 1.3.7 defer
- 1.3.8遞歸
- 1.9閉包
- 1.10 map
- 1.11 sort
- 1.12 struct 結構體
- 2.perl語言
- 2.1 安裝lib包
- 3 python
- 1.語言基礎
- 2、編程教學
- 2.1變量和序列
- 2.2 條件語句