目录
[linux 安装包安装](#linux 安装包安装)
[docker 安装](#docker 安装)
You Know, for Search
linux 安装包安装
不能解压到root目录下, 如果已经在root下, 可以使用 mv移到 /opt/下
tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz
前置条件修改
elastic不能直接通过root用户启动(报错后面有),需要先创建一个普通用户
#创建用户
useradd user_es;
#设置密码
passwd user_es;

授权给新建用户
chown -R user_es /opt/elasticsearch-7.8.0
#用户+组 chown -R user_es:user_es /opt/elasticsearch-7.8.0

设置sudo权限
#使用root用户执行
visudo
或者 vim /etc/sudoers
#在root ALL=(ALL) ALL下面新增
user_es ALL=(ALL) ALL

修改普通用户打开文件次数限制
#编辑limits.conf文件
vi /etc/security/limits.conf
#添加以下内容
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
普通用户启动线程数限制
Centos6
vi /etc/security/limits.d/90‐nproc.conf
Centos7
vi /etc/security/limits.d/20‐nproc.conf
#添加以下内容
* soft nproc 4096
普通用户增大虚拟内存
vi /etc/sysctl.conf
#添加以下内容:
vm.max_map_count=262144
#保存后执行sysctl -p让配置生效
sysctl -p
执行完成后,重新打开终端。
修改配置
切换到普通用户user_es,修改elasticsearch.yml
su user_es
集群配置:#集群名称
cluster.name: my-application
#节点名称
node.name: node-1 # 必须
#数据文件目录
path.data: ./data
#日志文件目录
path.logs: ./logs
#运行访问的网络,0.0.0.0表示任意ip都匹配,这样可以远程访问
network.host: 0.0.0.0# 必须
#http rest服务端口
http.port: 9200
#集群初始master选举节点
cluster.initial_master_nodes: "node-1" # 必须
单机配置单机启动 关键配置,最后一行
discovery.type: single-node
#运行访问的网络,0.0.0.0表示任意ip都匹配,这样可以远程访问
network.host: 0.0.0.0

启动
#进入到bin目录(注意,不能使用root用户启动)
./elasticsearch -d

必须使用非root启动
su user_es

访问是否启动成功
浏览器访问
ip:9200
ps -ef | grep es
集群:

单机:

docker 安装
拉取镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.8.0
运行容器
docker run -p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-d --name elasticsearch \


查看日志

内存不够用了,调整一下内存参数:
# 运行容器
docker run -p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-d --name elasticsearch \
docker.elastic.co/elasticsearch/elasticsearch:7.8.0


安装IK分词器
在 elastic目录下的plugins下新建ik文件夹
/opt/elasticsearch-7.8.0
mkdir ik
#在ik目录下解压elasticsearch-analysis-ik-7.8.0.zip文件
unzip elasticsearch-analysis-ik-7.8.0.zip
#删除zip文件
rm -f elasticsearch-analysis-ik-7.8.0.zip
重启es
./elasticsearch -d
测试安装
curl http://127.0.0.1:9200/_cat/plugins
#或
curl -XPOST http://127.0.0.1:9200/_analyze -H "Content-Type:application/json" -d '{
"analyzer":"ik_max_word",
"text":"我是中国人"
}'


附:可能遇到的问题
1、root启动,linux中通过包安装,root用户直接启动会失败,需要新建普通用户启动
2、解压后的elasticsearch-7.8.0不能放到/root/目录下,会有权限问题
3、elasticsearch.yml配置缺少关键配置,启动失败
4、服务器内存不够,启动直接失败:
调整启动参数即可
5、-bash: unzip: command not found:
缺少命令,安装一下即可:yum install -y unzip