Elasticsearch 安装操作手册

第一部分 ES安装环境的准备和初始化

现在较新的版本Elasticsearch 5.6.3 官方建议安装Oracle的JDK8,安装前先检查机器是否已安装JDK。

Step 1 检查环境机器是否已安装JDK

rpm -qa | grep -E '^open[jre|jdk]|j[re|dk]'

如果有的话,卸载掉,可以使用rpm -qa | grep java | xargs rpm -e --nodeps 批量卸载所有带有Java的文件,然后进行重新安装。

Step 2 下载新的JDK

下载网址:

wget --no-check-certificate --no-cookies \

     --header "Cookie: oraclelicense=accept-securebackup-cookie" \

     http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe78cdb6d0/jdk-8u152-linux-x64.tar.gz

step 3 解压安装JDK

直接解压 tar -zxvf jdk-8u152-linux-x64.tar.gz 

配置环境变量

vi /etc/profile 

添加如下内容,并保存:

# set java environment

export JAVA_HOME=/data/Elasticsearch/jdk1.8.0_152

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:${PATH}

保存后运行 source /etc/profile  使环境变量生效

Step 4 验证安装环境是否成功

输入 java -version 确认是否安装成功,显示如下信息,说明先版本安装成功

 

第二部分 安装ES

Step 1 进入ES官网,选择合适的版本网址,进行下载

  以下是5.6.3 版本的网址

wget  https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.3.tar.gz

step 2 解压缩下载文件

tar -zxvf elasticsearch-5.6.3.tar.gz

step 3 添加启动账号

ES 使用root账号启动,会报以下错误

[WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]

org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

新建账号

useradd estest  --添加账号

chown -R estest:estest elasticsearch-5.6.3 --为新增账号赋予文档目录的权限

su estest      ---切换账号

step 4 启动ES

在新建的账号estest下启动ES。

在ES 的bin 文件所在的目录下执行以下命令即可

./elasticsearch -d

 

Step 5 验证 ES 是否正常启动

方法1. curl http://localhost:9200/ 检查,显示以下信息证明已启动OK。

 

方法 2. 查看ES log

第三部分 启用远程IP 访问

Elasticsearch 默认是rest-api的端口是9200,不支持IP地址,只能在本机使用http://localhost:9200 来访问,如果需要完成访问,还需进行以下配置。

Step 1 修改elasticsearch.yml 文件中的network.host 和 http.port 参数

去除文件中network.host 和 http.port 参数前面的注释(#),且将network.host 的IP地址修改为本地的IP地址。

Step 2 .编辑/etc/security/limits.conf 文档,在文档中添加以下参数

* soft nofile 65536

* hard nofile 131072

此参数不要解决以下错误:

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

需要退出当前用户,再次登录才能生效。

Step 3 . 编辑vim /etc/sysctl.conf  文档,在文档中添加以下参数

vm.max_map_count=655360

编辑保存后并执行命令: sysctl -p

此操作主要是解决以下问题

 max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

Step 4. 验证服务是否正常启动

本机测试OK

远程主机网页http测试OK

 第四部分 数据批量写入慢

ES 配置优化

     *适当提高刷盘时间 

     *优化bulk队列大小

     *提高内存buffer大小

ID生成策略

     *使用ES ID 生成策略替代Segment ID,避开数据校验,查询时再校验。

客户端优化

     *批量大小发送 优于 批量条数发送

     *提高并发写入线程数

 

posted @ 2018-11-11 04:15  东山絮柳仔  阅读(877)  评论(0编辑  收藏  举报