一、安装java环境,这么不说了,一般用源码安装,配置好环境变量
二、新建es用户和组,es不能用root启动
三、下载需要的稳定版es
四、解压安装es
unzip elasticsearch-5.5.2.zip mv elasticsearch-5.5.2 /opt/app/ ln -s elasticsearch-5.5.2 es chown -R es:es /opt/app/elasticsearch-5.5.2/
五、修改es配置文件
vim /opt/app/elasticsearch-5.5.2/config/elasticsearch.yml cluster.name: es_znj node.name: es_163 path.data: /data/es/ path.logs: /data/logs/es/ network.host: *.*.*.* http.port: 9200 http.cors.enabled: true http.cors.allow-origin: "*"
vim /opt/app/elasticsearch-5.5.2/config/jvm.options
-Xms2g
-Xmx2g
六、修改系统参数
vim /etc/security/limits.conf * soft nofile 65536 * hard nofile 131072 vim /etc/sysctl.conf vm.max_map_count=262144
systemctl -p
七、创建目录
mkdir /data/es/ mkdir /data/logs/es/
chown es:es /data/es
chown es:es /data/logs/es
八、使用systemd管理进程
vim /etc/systemd/system/es.service [Unit] Description=elasticsearch5 [Service] Type=simple User=es Group=es EnvironmentFile=-/etc/default/es ExecStart=/opt/app/es/bin/elasticsearch -Epath.conf=/opt/app/es/config ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=false Restart=always LimitNOFILE=655350 [Install] WantedBy=multi-user.target
vim /etc/default/es
ES_USER="es"
ES_GROUP="es"
JAVA_HOME="/opt/app/jdk"
LOG_DIR="/data/logs/es"
MAX_OPEN_FILES=655350
MAX_MAP_COUNT=262144
CONF_DIR="/opt/app/es/config"
DATA_DIR="/data/es"
九、安装ik插件
ik插件到这里下载对应es版本的,然后解压复制到es的插件目录:
unzip elasticsearch-analysis-ik-5.5.2.zip mv elasticsearch /opt/src/ mv elasticsearch analysis-ik
十、安装head插件
1.下载head插件,下载地址
mv elasticsearch-head /opt/app/ ln -s elasticsearch-head es-head
2.修改配置
修改监听地址:
head/Gruntfile.js
修改连接地址:
目录:head/_site/app.js
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";
然后在head目录中,执行npm install 下载以来的包:
npm install
这里可以用淘宝的源
npm install -g cnpm --registry=https://registry.npm.taobao.org (用这个源很快,全部安装完成)
然后npm install 这里会装上phantomjs 如果报错就安装下面的centos下:
安装yum install libXext libXrender fontconfig libfontconfig.so.1
然后再运行 npm install 直到成功装上phantomjs 没有Error
报错:
elasticsearch-head@0.0.0 license should be a valid SPDX license expression;
改license
vim package.json
"license": "Apache-2.0", license改为这个 因为要license在apache下面存在的
启动nodejs
grunt server
nginx代理限制访问权限
tips:
单节点出现Unassigned 错误,使用下面的命令,多节点就要注意排错了
curl -XPUT '10.0.10.21:9201/_settings' -d ' { "index" : { "number_of_replicas" : 0 } }'
curl -XPUT '20.0.0.125:9200/_settings' -d ' { "index" : { "number_of_replicas" : 0 } }'
上面的配置就表面没有复制,只有一个主分片,可以解决问题,下面的是针对过个节点调整
看备份数,比如只有一个节点,replicas 最多一个,两个节点,最多两个,调整节点数如下
curl -XPUT 'localhost:9200/<INDEX_NAME>/_settings' -d '{"number_of_replicas": 2}'
服务器放在线上的时候 要在外部需要做代理,同时将head和es都要代理出去: