ES单机版的安装—centos
1.Java环境安装
elasticsearch需要Java8环境。首先需要安装Java8
centos7安装Java8
# 更新源 yum update # 检查是否安装旧版本 java -version # 如果有旧的Java则移除 yum remove java-1.6.0-openjdk yum remove java-*.*.*-openjdk
前往Oracle java下载页面,根据系统下载对应版本
# 执行rpm包安装命令 rpm -ivh jdk-8u201-linux-x64.rpm # 安装完成检查jdk版本 java -version # 设置环境变量 在系统profile里新增路径。 在/etc/profile.d/路径下新建一个文件名为java.sh vim /etc/profile.d/java.sh 写入如下语句: #!/bin/bash JAVA_HOME=/usr/java/jdk1.8.0_201-amd64/ PATH=$JAVA_HOME/bin:$PATH export PATH JAVA_HOME export CLASSPATH=. # 保存并关闭文件,更改文件执行权限使之可运行: chmod +x /etc/profile.d/java.sh # 最后执行如下命令永久设置环境变量 source /etc/profile.d/java.sh
2.下载es对应版本
选择自己需要的版本,目前本人使用的是6.4.0版本的
下载好后放到非root用户的家目录或者你想要放置的目录,一般家目录即可。
# 解压es tar -zxvf elasticsearch-6.4.0.tar.gz # 修改es的配置文件elasticsearch-6.4.0/config/elasticsearch.yml cluster.name: local_es_cluster # 集群名称 node.name: local_es_node # 节点名称 path.data: /data/es_data # es数据存放位置 path.logs: /data/es_logs # es日志存放位置 network.host: 0.0.0.0 # es访问地址,0.0.0.0表示所有网址都可访问;服务器上尽量设置为内网地址 http.port: 9288 # es访问端口,默认9200,可以设置为未被占用的其他端口,这里使用9288 # 修改es的jvm配置文件:config/jvm.options -Xms2g # 初始内存值,我本地虚拟机内存4g,这里给es分配2g内存 -Xmx2g # 最大内存值 -Xss100m # 数据栈大小 # 设置完成后,启动es bin/elasticsearch # 非守护进程(后台)启动 bin/elasticsearch -d # 守护进程(后台)启动 # 浏览器访问相应的地址即可访问es,出现以下信息即为正确 $ curl 127.0.0.1:9288 { "name" : "home-node-1", "cluster_name" : "su-home-es", "cluster_uuid" : "4V6froZjSuCUujS6ZXnvUA", "version" : { "number" : "6.4.0", "build_flavor" : "default", "build_type" : "tar", "build_hash" : "595516e", "build_date" : "2018-08-17T23:18:47.308994Z", "build_snapshot" : false, "lucene_version" : "7.4.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
3.es启动问题及解决方案
1.
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
问题的解决方案:# 编辑 /etc/security/limits.conf # 在文件最后添加, 不要忘记星号 * soft nofile 65536 * hard nofile 65536 保存后重启centos
2.
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
问题的解决方案:su echo "vm.max_map_count=262144" > /etc/sysctl.conf sysctl -p
4.es分词插件—jieba的编译与应用
直接参考jieba插件GitHub仓库文档进行编译安装即可。
5.es开机启动脚本
#!/bin/sh #chkconfig: 2345 80 05 #description: elasticsearch # ES需要Java支持,所有首先设置jdk环境变量 export JAVA_HOME=/usr/java/jdk1.8.0_112 export JAVA_BIN=/usr/java/jdk1.8.0_112/bin export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME JAVA_BIN PATH CLASSPATH # 设置es安装目录环境变量 export ES_HOME=/home/susanye/elasticsearch-6.4.0 case $1 in start) su susanye<<! # 默认不支持root启动,切换到普通用户 cd $ES_HOME # 进入es安装目录 ./bin/elasticsearch -d -p pid # 以守护进程启动并保存pid信息 exit ! echo "elasticsearch is started" ;; stop) pid=`cat $ES_HOME/pid` kill -9 $pid # 获取pid进程号并kill掉 echo "elasticsearch is stopped" ;; restart) pid=`cat $ES_HOME/pid` kill -9 $pid echo "elasticsearch is stopped" sleep 1 su es<<! cd $ES_HOME ./bin/elasticsearch -d -p pid exit ! echo "elasticsearch is started" ;; *) echo "start|stop|restart" ;; esac exit 0
因为对shell脚本不够熟,具体的就不解释的。也是从别人帖子里拷贝过来的。