Mongodb在hadoop集群上的配置
1.环境准备
1)虚拟机hadoop104、hadoop105、hadoop106,hadoop-2.7.2
2)mongodb-linux-x86_64-3.4.2
2.向/etc/profile添加环境变量
export MONGODB_HOME=/opt/module/mongodb
export PATH=$PATH:$MONGODB_HOME/bin
3.新建文件夹和文件
1)在mongodb/目录下新建文件夹: mkdir logs/ data/ conf/
2)在mongodb/logs/目录下新建文件:touch mongodb.log
在mongodb/conf/目录下新建文件:touch mongodb.conf
4.编辑mongodb/mongodb.conf文件
hadoop104配置
1 #hadoo104配置 2 dbpath=/opt/module/mongodb/data #存放数据目录 3 logpath=/opt/module/mongodb/logs/mongodb.log #日志数据目录 4 pidfilepath=/opt/module/mongodb/mongodb.pid #pid文件 5 #keyFile=/opt/module/mongodb/mongodb.key #节点之间用于验证文件,内容必须保持一致,权限600,仅Replica Set 模式有效 6 directoryperdb=true #数据库是否分目录存放 7 logappend=true #日志追加方式存放 8 oplogSize=100 #设置oplog的大小(MB) 9 replSet=testdb #Replica Set的名字 10 bind_ip=123.45.67.8 #mongodb绑定的ip地址 11 port=27017 #端口 12 #auth=true #是否开启验证 13 fork=true #守护进程运行,创建进程 14 noprealloc=true #是否禁用数据文件预分配(往往影响性能) 15 journal=true #启用日志选项(将mongodb数据操作写入该文件) 16 #maxConns=4000 #最大连接数,默认2000
hadoop105配置
#hadoo105配置 dbpath=/opt/module/mongodb/data #存放数据目录 logpath=/opt/module/mongodb/logs/mongodb.log #日志数据目录 pidfilepath=/opt/module/mongodb/mongodb.pid #pid文件 #keyFile=/opt/module/mongodb/mongodb.key #节点之间用于验证文件,内容必须保持一致,权限600,仅Replica Set 模式有效 directoryperdb=true #数据库是否分目录存放 logappend=true #日志追加方式存放 oplogSize=100 #设置oplog的大小(MB) replSet=testdb #Replica Set的名字 bind_ip=123.45.67.9 #mongodb绑定的ip地址 port=27018 #端口 #auth=true #是否开启验证 fork=true #守护进程运行,创建进程 noprealloc=true #是否禁用数据文件预分配(往往影响性能) journal=true #启用日志选项(将mongodb数据操作写入该文件) #maxConns=4000 #最大连接数,默认2000
hadoop106配置
#hadoo106配置 dbpath=/opt/module/mongodb/data #存放数据目录 logpath=/opt/module/mongodb/logs/mongodb.log #日志数据目录 pidfilepath=/opt/module/mongodb/mongodb.pid #pid文件 #keyFile=/opt/module/mongodb/mongodb.key #节点之间用于验证文件,内容必须保持一致,权限600,仅Replica Set 模式有效 directoryperdb=true #数据库是否分目录存放 logappend=true #日志追加方式存放 oplogSize=100 #设置oplog的大小(MB) replSet=testdb #Replica Set的名字 bind_ip=123.45.67.10 #mongodb绑定的ip地址 port=27019 #端口 #auth=true #是否开启验证 fork=true #守护进程运行,创建进程 noprealloc=true #是否禁用数据文件预分配(往往影响性能) journal=true #启用日志选项(将mongodb数据操作写入该文件) #maxConns=4000 #最大连接数,默认2000
5.启动配置文件(三台虚拟机都需启动)
/opt/module/mongodb/bin/mongod -f /opt/module/mongodb/conf/mongodb.conf
6.配置主、备、仲裁节点(在hadoop104的mongodb/bin连接到节点)
1)连接主节点
./mongo hadoop104:27017
2)配置
cfg={ _id:"testdb", members:[ {_id:0,host:'hadoop104:27017',priority:1}, {_id:1,host:'hadoop105:27018',priority:1}, {_id:2,host:'hadoop106:27019',priority:0,arbiterOnly:true}] };
3)生效配置文件
rs.initiate(cfg)
4)查看配置状态
rs.status()
如果配置生效会包含如下信息:
{ "set" : "testdb", "date" : ISODate("2020-11-07T02:26:43.565Z"), "myState" : 1, "term" : NumberLong(13), "heartbeatIntervalMillis" : NumberLong(2000), "optimes" : { "lastCommittedOpTime" : { "ts" : Timestamp(0, 0), "t" : NumberLong(-1) }, "appliedOpTime" : { "ts" : Timestamp(1604715999, 1), "t" : NumberLong(13) }, "durableOpTime" : { "ts" : Timestamp(1604715999, 1), "t" : NumberLong(13) } }, "members" : [ { "_id" : 1, "name" : "hadoop104:27017", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", "uptime" : 1195, "optime" : { "ts" : Timestamp(1604715999, 1), "t" : NumberLong(13) }, "optimeDate" : ISODate("2020-11-07T02:26:39Z"), "electionTime" : Timestamp(1604715098, 1), "electionDate" : ISODate("2020-11-07T02:11:38Z"), "configVersion" : 1, "self" : true }, { "_id" : 2, "name" : "hadoop105:27018", "health" : 1, "state" : 3, "stateStr" : "RECOVERING", "uptime" : 909, "optime" : { "ts" : Timestamp(1603963180, 7553), "t" : NumberLong(6) }, "optimeDurable" : { "ts" : Timestamp(1603963180, 7553), "t" : NumberLong(6) }, "optimeDate" : ISODate("2020-10-29T09:19:40Z"), "optimeDurableDate" : ISODate("2020-10-29T09:19:40Z"), "lastHeartbeat" : ISODate("2020-11-07T02:26:43.139Z"), "lastHeartbeatRecv" : ISODate("2020-11-07T02:26:40.756Z"), "pingMs" : NumberLong(0), "configVersion" : 1 }, { "_id" : 3, "name" : "hadoop106:27019", "health" : 1, "state" : 7, "stateStr" : "ARBITER", "uptime" : 905, "lastHeartbeat" : ISODate("2020-11-07T02:26:43.139Z"), "lastHeartbeatRecv" : ISODate("2020-11-07T02:26:42.707Z"), "pingMs" : NumberLong(0), "configVersion" : 1 } ], "ok" : 1 }