配置MongoDB复制集
部署一个用于测试和开发的复制集
部署复制集
1.为每个节点建立必要的数据文件夹:
1 mkdir -p /srv/mongodb/rs0-0 /srv/mongodb/rs0-1 /srv/mongodb/rs0-2
2.通过下述命令来启动 mongod 实例:
第一个节点:
mongod --port 27017 --dbpath /srv/mongodb/rs0-0 --replSet rs0 --smallfiles --oplogSize 128 --logappend --logpath /srv/mongodb/rs0-0/mongod.log &
第二个节点:
mongod --port 27018 --dbpath /srv/mongodb/rs0-1 --replSet rs0 --smallfiles --oplogSize 128 --logappend --logpath /srv/mongodb/rs0-1/mongod.log &
第三个节点:
mongod --port 27019 --dbpath /srv/mongodb/rs0-2 --replSet rs0 --smallfiles --oplogSize 128 --logappend --logpath /srv/mongodb/rs0-2/mongod.log &
3.我们可以通过下列命令来连接到第一个实例:
mongo --port 27017
4.在 mongo 中使用 rs.initiate() 来初始化复制集。我们可以通过下列方式来设定复制集配置对象:
rsconf = {
_id: "rs0",
members: [
{
_id: 0,
host: "<hostname>:27017"
}
]
}
5.将 <hostname> 替换为我们的主机名
rs.initiate( rsconf )
6.查看复制集配置
rs.conf()
7.使用 mongo 连接到 primary,并用过 rs.add() 命令来添加第二个和第三个 mongod 实例到复制集中。 将 <hostname> 替换为我们的主机名。
rs.add("<hostname>:27018")
rs.add("<hostname>:27019")
8.通过 rs.status() 命令来检查复制集的状态。
安装Solr5.3
安装Python2.7
安装pip
安装mongo-connector
方法一:使用pip安装
1 pip install mongo-connector
安装到了ython的默认包目录下:
/usr/local/lib/python2.7/site-packages
方法二:安装为服务
1. 去https://github.com/mongodb-labs/mongo-connector/archive/master.zip下载mongo-connector-master.zip。
2. 解压缩进入目录。
unzip mongo-connector-master.zip
cd mongo-connector-master
3. 编辑配置文件。
vi config.json
4. 安装为服务。
python setup.py install_service
在/etc/init.d下创建了mongo-connector服务,并拷贝config.json文件到/etc/mongo-connector.json。
卸载mongo-connector服务
python setup.py uninstall_service
它将移除/etc/init.d/mongo-connector和/etc/mongo-connector.json
查看服务状态
service mongo-connector status
配置Solr
在Solr数据目录/data/solr/data/下有Solr配置文件solr.xml
创建core
su - solr -c "/usr/local/solr/solr/bin/solr create -c card -n data_driven_schema_configs"
生成了文件夹/data/solr/data/card,在/data/solr/data/card/conf目录下是card的配置目录,可以配置同义词、停止词。
配置solrconfig.xml
1. 确保启用了LukeRequestHandler
以下行应用出现在solrconfig.xml文件中。
<requestHandler />
2. 配置硬提交(刷新到硬盘上的频率)和软提交(提交到内存中的频率)
在solrconfig.xml文件中配置<autoCommit>和<autoSoftCommit>
<autoCommit>
<maxTime>300000</maxTime>
<maxDocs>10000</maxDocs>
<openSearcher>true</openSearcher>
</autoCommit>
<!-- softAutoCommit is like autoCommit except it causes a
'soft' commit which only ensures that changes are visible
but does not ensure that data is synced to disk. This is
faster and more near-realtime friendly than a hard commit.
-->
<autoSoftCommit>
<maxDocs>1000</maxDocs>
<maxTime>60000</maxTime>
</autoSoftCommit>
配置schema.xml
1. Mongo Connector存储元数据在每个文档中帮助处理回滚。为了支持这些数据,你需要添加如下信息到你的schema.xml中:
<field type="long" indexed="true" stored="true" />
<field type="string" indexed="true" stored="true"/>
2. 在schema.xml中配置配置<uniqueKey>、<field>
启动mongo-connector
方法一:以命令行启动
nohup sudo mongo-connector -m localhost:27019 -t :8983/solr/card -o oplog_progress.txt -n example.card -u _id -d solr_doc_manager > mongo-connector.out 2>&1
方法二:以服务启动
service mongo-connector start
Solr删除全部索引
:8983/solr/card/update/?stream.body=%3Cdelete%3E%3Cquery%3E*:*%3C/query%3E%3C/delete%3E&stream.contentType=text/xml;charset=utf-8&commit=true
更多MongoDB相关内容可以看看以下的有用链接:
CentOS 编译安装 MongoDB与mongoDB的php扩展
CentOS 6 使用 yum 安装MongoDB及服务器端配置
Ubuntu 13.04下安装MongoDB2.4.3