mirror of https://gitee.com/bigwinds/arangodb
Merge branch 'devel' of https://github.com/arangodb/arangodb into generic-col-types
This commit is contained in:
commit
b76bf9b3fb
|
@ -488,7 +488,6 @@ else ()
|
|||
|
||||
list(APPEND V8_GYP_ARGS
|
||||
-Ibuild/standalone.gypi
|
||||
-Dv8_use_snapshot=true
|
||||
-Dmac_deployment_target=${CMAKE_OSX_DEPLOYMENT_TARGET}
|
||||
--depth=.
|
||||
-Dstandalone_static_library=1
|
||||
|
@ -498,6 +497,13 @@ else ()
|
|||
-Dwerror=
|
||||
)
|
||||
|
||||
if (CROSS_COMPILING)
|
||||
list(APPEND V8_GYP_ARGS -Dv8_use_snapshot=false )
|
||||
# dependenis 'v8_libbase' and 'v8_libplatform' need be added in v8.gyp (under 'v8_use_snapshot!="true"')
|
||||
else ()
|
||||
list(APPEND V8_GYP_ARGS -Dv8_use_snapshot=true )
|
||||
endif()
|
||||
|
||||
if (APPLE AND CMAKE_COMPILER_IS_CLANG)
|
||||
set(V8_CXXFLAGS "${V8_CXXFLAGS} -stdlib=libc++")
|
||||
set(V8_LDFLAGS "${V8_LDFLAGS} -stdlib=libc++")
|
||||
|
|
|
@ -110,7 +110,7 @@
|
|||
# The dependency on v8_base should come from a transitive
|
||||
# dependency however the Android toolchain requires libv8_base.a
|
||||
# to appear before libv8_snapshot.a so it's listed explicitly.
|
||||
'dependencies': ['v8_base', 'v8_nosnapshot'],
|
||||
'dependencies': ['v8_base', 'v8_nosnapshot', 'v8_libbase', 'v8_libplatform'],
|
||||
}],
|
||||
['v8_use_snapshot=="true" and v8_use_external_startup_data==0', {
|
||||
# The dependency on v8_base should come from a transitive
|
||||
|
|
|
@ -17,34 +17,34 @@ then the commands you have to use are (you can use host names if they can be res
|
|||
On 192.168.1.1:
|
||||
|
||||
```
|
||||
build/bin/arangod --server.endpoint tcp://0.0.0.0:5001 --server.authentication false --agency.id 0 --agency.size 3 --agency.supervision true agency1 &
|
||||
arangod --server.endpoint tcp://0.0.0.0:5001 --server.authentication false --agency.id 0 --agency.size 3 --agency.supervision true --database.directory agency1 &
|
||||
```
|
||||
|
||||
On 192.168.1.2:
|
||||
|
||||
```
|
||||
build/bin/arangod --server.endpoint tcp://0.0.0.0:5002 --server.authentication false --agency.id 1 --agency.size 3 --agency.supervision true agency2 &
|
||||
arangod --server.endpoint tcp://0.0.0.0:5002 --server.authentication false --agency.id 1 --agency.size 3 --agency.supervision true --database.directory agency2 &
|
||||
```
|
||||
|
||||
On 192.168.1.3:
|
||||
|
||||
```
|
||||
build/bin/arangod --server.endpoint tcp://0.0.0.0:5003 --server.authentication false --agency.id 2 --agency.size 3 --agency.endpoint tcp://192.168.1.1:5001 --agency.endpoint tcp://192.168.1.2:5002 --agency.endpoint tcp://192.168.1.3:5003 --agency.notify true --agency.supervision true agency3 &
|
||||
arangod --server.endpoint tcp://0.0.0.0:5003 --server.authentication false --agency.id 2 --agency.size 3 --agency.endpoint tcp://192.168.1.1:5001 --agency.endpoint tcp://192.168.1.2:5002 --agency.endpoint tcp://192.168.1.3:5003 --agency.notify true --agency.supervision true --database.directory agency3 &
|
||||
```
|
||||
|
||||
On 192.168.1.1:
|
||||
```
|
||||
build/bin/arangod --server.authentication=false --server.endpoint tcp://0.0.0.0:8529 --cluster.my-address tcp://192.168.1.1:8529 --cluster.my-local-info db1 --cluster.my-role PRIMARY --cluster.agency-endpoint tcp://192.168.1.1:5001 --cluster.agency-endpoint tcp://192.168.1.2:5002 --cluster.agency-endpoint tcp://192.168.1.3:5003 primary1 &
|
||||
arangod --server.authentication=false --server.endpoint tcp://0.0.0.0:8529 --cluster.my-address tcp://192.168.1.1:8529 --cluster.my-local-info db1 --cluster.my-role PRIMARY --cluster.agency-endpoint tcp://192.168.1.1:5001 --cluster.agency-endpoint tcp://192.168.1.2:5002 --cluster.agency-endpoint tcp://192.168.1.3:5003 --database.directory primary1 &
|
||||
```
|
||||
|
||||
On 192.168.1.2:
|
||||
```
|
||||
build/bin/arangod --server.authentication=false --server.endpoint tcp://0.0.0.0:8530 --cluster.my-address tcp://192.168.1.2:8530 --cluster.my-local-info db2 --cluster.my-role PRIMARY --cluster.agency-endpoint tcp://192.168.1.1:5001 --cluster.agency-endpoint tcp://192.168.1.2:5002 --cluster.agency-endpoint tcp://192.168.1.3:5003 primary2 &
|
||||
arangod --server.authentication=false --server.endpoint tcp://0.0.0.0:8530 --cluster.my-address tcp://192.168.1.2:8530 --cluster.my-local-info db2 --cluster.my-role PRIMARY --cluster.agency-endpoint tcp://192.168.1.1:5001 --cluster.agency-endpoint tcp://192.168.1.2:5002 --cluster.agency-endpoint tcp://192.168.1.3:5003 --database.directory primary2 &
|
||||
```
|
||||
|
||||
On 192.168.1.3:
|
||||
```
|
||||
build/bin/arangod --server.authentication=false --server.endpoint tcp://0.0.0.0:8531 --cluster.my-address tcp://192.168.1.3:8531 --cluster.my-local-info coord1 --cluster.my-role COORDINATOR --cluster.agency-endpoint tcp://192.168.1.1:5001 --cluster.agency-endpoint tcp://192.168.1.2:5002 --cluster.agency-endpoint tcp://192.168.1.3:5003 coordinator &
|
||||
arangod --server.authentication=false --server.endpoint tcp://0.0.0.0:8531 --cluster.my-address tcp://192.168.1.3:8531 --cluster.my-local-info coord1 --cluster.my-role COORDINATOR --cluster.agency-endpoint tcp://192.168.1.1:5001 --cluster.agency-endpoint tcp://192.168.1.2:5002 --cluster.agency-endpoint tcp://192.168.1.3:5003 --database.directory coordinator &
|
||||
```
|
||||
|
||||
Obviously, it would no longer be necessary to use different port numbers on different servers. We have chosen to keep all port numbers in comparison to the local setup to minimize the necessary changes.
|
||||
|
@ -53,11 +53,11 @@ If you want to setup secondaries, the following commands will do the job:
|
|||
|
||||
On 192.168.1.2:
|
||||
|
||||
curl -f -X PUT --data '{"primary": "DBServer001", "oldSecondary": "none", "newSecondary": "Secondary001"}' -H "Content-Type: application/json" http://192.168.1.3:8531/_admin/cluster/replaceSecondary && arangod --server.authentication=false --server.endpoint tcp://0.0.0.0:8629 --cluster.my-id Secondary001 --cluster.my-address tcp://192.168.1.2:8629 --cluster.agency-endpoint tcp://192.168.1.1:5001 --cluster.agency-endpoint tcp://192.168.1.2:5002 --cluster.agency-endpoint tcp://192.168.1.3:5003 secondary1 &
|
||||
curl -f -X PUT --data '{"primary": "DBServer001", "oldSecondary": "none", "newSecondary": "Secondary001"}' -H "Content-Type: application/json" http://192.168.1.3:8531/_admin/cluster/replaceSecondary && arangod --server.authentication=false --server.endpoint tcp://0.0.0.0:8629 --cluster.my-id Secondary001 --cluster.my-address tcp://192.168.1.2:8629 --cluster.agency-endpoint tcp://192.168.1.1:5001 --cluster.agency-endpoint tcp://192.168.1.2:5002 --cluster.agency-endpoint tcp://192.168.1.3:5003 --database.directory secondary1 &
|
||||
|
||||
On 192.168.1.1:
|
||||
|
||||
curl -f -X PUT --data '{"primary": "DBServer002", "oldSecondary": "none", "newSecondary": "Secondary002"}' -H "Content-Type: application/json" http://localhost:8531/_admin/cluster/replaceSecondary && arangod --server.authentication=false --server.endpoint tcp://0.0.0.0:8630 --cluster.my-id Secondary002 --cluster.my-address tcp://192.168.1.1:8630 --cluster.agency-endpoint tcp://192.168.1.1:5001 --cluster.agency-endpoint tcp://192.168.1.2:5002 --cluster.agency-endpoint tcp://192.168.1.3:5003 secondary2 &
|
||||
curl -f -X PUT --data '{"primary": "DBServer002", "oldSecondary": "none", "newSecondary": "Secondary002"}' -H "Content-Type: application/json" http://localhost:8531/_admin/cluster/replaceSecondary && arangod --server.authentication=false --server.endpoint tcp://0.0.0.0:8630 --cluster.my-id Secondary002 --cluster.my-address tcp://192.168.1.1:8630 --cluster.agency-endpoint tcp://192.168.1.1:5001 --cluster.agency-endpoint tcp://192.168.1.2:5002 --cluster.agency-endpoint tcp://192.168.1.3:5003 --database.directory secondary2 &
|
||||
|
||||
Note that we have started the `Secondary002` on the same machine as `DBServer001` and `Secondary001` on the same machine as `DBServer002` to avoid that a complete pair is lost when a machine fails. Furthermore, note that ArangoDB does not yet perform automatic failover to the secondary, if a primary fails. This only works in the Apache Mesos setting. For synchronous replication, automatic failover always works and you do not need to setup secondaries for this.
|
||||
|
||||
|
|
Loading…
Reference in New Issue