CentOS6.6 X86_64
wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.3.tar.gz
官方安装文档
增加用户
useradd elasticsearch
passwd elasticsearch
移动文件到用户主目录
mv elasticsearch-1.7.3.tar.gz ~elasticsearch/
chown elasticsearch:elasticsearch ~elasticsearch/elasticsearch-1.7.3.tar.gz
切换用户,解压安装文件
su - elasticsearch
tar -xf elasticsearch-1.7.3.tar.gz
mv elasticsearch-1.7.3 elasticsearch173_01
配置文件elasticsearch.yml位于ES_HOME/config/下的,还有一个logging.yml是日志配置文件
列举一些常用的参数:
注意配置一般是 [配置名称][:][空格][配置值],特别注意那个空格
cluster.name: elasticsearch
集群名称,改为peteccElasticsearch
node.name: "Franz Kafka"
节点名称,根据实际修改,如node01,nodeMaster,nodeDate01等等
node.master: true
node.data: true
是否是master节点,是否是data节点,根据实际情况调整组合。例如
workhorse:
node.master: false
node.data: true
coordinator:
node.master: true
node.data: false
search load balancer:
node.master: false
node.data: false
index.number_of_shards: 5
索引默认分片数,一量创建无法修改。
index.number_of_replicas: 1
索引分片备份数,后期可以调整。备份版总数为 index.number_of_shards*index.number_of_replicas
index.refresh_interval: 1s
索引刷新间隔,默认1s,设置成-1禁用。
这个值在2.0版本变成了1毫秒,所以请大家注意程序版本。
path.data=${ES_HOME}/data
索引数据存储目录,请修改为实际路径,注意有操作权限。如果有多块磁盘,可以利用条带化特性,配置多个路径,如
path.data: /path/to/data1,/path/to/data2
network.host: 192.168.0.1
绑定主机,默认是0.0.0.0,绑定所有网卡
transport.tcp.port: 9300
节点通信端口
http.port: 9200
http端口
http.max_content_length: 100mb
http内容长度
http.enabled: false
禁用http,改为true,data节点可以禁用http
indices.recovery.max_bytes_per_sec: 20mb
恢复时的吞吐量,如果是ssd磁盘,请增大此项。
discovery.zen.minimum_master_nodes = N
集群发现时,最小master节点数,设置为所有(master节点+1)/2,防止脑裂。如master节点数10,我们可以设置为6。
script.inline: on
是否启用script,业务有需要则启用。
action.auto_create_index: false
自动创建索引
1.文件描述符
vim /etc/security/limits.conf添加
* soft nofile 655350
* hard nofile 655350
退出当前用户重新login就会生效,使用ulimit -n验证下。
2.最大内存映射区数量,禁用swap交换分区
vim /etc/sysctl.conf增加
vm.max_map_count=262144
vm.swappiness=1
修改完成后sysctl -p
ES_HOME的bin目录下有一个elasticsearch.in.sh文件,修改
ES_MIN_MEM=256m
ES_MAX_MEM=1g
为合适的值
cd ${ES_HOME}/bin
安装head插件
./plugin -install mobz/elasticsearch-head
访问地址 http://localhost:9200/_plugin/head/
安装elasticsearch-HQ插件
./plugin -install royrusso/elasticsearch-HQ
访问地址 http://localhost:9200/_plugin/HQ/
安装bigdesk插件
./plugin -install lukas-vlcek/bigdesk
安装完成后重启下。
说明:
如果没有网,可以先下载插件包,后放到${ES_HOME}/plugins目录下,解压出来。还可以本地安装
plugin -install lukas-vlcek/bigdesk -url file:///tmp/xxxxx.zip
如果要移除插件,可以执行
plugin -remove lukas-vlcek/bigdesk
是否需要插件,请综合master节点,data节点考量。
前台运行
bin/elasticsearch
后台运行
bin/elasticsearch -d
验证下
curl -X GET http://localhost:9200/
会出现类似如下输出,则启动成功。
{
"status" : 200,
"name" : "es_01",
"cluster_name" : "petecc_elasticsearch",
"version" : {
"number" : "1.6.0",
"build_hash" : "cdd3ac4dde4f69524ec0a14de3828cb95bbb86d0",
"build_timestamp" : "2015-06-09T13:36:34Z",
"build_snapshot" : false,
"lucene_version" : "4.10.4"
},
"tagline" : "You Know, for Search"
}
如果要集群安装,设置 cluster.name为一样的,设置各个节点不同的node.name,在局域网中,默认通过zen多播自动发现,组成集群。
相关参数,ip,端口请根据实际情况调整。