1.下载地址
https://www.elastic.co/downloads/elasticsearch
wget https://www.elastic.co/downloads/elasticsearch
2.解压
3.启动
- 到 安装目录的bin目录下面 运行:
./bin/elasticsearch -d # 添加-d参数以后台启动的方式运行
如果是root用户启动的时候会报出:can not run elasticsearch as root;此时需要切换用户,步骤如下:
adduser addadm #添加登陆用户
passwd appadm #给该账号设置登陆密码(niejian123)
chown -R appadm /usr/local/software/elasticsearch/elasticsearch-6.5.4 #给该账号赋予操作elasticsearch目录的权限
- 测试是否启动成功
#在新开的终端中运行如下命令
curl 'http://localhost:9200/?pretty'
返回结果:
{
"name" : "uNTMdYN",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "Ty-HHNSaRky1SXMTwP7NmQ",
"version" : {
"number" : "6.5.4",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "d2ef93d",
"build_date" : "2018-12-17T21:17:40.758843Z",
"build_snapshot" : false,
"lucene_version" : "7.5.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
这就表明已经启动成功一个节点了;
单个 节点 可以作为一个运行中的 Elasticsearch 的实例。** 而一个 集群 是一组拥有相同 cluster.name 的节点 ** 他们能一起工作并共享数据,还提供容错与可伸缩性。(当然,一个单独的节点也可以组成一个集群) 你可以在 elasticsearch.yml 配置文件中 修改 cluster.name ,该文件会在节点启动时加载 (译者注:这个重启服务后才会生效)。 关于上面的 cluster.name 以及其它 Important Configuration Changes 信息, 你可以在这本书后面提供的生产部署章节找到更多。
又有虚拟机内存大小的限制,将elasticsearch启动大小改为:
xms:256M
xmx: 512M
- 开启远程访问:
- 修改elasticsearch.yml文件
#开启外网访问 network.host: 0.0.0.0
- 启动
发现报错:报错信息如下:
[1]: initial heap size [268435456] not equal to maximum heap size [536870912]; this can cause resize pauses and prevents mlockall from locking the entire heap
解决方法,将xms,xmx调整到512M
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]bash vi /etc/sysctl.conf vm.max_map_count=655360 sysctl -p
重启即可,这样就能实现远程访问
4.安装Sense(浏览器方式访问)
- 1.首先安装kibana
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.5.4-linux-x86_64.tar.gz
2.安装sense
官网的方式已经不行了,需要运行如下命令:
./bin/kibana --plugins --install elastic/sense
5.使用
- 语法
curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'
- 使用实例:
- 存值:
curl -H "Content-Type: application/json" -i -XPUT 'localhost:9200/user/adduser/1' -d '
{
"first_name" : "John",
"last_name" : "Smith",
"age" : 25,
"about" : "I love to go rock climbing",
"interests": [ "sports", "music" ]
}
'
- 取值:
curl -XGET 'http://localhost:9200/user/adduser/1'
返回结果:
{"_index":"user","_type":"adduser","_id":"1","_version":1,"found":true,"_source":
{
"first_name" : "John",
"last_name" : "Smith",
"age" : 25,
"about" : "I love to go rock climbing",
"interests": [ "sports", "music" ]
}
}