1、在linux安装ES时下载的是7.10.2版本的。
一、修改conf下的 elasticsearch.yml 配置文件
定位到network #network.host: 192.168.0.1位置,在下面增加一行:
network.host: 0.0.0.0 代表允许任何网段进行访问
接着我便进入bin目录,执行./elasticsearch -d 命令 运行ES,出现了以下错误:
原因在于elasticsearch 不允许使用root用户登录, 因此需要创建一个用户并将
elasticsearch 的所有者和所在组改为创建的用户。
修改文件所在者
二、创建修改完成后,进入bin目录 执行./elasticsearch -d 命令 运行ES,结果又有错误
问题: max file descriptors [4096] for elasticsearch process is too low,
原因在于每个进程最大同时打开文件数太小
查看当前系统同时打开进程数的默认值:
ulimit -Hn
ulimit -Sn
解决办法修改 /etc/security/limits.conf 配置文件
vi /etc/security/limits.conf
在文件最后,添加以下配置:
- hard nofile 131072
- soft nofile 65536
- soft nproc 4096
- hard nproc 4096
三、再次运行 发现还有问题:
原因在于elasticsearch用户拥有的内存权限太小,至少需要262144
解决办法 修改/etc/sysctl.conf
在文件最后一行添加:
vm.max_map_count=655360
添加完毕后,执行命令:
sysctl -p 让配置生效
四、再次运行,出现以下警告:
这个警告代表,jak版本太低,我使用的是jdk8,而Elasticsearch7.10.2推荐使用的是jdk11。但这并不影响我们的正常使用。
我们可以输入 ps -ef|grep elastic 查看Elasticsearch使用正常运行
看见有9200和9300就代表运行安装成功。
然后我们可以访问192.168.200.130:9200,在访问前先确保防火墙是否关闭,或者是否开启了该端口
五、若启动Elasticsearch出现 node.lock错误:
代表之前启动的ES没有正常退出,导致节点锁定。
解决方案:找出之前ES进程,强行kill掉
2、安装ik分词器
安装ik分词器的版本要与安装Elasticsearch的版本一致。
我们在Elasticsearch下的plugins目录创建ik文件夹
mkdir ik
接着将ik分词器在ik文件夹中进行解压
重启Elasticsearch,在 logs/elasticsearch.log打印日记中可以看见ik分词器安装成功
3、安装Elasticsearch-head,该插件我安装在windows上,改插件可以用于查看Elasticsearch存储的索引和查询的结果。
下载的版本也要对应
一、将文件解压后,进入文件打开命令行 输入cnpm install 下载依赖:
cnpm为镜像下载依赖比较快,但是我的系统不认cnpm命令,因此我使用的是npm 下载
二、查看下载的依赖
接着输入命令:npm run start运行
但是出现了端口被占用情况,找到这个文件夹进行修改
修改完成后运行成功:
进入这个页面
192.168.200.130:9200 为ElasticSearch的连接地址,但是我的连接一直失败,原因在于:
一、跨域问题:
解决办法修改 ElasticSearch文件的config目录下的 elasticsearch.yml 配置文件
在最后面添加上:
http.cors.enabled: true
http.cors.allow-origin: “*”
解决ElasticSearch与ElasticSearch-head连接时的跨域问题
二、集群问题:
ERROR: [1] bootstrap checks failed
[1]: 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
配置以下三者,最少其一 #[discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes]
(一)解决办法设置节点:
(二)设置发现节点
原因ElasticSearch必须要有一个节点,名称要一致。
设置完成后,ElasticSearch与ElasticSearch-head的连接就成功啦!
4、linux安装kibana 这个插件可以用来进行可视化数据。版本也要一致。
解压后,修改conf/kibana.yml配置文件:
另外kibana还可以设置中文汉化,在配置文件末尾添加
i18n.locale: “zh-CN”
运行完成后,进入bin目录 执行./kibana 命令运行
代表运行成功,访问成功页面