一、确保JDK版本1.8以上
二、安装、启动es
三、遇到的启动问题
四、后台启动es
五、部署es伪集群
一、确保JDK版本1.8以上
可在Oracle官网下载jdk1.8一下linux版本的tar包,上传到服务器。
使用命令解压
tar –xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
- 设置环境变量
vi /etc/profile
#输入一下内容
JAVA_HOME=/usr/java/jdk1.8.0_172
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
- 指定tomcat jdk版本的方法
#修改tomcat/bin目录下的setclasspath.sh文件,在文件首加入
export JAVA_HOME=/usr/java/jdk1.8.0_172
export JRE_HOME=$JAVA_HOME/jre
二、安装、启动es
elasticsearch官网下在zip包,解压
-
修改配置文件elasticsearch.yml(es安装目录的/config目录下)
cluster.name
node.name
network.host(设置成0.0.0.0可在其他机器上使用ip访问该环境)
http.port
path.data
path.log
-
启动
./bin/elasticsearch
-
验证
curl -X GET 'localhost:9200'
有返回es信息说明启动成功
三、遇到的启动问题
无法使用root启动es
解决:
-
新建用户组
groupadd groupname
-
新建用户,指定用户组
useradd -g groupname username
-
将elsaticsearch目录权限赋给用户
chown -R username:groupname elsaticsearch
-
切换用户启动
su username
./bin/elasitcsearch -d
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决:
-
修改/etc/sysctl.conf 文件
vi /etc/sysctl.conf
-
增加vm.max_map_count配置
vm.max_map_count=655360
-
执行命令
sysctl -p
system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
原因: CentoOS 6 does not (as far as I can research) support SecComp, but ES tries to use it anyway, and fails to start due to bootstrap.system_call_filter: true
.
解决:The only workaround currently is to disable bootstrap.system_call_filter
#修改elasticsearch.yml文件,在bootstrap.memory_lock: false下增加配置
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
四、后台启动es
使用-d启动
./bin/elasitcsearch -d
验证是否启动
ps aux|grep elasticsearch
五、部署es伪集群
复制elasticsearch目录成elasticsearch-node1,elasticsearch-node2,elasticsearch-node3
-
分别修改config/elasticsearch.yml
cluster.name
设置一样node.name
设置不一样增加设置
node.max_local_storage_nodes: 3
http.port
设置不一样
-
分别启动
/elasitcsearch-node1/bin/elasticsearch -d
/elasitcsearch-node2/bin/elasticsearch -d
/elasitcsearch-node3/bin/elasticsearch -d
-
验证
curl -X GET 'localhost:9200/_cluster/health?pre