#3 VM on Azure
#node1 10.0.0.3
#node2 10.0.0.4
#node3 10.0.0.5
apt-get update;
apt-get install default-jdk;
wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -;
echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list;
apt-get update && sudo apt-get install elasticsearch;
update-rc.d elasticsearch defaults 95 10;
apt-get install lvm2
fdisk /dev/sdc
pvcreate /dev/sdc1
pvdisplay
vgcreate VolGroup00 /dev/sdc1
vgdisplay
lvcreate -L 500GB -n lvData VolGroup00
lvdisplay
mkfs -t ext4 /dev/VolGroup00/lvData
mkdir /data
mount /dev/VolGroup00/lvData /data/
blkid
/dev/mapper/VolGroup00-lvData: UUID="b65c5a78-e078-4ca8-8119-2de94a414002" TYPE="ext4"
cat /etc/fstab
UUID=b65c5a78-e078-4ca8-8119-2de94a414002 /data auto defaults,nobootwait,nosuid,noexec,noatime,nodiratime 0 0
cat /etc/elasticsearch/elasticsearch.yml
network.host: 0.0.0.0
cluster.name: es-cluster
node.name: node?
discovery.zen.minimum_master_nodes: 1
discovery.zen.ping.timeout: 10s
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["10.0.0.3"]
index.number_of_shards: 3
index.number_of_replicas: 1
path.data: /data
mkdir /data/es-cluster
chown elasticsearch.elasticsearch /data/es-cluster
cat /usr/share/elasticsearch/bin/elasticsearch.in.sh
...
if [ "x$ES_MIN_MEM" = "x" ]; then
ES_MIN_MEM=?g
fi
if [ "x$ES_MAX_MEM" = "x" ]; then
ES_MAX_MEM=??g
fi
...
/usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head
/usr/share/elasticsearch/bin/plugin install analysis-smartcn
/usr/share/elasticsearch/bin/plugin install analysis-kuromoji
/usr/share/elasticsearch/bin/plugin list
/etc/init.d/elasticsearch start |
#3 VM on Azure
#node1 10.0.0.3
#node2 10.0.0.4
#node3 10.0.0.5
apt-get update;
apt-get install default-jdk;
wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -;
echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list;
apt-get update && sudo apt-get install elasticsearch;
update-rc.d elasticsearch defaults 95 10;
apt-get install lvm2
fdisk /dev/sdc
pvcreate /dev/sdc1
pvdisplay
vgcreate VolGroup00 /dev/sdc1
vgdisplay
lvcreate -L 500GB -n lvData VolGroup00
lvdisplay
mkfs -t ext4 /dev/VolGroup00/lvData
mkdir /data
mount /dev/VolGroup00/lvData /data/
blkid
/dev/mapper/VolGroup00-lvData: UUID="b65c5a78-e078-4ca8-8119-2de94a414002" TYPE="ext4"
cat /etc/fstab
UUID=b65c5a78-e078-4ca8-8119-2de94a414002 /data auto defaults,nobootwait,nosuid,noexec,noatime,nodiratime 0 0
cat /etc/elasticsearch/elasticsearch.yml
network.host: 0.0.0.0
cluster.name: es-cluster
node.name: node?
discovery.zen.minimum_master_nodes: 1
discovery.zen.ping.timeout: 10s
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["10.0.0.3"]
index.number_of_shards: 3
index.number_of_replicas: 1
path.data: /data
mkdir /data/es-cluster
chown elasticsearch.elasticsearch /data/es-cluster
cat /usr/share/elasticsearch/bin/elasticsearch.in.sh
...
if [ "x$ES_MIN_MEM" = "x" ]; then
ES_MIN_MEM=?g
fi
if [ "x$ES_MAX_MEM" = "x" ]; then
ES_MAX_MEM=??g
fi
...
/usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head
/usr/share/elasticsearch/bin/plugin install analysis-smartcn
/usr/share/elasticsearch/bin/plugin install analysis-kuromoji
/usr/share/elasticsearch/bin/plugin list
/etc/init.d/elasticsearch start
移动(move)
把分片从一节点移动到另一个节点,可以指定索引名和分片号。
取消(cancel)
取消分配一个分片,可以指定索引名和分片号。
node参数可以指定在那个节点取消正在分配的分片。
allow_primary参数支持取消分配主分片。
分配(allocate)
分配一个未分配的分片到指定节点,可以指定索引名和分片号。
node参数指定分配到那个节点。
allow_primary参数可以强制分配主分片,不过这样可能导致数据丢失。
curl -XPOST 'localhost:9200/_cluster/reroute' -d '{
"commands" : [ {
"move" :
{
"index" : "索引名称", "shard" : 分片号,
"from_node" : "节点名称A", "to_node" : "节点名称B"
}
},
"cancel" :
{
"index" : "索引名称", "shard" : 分片号, "node" : "节点名称"
}
},
{
"allocate" : {
"index" : "索引名称", "shard" : 分片号, "node" : "节点名称"
}
}
]
}'
curl -XPOST localhost:9200/_aliases -d '
{
"actions": [
{ "remove": {
"alias": "别名",
"index": "索引名A"
}},
{ "add": {
"alias": "别名",
"index": "索引名B"
}}
]
}
'
curl localhost:9200/_nodes/节点名称/plugins?pretty=true
curl -s localhost:9200/_cat/shards
Elasticsearch版本升级
https://www.elastic.co/guide/en/elasticsearch/reference/current/rolling-upgrades.html
1.
curl -XPUT 'http://localhost:9200/_cluster/settings' -d '{
"transient": {
"cluster.routing.allocation.enable": "none"
}
}'
2.
curl -XPOST http://localhost:9200/_flush/synced
3.
apt-get update;
apt-get --only-upgrade install elasticsearch
4.
/usr/share/elasticsearch/bin/plugin remove analysis-kuromoji;
/usr/share/elasticsearch/bin/plugin remove analysis-smartcn;
/usr/share/elasticsearch/bin/plugin remove analysis-icu;
/usr/share/elasticsearch/bin/plugin remove mobz/elasticsearch-head;
/usr/share/elasticsearch/bin/plugin install analysis-kuromoji;
/usr/share/elasticsearch/bin/plugin install analysis-smartcn;
/usr/share/elasticsearch/bin/plugin install analysis-icu;
/usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head;
5.
curl -XGET http://localhost:9200/_cat/nodes
6.
curl -XPUT 'http://localhost:9200/_cluster/settings' -d '{
"transient": {
"cluster.routing.allocation.enable": "all"
}
}'
7.
curl -XGET http://localhost:9200/_cat/health |
移动(move)
把分片从一节点移动到另一个节点,可以指定索引名和分片号。
取消(cancel)
取消分配一个分片,可以指定索引名和分片号。
node参数可以指定在那个节点取消正在分配的分片。
allow_primary参数支持取消分配主分片。
分配(allocate)
分配一个未分配的分片到指定节点,可以指定索引名和分片号。
node参数指定分配到那个节点。
allow_primary参数可以强制分配主分片,不过这样可能导致数据丢失。
curl -XPOST 'localhost:9200/_cluster/reroute' -d '{
"commands" : [ {
"move" :
{
"index" : "索引名称", "shard" : 分片号,
"from_node" : "节点名称A", "to_node" : "节点名称B"
}
},
"cancel" :
{
"index" : "索引名称", "shard" : 分片号, "node" : "节点名称"
}
},
{
"allocate" : {
"index" : "索引名称", "shard" : 分片号, "node" : "节点名称"
}
}
]
}'
curl -XPOST localhost:9200/_aliases -d '
{
"actions": [
{ "remove": {
"alias": "别名",
"index": "索引名A"
}},
{ "add": {
"alias": "别名",
"index": "索引名B"
}}
]
}
'
curl localhost:9200/_nodes/节点名称/plugins?pretty=true
curl -s localhost:9200/_cat/shards
Elasticsearch版本升级
https://www.elastic.co/guide/en/elasticsearch/reference/current/rolling-upgrades.html
1.
curl -XPUT 'http://localhost:9200/_cluster/settings' -d '{
"transient": {
"cluster.routing.allocation.enable": "none"
}
}'
2.
curl -XPOST http://localhost:9200/_flush/synced
3.
apt-get update;
apt-get --only-upgrade install elasticsearch
4.
/usr/share/elasticsearch/bin/plugin remove analysis-kuromoji;
/usr/share/elasticsearch/bin/plugin remove analysis-smartcn;
/usr/share/elasticsearch/bin/plugin remove analysis-icu;
/usr/share/elasticsearch/bin/plugin remove mobz/elasticsearch-head;
/usr/share/elasticsearch/bin/plugin install analysis-kuromoji;
/usr/share/elasticsearch/bin/plugin install analysis-smartcn;
/usr/share/elasticsearch/bin/plugin install analysis-icu;
/usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head;
5.
curl -XGET http://localhost:9200/_cat/nodes
6.
curl -XPUT 'http://localhost:9200/_cluster/settings' -d '{
"transient": {
"cluster.routing.allocation.enable": "all"
}
}'
7.
curl -XGET http://localhost:9200/_cat/health
Related Posts