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
}

 

posted @ 2020-11-07 10:39  落叶可待  阅读(161)  评论(0编辑  收藏  举报