安装JDK

es依赖于jdk,服务器上已经安装jdk,略过

安装es

1. 下载

  1. // 创建目录
  2. cd /usr/local/
  3. mkdir es
  4. // wget下载
  5. wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.1.tar.gz
  6. // 解压
  7. tar -zxvf elasticsearch-6.4.2.tar.gz

2. 修改es配置文件elasticsearch.yml

  1. vim /usr/local/es/elasticsearch-6.6.2/config/elasticsearch.yml
  2. ------------------------------------
  3. # 集群名称
  4. cluster.name: my-es
  5. # 主机名
  6. node.name: node-1
  7. // 数据文件及日志位置
  8. path.data: /usr/local/es/elasticsearch-6.6.2/data
  9. path.logs: /usr/local/es/elasticsearch-6.6.2/logs
  10. bootstrap.memory_lock: false
  11. bootstrap.system_call_filter: false
  12. // ip
  13. network.host: 0.0.0.0
  14. // 端口号
  15. http.port: 9200
  16. ------------------------------------
  17. :wq
  18. // 创建配置的数据文件及日志文件目录
  19. cd /usr/local/es/elasticsearch-6.6.2
  20. mkdir data
  21. mkdir logs

3. 创建用户

由于Elasticsearch可以接收用户输入的脚本并且执行,为了系统安全考虑,不允许root账号启动,所以建议给Elasticsearch单独创建一个用户来运行Elasticsearch。

  1. // 创建用户test
  2. useradd test
  3. // 为test分配密码test
  4. echo "password" |passwd test --test
  5. // 为新创建的用户test分配文件权限
  6. chown -R test:test /usr/local/es/elasticsearch-6.6.2
  7. // 验证用户
  8. 1. su test
  9. 2. 输入密码
  10. 3. whoami
  11. 4. 查看输出是否是test

4. 使用test用户运行es

  1. cd /usr/local/es/elasticsearch-6.6.2/bin
  2. ./elasticsearch

./elasticsearch -d 是后台运行

5. 可能出现的错误


max file descriptors [4096] for elasticsearch process is too low

  1. max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

原因:无法创建本地文件问题,用户最大可创建文件数太小
解决方案:切到root 用户下

  1. $ vim /etc/security/limits.conf 在文件的末尾添加下面的参数值:
  2. * soft nofile 65536
  3. * hard nofile 131072
  4. * soft nproc 2048
  5. * hard nproc 4096

max virtual memory areas vm.max_map_count [65530] is too low

  1. ERROR: [1] bootstrap checks failed
  2. [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
  3. ... ...
  4. [2018-10-30T11:41:51,807][INFO ][o.e.x.m.j.p.NativeController] Native controller process has stopped - no new native processes can be started

原因:最大虚拟内存太小,需要修改系统变量的最大值。
解决方案:切换到root用户,修改配置sysctl.conf 增加配置值: vm.max_map_count=262144

  1. $ vim /etc/sysctl.conf
  2. vm.max_map_count=262144

max number of threads [1024] for user [es] likely too low

原因:无法创建本地线程问题,用户最大可创建线程数太小
解决方案:切换到root用户,进入limits.d目录下,修改90-nproc.conf 配置文件。

  1. vi /etc/security/limits.d/90-nproc.conf
  2. 找到如下内容:
  3. * soft nproc 1024
  4. #修改为
  5. * soft nproc 2048

6. 验证

本地浏览器输入服务器ip:9200
image.png