tar
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
Linux下elasticsearch安装
java 安装
wget http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz
cd /usr
mkdir java
tar -xzvf jdk-8u151-linux-x64.tar.gz -C /usr/java
/usr/java/jdk1.8.0_171
vim /etc/profile
在文件最后加入
export JAVA_HOME=/usr/java/jdk1.8.0_171
export JRE_HOME=/usr/java/jdk1.8.0_171/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
使配置生效: source /etc/profile
查看java版本
java -version
普通用户
cd ~
vi .bash_profile
source .bash_profile
export JAVA_HOME=/usr/java/jdk1.8.0_171
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
nodejs 安装
wget https://nodejs.org/dist/v8.11.3/node-v8.11.3-linux-x64.tar.xz
cd /usr
mkdir node
[admin@node21 software]$ xz -d node-v8.11.3-linux-x64.tar.xz
[admin@node21 software]$ tar -xvf node-v8.11.3-linux-x64.tar -C /usr/node
配置环境变量 vi /etc/profile
export NODE_HOME=/usr/node/node-v8.11.3-linux-x64
export PATH=$NODE_HOME/bin:$PATH
source /etc/profile 环境变量生效
maven安装
# 下载maven软件并解压
wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
tar -zxvf apache-maven-3.2.1-bin.tar.gz -C /usr/local
cd /usr/local
mv apache-maven-3.2.1 maven
# 配置环境变量
vi /etc/profile
export M2_HOME=/usr/local/maven
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
# 使环境变量生效
source .bash_profile (/etc/profile)
1.下载es安装包
wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.3.3/elasticsearch-2.3.3.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz
2.解压
tar -zxvf elasticsearch-2.3.3.tar.gz -C /usr/local
tar -zxcf elasticsearch-2.3.3.tar.gz
mv elasticsearch-2.3.3.tar.gz es
3.修改配置文件
进入config目录下
vi elasticsearch.yml 可以修改集群名,节点,ip等等
# 进入配置文件目录
cd es/config
# 修改
vi elasticsearch.yml
# 起个集群名
cluster.name: huiyue
# 起个节点名
node.name: node-1
# 指定服务器IP
network.host: 47.98.118.214
# 指定服务器端口
http.port: 9200
# 数据目录和日志目录可以用默认的,不修改
path.data: /path/to/data
path.logs: /path/to/logs
# 搭建集群的时候在使用
discovery.zen.ping.unicast.hosts: ["192.168.10.145", "192.168.10.168"]
4.启动es
进入 bin 目录
./elasticsearch 如果说 不能以 root用户 运行
进入bin目录 修改elasticsearch.in.sh 加入一句:JAVA_OPTS="$JAVA_OPTS -Des.insecure.allow.root=true"即可
./elasticsearch -Des.insecure.allow.root=true -d
5.安装 head 插件(2.2.3 版本)
进入bin目录
cd /usr/local/es/bin/
./plugin install mobz/elasticsearch-head
6 安装 kibana 4.5.0
wget https://download.elastic.co/kibana/kibana/kibana-4.5.3-linux-x64.tar.gz
tar -xzf kibana-5.1.1-linux-x86_64.tar.gz -C /usr/local
cd kibana/
对应 es6.2.4
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.4-linux-x86_64.tar.gz
7 install ik 1.9.3(es 6.2.4)
wget https://github.com/medcl/elasticsearch-analysis-ik/archive/v1.9.3.zip
使用elasticsearch-plugin命令安装 5.x 以上可以
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v1.9.3/elasticsearch-analysis-ik-1.9.3.tar.gz
其他方式 (繁琐不建议)
ik 安装 方式 1
es2.3.3
wget https://github.com/medcl/elasticsearch-analysis-ik/archive/v1.9.3.zip
es2.3.4
wget https://github.com/medcl/elasticsearch-analysis-ik/archive/v1.9.4.zip
unzip v1.9.3.zip ( elasticsearch-analysis-ik-1.9.3.zip)
mv elasticsearch-analysis-ik-1.2.6 esik
把ik包下面的ik文件拷入es的config下面
cp -rf ik es/config/
maven ik的源码包
cd esik
mvn clean package
把打包后的文件解压拷入es的plugins下面
复制代码
# 打包后esik目录下面有个target/release目录
cd esik/target/release
unzip elasticsearch-analysis-ik-1.9.3.zip
# 在es的plugins目录下新建一个ik文件夹,注意plugins文件是当你执行./plugin安装插件时会自动生成
mkdir -p es/plugins/ik
cp -rf * es/plugins/ik
# 可以把那个解压的源文件删除
rm -rf elasticsearch-analysis-ik-1.9.3.zip
# 最后在elasticsearch.yml后面增加一句
index.analysis.analyzer.ik.type : "ik"
# 重启es后生效
./elasticsearch -d
自定义分词
如果分词不够或者达不到需求,可以自定义分词 进入/es/config/ik/custom/下面,建一个.dic结尾的文件,输入你的分词 然后后退一步修改配置文件,重启后生效
curl -XGET http://127.0.0.1:9200/_analyze?pretty -H 'Content-Type:application/json' -d'
{
"analyzer": "ik_smart",
"text": "听说看这篇博客的哥们最帅、姑娘最美"
}
yum install -y unzip zip
复制代码
vi IKAnalyzer.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 扩展配置</comment>
tom/mydict.dic;custom/sin
<!--用户可以在这里配置自己的扩展字典 -->
<entry key="ext_dict">cu
sgle_word_low_freq.dic;custom/你建的文件.dic</entry>
<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords">custom/ext_stopword.dic</entry>
</properties>
其他方式
使用elasticsearch-plugin命令安装 5.x 以上可以
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.2.4/elasticsearch-analysis-ik-6.2.4.zip
手动安装?
git clone https://github.com/medcl/elasticsearch-analysis-ik
cd elasticsearch-analysis-ik
git checkout tags/{version}
mvn clean
mvn compile
mvn package
8 elasticsearch-jdbc 安装
https://github.com/jprante/elasticsearch-jdbc
wget http://xbib.org/repository/org/xbib/elasticsearch/importer/elasticsearch-jdbc/2.3.3.0/elasticsearch-jdbc-2.3.3.0-dist.zip
unzip elasticsearch-jdbc-<version>-dist.zip
wget http://xbib.org/repository/org/xbib/elasticsearch/importer/elasticsearch-jdbc/2.3.4.0/elasticsearch-jdbc-2.3.4.0-dist.zip
unzip elasticsearch-jdbc-2.3.4-dist.zip
netstat -tunlp|grep 端口号
9 logstash6.2.4 安装
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.2.4.tar.gz
tar -zxvf logstash-6.2.4.tar.gz -C /usr
mv logstash-6.2.4 logstash
https://github.com/logstash-plugins/logstash-input-jdbc/archive/v4.3.9.zip
{
"mappings": {
"cql_article": {
"properties": {
"journal_title": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_max_word",
"fielddata": true,
"fields": {
"raw": {
"type": "keyword"
}
}
},
"journal_volumn": {
"type": "text"
},
"title": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_max_word",
"boost": 1.5
},
"author": {
"type": "text"
},
"begin_page": {
"type": "integer",
"index": false
},
"end_page": {
"type": "integer",
"index": false
},
"publish_date": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss"
},
"publisher": {
"type": "text"
}
}
}
}
}
max number of threads [1024] for user [fyj] is too low, increase to at least [4096]
修改/etc/security/limits.conf,修改到提示值即可
vi /etc/security/limits.conf
* hard nofile 65536
修改 vim /etc/sysctl.conf
添加配置:vm.max_map_count=262144,
然后执行命令
sysctl -p
es head https://www.cnblogs.com/frankdeng/p/9139035.html 安装链接
下载head插件头
[admin@node21 elk]$ wget https://github.com/mobz/elasticsearch-head/archive/master.zip
解压,会出现一个elasticsearch-head-master文件
[admin@node21 elk]$ unzip master.zip
4 使用npm安装grunt
设置npm的代理镜像,由于国外的下载较慢,所以设置为国内的,进入到elasticsearch-head-master内执行以下命令
[admin@node21 elasticsearch-head-master]$ npm config set registry https://registry.npm.taobao.org
执行npm install,grunt是基于Node.js的项目构建工具,可以进行打包压缩,测试,执行等等的工作,head插件就是通过grunt启动。
[admin@node21 elasticsearch-head-master]$ npm install -g grunt
[admin@node21 elasticsearch-head-master]$ npm install
报错: elasticsearch-head phantomjs-prebuilt@2.1.16 install: `node install.js`
执行 npm install phantomjs-prebuilt@2.1.14 --ignore-scripts
版本确认:
复制代码
[admin@node21 software]$ node -v
v8.11.2
[admin@node21 software]$ npm -v
6.1.0
[admin@node21 software]$ grunt -version
grunt-cli v1.2.0
grunt v1.0.1
复制代码
5 修改Head源码
由于head的代码直接执行有很多限制,比如无法跨机器访问。因此需要用户修改两个地方:
1)修改 elasticsearch-head-master/Gruntfile.js 文件,红色部分为添加的,原来没有,设置hostname属性,设置为0.0.0.0
vi Gruntfile.js
connect: {
server: {
options: {
hostname: '0.0.0.0',
port: 9100,
base: '.',
keepalive: true
}
}
}
复制代码
2)修改跨域请求配置
不修改连接的状态如下,修改之后才能连上,这样head插件才可以访问elasticsearch。
修改文件为elasticsearch-6.2.4/config/elasticsearch.yml,添加如下两行
http.cors.enabled: true
http.cors.allow-origin: "*"
上述连接需要手动更改http://localhost:9200/中的localhost为自己的ip才能连接得上。这里修改配置文件,改为自己的ip。
修改head的连接地址,进入到elasticsearch-head-master/_site里,修改app.js(提示:指定内容查找 如果是用vi打开文件后,
在命令行下输入“/关键字”; 如果是在没有打开文件的前提就用"cat 文件名 | grep "关键字""。)
vi app.js
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";
把localhost修改成你es的服务器地址,如:
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.100.21:9200";
6 启动elasticsearch
1、启动ES(因为上述配置修改了elasticsearch-yml,重启才能生效。)
如果已经启动,先停止(/elasticsearch-6.2.4/bin)
[admin@node21 bin]$ ./elasticsearch
2、启动head
[admin@node21 elasticsearch-head-master]$ grunt server &
don't run elasticsearch as root.
因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户
第一步:liunx创建新用户 adduser XXX 然后给创建的用户加密码 passwd XXX 输入两次密码。
第二步:切换刚才创建的用户 su XXX 然后执行elasticsearch 会显示Permission denied 权限不足。
第三步:给新建的XXX赋权限,chmod 777 * 这个不行,因为这个用户本身就没有权限,肯定自己不能给自己付权限。所以要用root用户登录付权限。
第四步:root给XXX赋权限,chown -R XXX /你的elasticsearch安装目录。
然后执行成功。