elasticsearch服务的安装设置

安装jdk

rpm -ivh jdk-11_linux-x64_bin.rpm

安装elasticsearch

tar zxvf elasticsearch-6.5.0.tar.gz
#不要解压到/root 目录下  本次演示解压到根目录

启动 elasticsearch

cd elasticsearch-6.5.0/bin
./elasticsearch

启动时可能会出现 can not run elasticsearch as root
创建用户

 useradd elastic
 passwd  elastic

更改目录的所有者和组 切换到 elasticsearch-6.5.0目录的外层执行

 chown elastic:elastic -R elasticsearch-6.5.0

切换用户 su elastic
然后再进入bin目录执行

./elasticsearch

因为启动时没有使用 -d参数 所以需要再开启一个终端 查看是否存在9200端口 netstat -tnl
如果有9200端口说明启动成功

配置外网访问
次改config/ elasticsearch.yml
修改:#network.host: 127.0.0.1 的值为network.host: 0.0.0.0 注意:network.host:和0.0.0.0之间有一个空格,否则可能无法启动

切换用户 执行启动命令(没有配置成功之前最好不要执行后台启动的命令)

 /elasticsearch-6.5.0/bin/elasticsearch

解决类似max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
编辑 /etc/security/limits.conf
在文件最后添加/修改

  • soft nofile 65536
  • hard nofile 65536
    解决类似max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
    切换到root用户修改配置sysctl.conf
    vi /etc/sysctl.conf
    添加vm.max_map_count=655360
    然后执行sysctl -p
    然后再启动 如果仍然提示相同的错误 可以重启系统后再启动
    如果存在9200端口并且通过http://ip:9200访问时返回json格式的数据 则说明启动成功

测试:
restful api
创建索引 请求方式PUT 请求url http://ip:9200/索引名/类型名/id值 例如http://192.168.8.115:9200/user/test/1
请求的数据格式为json 例如

{
    "user" : "kimchy",
    "post_date" : "2009-11-15T14:12:12",
    "message" : "trying out Elasticsearch"
}

可以使用postman测试
获取数据 使用GET方式 请求url http://ip:9200/索引名/类型名/id值 例如http://192.168.8.115:9200/user/test/1
删除 使用DELETE方式 请求地址相同
搜索
POST方法 http://ip:9200/索引名/_search
请求数据为json格式 例如

{
  "query": {
  		"match": {     
  			"message": "大箱子"  
  		}
  }
}

或者

{
    "query": {
        "bool" : {
            "must" : {
                "query_string" : {
                    "query" : "trying"
                }
            },
            "filter" : {
                "term" : { "user" : "kimchy" }
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_43184152/article/details/84430493