ElasticSearch安装(linux)
1、下载安装包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.0-linux-x86_64.tar.gz
如果没有安装wget,请先安装wget yum install -y wget
2、解压到/usr/local/fast/目录下
tar -zxvf elasticsearch-7.3.0-linux-x86_64.tar.gz -C /usr/local/fast/
3、进入/usr/local/fast/elasticsearch-7.3.0/bin,启动elasticsearch
./elasticsearch
发现报错了
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
新的版本安全级别 提高了,不允许采用root启动,我们需要添加一个新的用户。
创建elasticsearch用户组: groupadd elasticsearch
创建elasticsearch用户: useradd elasticsearch -g elasticsearch -p elasticsearch
更改 elasticsearch-7.3.0文件夹下所有文件的所属用户和组分别为elasticsearch、elasticsearch。
命令: chown -R elasticsearch:elasticsearch (chown将指定文件的拥有者,-R代表处理指定目录 以及子目录下的所有文件)
4、切换到elasticsearch用户下 su elasticearch
5、再次启动elasticsearch,启动成功了,开心。。。
6、防火墙添加9200端口策略
firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --reload
7、用浏览器访问http://192.168.117.129:9200/,发现访问不了
8、打开config/elasticsearch.yml,添加一下内容
vim config/elasticsearch.yml
network.bind_host: 0.0.0.0
http.port: 9200 // 似乎可省略
9、再次启动elasticsearch,发现报错了
ERROR: [4] bootstrap checks failed
[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
此文件修改后需要重新登录用户,才会生效
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决办法:
编辑 /etc/sysctl.conf,追加以下内容:
vm.max_map_count=655360
保存后,执行:
sysctl -p
[3]: max number of threads [2048] for user [tongtech] is too low, increase to at least [4096]
错误原因:启动检查未通过
elasticsearch用户的最大线程数太低
解决办法:
vim /etc/security/limits.d/20-nproc.conf
将2048改为4096或更大
[4]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
解决办法:
编辑config/elasticsearch.yml配置文件
cluster.initial_master_nodes: [“node-1”, “node-2”]
将这句的注释去掉,打开它。
10、重新登录elasticsearch用户,再次启动elasticsearch,终于按启动成功了
用浏览器访问成功
标题 head插件的安装(linux)
1、在https://github.com/mobz/elasticsearch-head下载elasticsearch-head-master.zip
解压elasticsearch-head-master.zip到/usr/local/fast/
2、安装node.js
- 下载node.js
wget https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-x64.tar.xz - 在/usr/local/目录下创建nodejs文件夹。
- 把node-v10.16.3-linux-x64.tar.xz解压到/usr/local/nodejs。
- 配置环境变量,编辑/etc/profile添加以下内容,然后执行source /etc/profile,我们接着就可以查看node.js的版本号了(node -v)。
NODE_HOME=/usr/local/nodejs/node-v4.4.7-linux-x64
PATH= P A T H : PATH: PATH:NODE_HOME/bin
NODE_PATH=$NODE_HOME/lib/node_modules
export NODE_HOME PATH NODE_PATH
3、安装grunt(grunt是基于Node.js的项目构建工具,可以进行打包压缩、测试、执行等等工作,elasticsearch-head插件就是通过grunt启动的)。进入/usr/local/fast/elasticsearch-head-master/目录下进行安装。
npm install -g grunt-cli
安装完毕,我们可以检查是否安装成功。
grunt -v
- 修改elasticsearch-head-master文件下的Gruntfile.js文件,在conneect中添加一行"hostname: ‘0.0.0.0’,"
4、在elasticsearch-head-master目录下安装head
npm install
-
发现安装太慢了,我们将npm换一个镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org -
再来安装elasticsearch-head-master.我们用cnpm代替npm
cnpm install
安装完毕后,会生成一个node_modules文件夹。 -
我们还要修改elasticsearch.yml,添加如下内容
http.cors.enabled: true
http.cors.allow-origin: “*”
5、运行elasticsearch-head
grunt server
6、打开防火墙㐰
firewall-cmd --zone=public --add-port=9100/tcp --permanent
firewall-cmd --reload
7、用浏览器访问http://192.168.117.129:9100/