JDK8
做个记录,以防以后忘记能够查看。
1.elastic是java编写的,先搭建运行环境,6.6.2版本必须要jdk8以上版本才可运行,先官网下载jdk,上传服务器
https://www.oracle.com/technetwork/java/javase/downloads/index.html
2.yum安装一些常用的编译器和工具
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel vim ntsysv
3.安装jdk
rpm -ivh jdk-8u192-linux-x64.rpm
4.查看是否安装成功
[root@admin software]# java -version
java version "1.8.0_192"
Java(TM) SE Runtime Environment (build 1.8.0_192-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode)
Elasticsearch
传送门
https://www.elastic.co/downloads/elasticsearch
5.解压elastic
tar -xvf elasticsearch-6.6.2.tar.gz
6.elastic对权限有严格控制,不能有root启动,先添加一个用户
useradd es
chown -R es:es elasticsearch-6.6.2 --拥有者
chmod 770 elasticsearch-6.6.2 --权限
7.切换用户
su es
8.切换目录
cd elasticsearch-6.6.2/bin
./elasticsearc
9.启动发现一个错误
这是因为虚拟内存不足,我们到elasticsearch的config下修改为
保存启动
我们验证一下,克隆一个窗口。
[root@admin ~]# curl "localhost:9200"
出现elastic的信息,证明我们成功了
10.这仅仅只能服务器内网访问,要想浏览器也能访问,必须修改elastic配置,Ctrl+C停止运行的elastic
vi ../config/elasticsearch.yml
11.重新启动,竟然报错了,我们一个一个解决
第一是进程打开文件数太小了,第二个是线程数量太小,第三是内存数量太小,第四个是说拦截安装,这是因centos6不支持secComp,检测失败。因为我是虚拟机安装的,发现自己只给虚拟机1g内存,线程数肯定是不够的,先关闭虚拟机,提高虚拟机硬件配置,内存调为2048m,重新启动虚拟机。
[root@admin ~]# vi /etc/security/limits.conf
添加
* soft nofile 65536 * hard nofile 65536 * soft nproc 4096 * hard nproc 4096
[root@admin limits.d]# vi /etc/security/limits.d/90-nproc.conf
修改为
编辑 /etc/sysctl.conf,追加以下内容:
vm.max_map_count=655360
解决最后一个问题
[root@admin config]# vi elasticsearch.yml
全部完成后,切换用户,启动elastic。记得在访问时先关闭防火墙,浏览器访问
给大家推荐一个elastic超好用的工具======>elasticsearch-head,传送门
https://files.cnblogs.com/files/dslx/chromeFOR.COM_elasticsearch-head_v0.1.3.zip
es分布式搭建
配置elasticsearch.yml
#允许跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*" #集群名字
cluster.name: huangweicheng
#这个节点的名称
node.name: master
#告诉这个节点,他就指挥官,master
node.master: true
启动,看节点能不能正常启动
正常启动,可以看到他的节点名字已经变成我们命名的,现在我们部署另外两个节点
创建一个文件夹专门存储随从节点,两个节点一人一个文件夹
mkdir es_slave
将elasticsearch6.6.2复制两份到这个文件夹下
现在修改下两个节点的 elasticsearch.yml
bootstrap.memory_lock: false
bootstrap.system_call_filter: false network.host: 10.105.9.119
http.port: cluster.name: huangweicheng
node.name: slave1 discovery.zen.ping.unicast.hosts: ["10.105.9.119"]
记得端口号一定要不同,把两个文件夹的拥有者改为 es,然后分别启动。
搭建完成。。。。