Compare commits
1 Commits
dependabot
...
dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
95650ffac4 |
17
pom.xml
17
pom.xml
@@ -27,7 +27,7 @@
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.13.1</version>
|
||||
<version>4.12</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>fastjson</artifactId>
|
||||
<version>1.2.83</version>
|
||||
<version>1.2.49</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -117,7 +117,7 @@
|
||||
<dependency>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi</artifactId>
|
||||
<version>3.17</version>
|
||||
<version>3.9</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -375,7 +375,7 @@
|
||||
<dependency>
|
||||
<groupId>org.apache.storm</groupId>
|
||||
<artifactId>storm-kafka</artifactId>
|
||||
<version>1.2.3</version>
|
||||
<version>1.2.2</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
@@ -395,14 +395,9 @@
|
||||
<groupId>io.searchbox</groupId>
|
||||
<artifactId>jest</artifactId>
|
||||
<version>6.3.1</version>
|
||||
</dependency>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- excel 工具类-->
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>easyexcel</artifactId>
|
||||
<version>2.2.7</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -22,19 +22,19 @@ public class ResponsibilityTest {
|
||||
String name = "xuwujing";
|
||||
String something = "去聚餐";
|
||||
String something2 = "去旅游";
|
||||
Leader leader1 =new Supervisor(name, something);
|
||||
Leader leader2 =new BranchManager(name, something);
|
||||
Leader leader3 =new GeneralManager(name, something);
|
||||
leader1.setLeader(leader2);
|
||||
leader2.setLeader(leader3);
|
||||
leader1.handler(1);
|
||||
Learder learder1 =new Supervisor(name, something);
|
||||
Learder learder2 =new BranchManager(name, something);
|
||||
Learder learder3 =new GeneralManager(name, something);
|
||||
learder1.setLearder(learder2);
|
||||
learder2.setLearder(learder3);
|
||||
learder1.handler(1);
|
||||
|
||||
Leader leader4 =new Supervisor(name, something2);
|
||||
Leader leader5 =new BranchManager(name, something2);
|
||||
Leader leader6 =new GeneralManager(name, something2);
|
||||
leader4.setLeader(leader5);
|
||||
leader5.setLeader(leader6);
|
||||
leader4.handler(0);
|
||||
Learder learder4 =new Supervisor(name, something2);
|
||||
Learder learder5 =new BranchManager(name, something2);
|
||||
Learder learder6 =new GeneralManager(name, something2);
|
||||
learder4.setLearder(learder5);
|
||||
learder5.setLearder(learder6);
|
||||
learder4.handler(0);
|
||||
|
||||
|
||||
|
||||
@@ -76,24 +76,24 @@ class ConcreteHandler extends Handler {
|
||||
}
|
||||
|
||||
|
||||
abstract class Leader {
|
||||
abstract class Learder{
|
||||
|
||||
|
||||
protected Leader leader;
|
||||
protected Learder learder;
|
||||
|
||||
protected void setLeader(Leader leader){
|
||||
this.leader = leader;
|
||||
protected void setLearder(Learder learder){
|
||||
this.learder=learder;
|
||||
}
|
||||
|
||||
protected Leader getLeader(){
|
||||
return leader;
|
||||
protected Learder getLearder(){
|
||||
return learder;
|
||||
}
|
||||
|
||||
abstract void handler(int level);
|
||||
}
|
||||
|
||||
//主管
|
||||
class Supervisor extends Leader {
|
||||
class Supervisor extends Learder{
|
||||
private String name;
|
||||
private String something;
|
||||
public Supervisor(String name,String something) {
|
||||
@@ -108,13 +108,13 @@ class Supervisor extends Leader {
|
||||
System.out.println("主管处理了 "+name+"所述的<"+something+">事情!");
|
||||
}else{
|
||||
System.out.println("主管未能处理 "+name+"所述的<"+something+">事情!转交给上级!");
|
||||
getLeader().handler(level);
|
||||
getLearder().handler(level);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//部门经理
|
||||
class BranchManager extends Leader {
|
||||
class BranchManager extends Learder{
|
||||
private String name;
|
||||
private String something;
|
||||
public BranchManager(String name,String something) {
|
||||
@@ -129,13 +129,13 @@ class BranchManager extends Leader {
|
||||
System.out.println("部门经理处理了 "+name+"所述的<"+something+">事情!");
|
||||
}else{
|
||||
System.out.println("部门经理未能处理 "+name+"所述的<"+something+">事情!转交给上级!");
|
||||
getLeader().handler(level);
|
||||
getLearder().handler(level);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//总经理
|
||||
class GeneralManager extends Leader {
|
||||
class GeneralManager extends Learder{
|
||||
private String name;
|
||||
private String something;
|
||||
public GeneralManager(String name,String something) {
|
||||
@@ -150,7 +150,7 @@ class GeneralManager extends Leader {
|
||||
System.out.println("总经理处理了 "+name+"所述的<"+something+">事情!");
|
||||
}else{
|
||||
System.out.println("总经理未能处理 "+name+"所述的<"+something+">事情!转交给上级!");
|
||||
getLeader().handler(level);
|
||||
getLearder().handler(level);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
268
src/main/java/com/pancm/elasticsearch/EsHighLevelCluster.java
Normal file
268
src/main/java/com/pancm/elasticsearch/EsHighLevelCluster.java
Normal file
@@ -0,0 +1,268 @@
|
||||
package com.pancm.elasticsearch;
|
||||
|
||||
import org.apache.http.HttpEntity;
|
||||
import org.apache.http.HttpHost;
|
||||
import org.apache.http.entity.ContentType;
|
||||
import org.apache.http.nio.entity.NStringEntity;
|
||||
import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest;
|
||||
import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse;
|
||||
import org.elasticsearch.action.admin.cluster.settings.ClusterGetSettingsRequest;
|
||||
import org.elasticsearch.action.admin.cluster.settings.ClusterGetSettingsResponse;
|
||||
import org.elasticsearch.action.admin.cluster.settings.ClusterUpdateSettingsRequest;
|
||||
import org.elasticsearch.action.admin.cluster.settings.ClusterUpdateSettingsResponse;
|
||||
import org.elasticsearch.action.admin.indices.cache.clear.ClearIndicesCacheRequest;
|
||||
import org.elasticsearch.action.admin.indices.cache.clear.ClearIndicesCacheResponse;
|
||||
import org.elasticsearch.client.RequestOptions;
|
||||
import org.elasticsearch.client.RestClient;
|
||||
import org.elasticsearch.client.RestHighLevelClient;
|
||||
import org.elasticsearch.cluster.health.ClusterHealthStatus;
|
||||
import org.elasticsearch.cluster.routing.allocation.decider.EnableAllocationDecider;
|
||||
import org.elasticsearch.common.settings.Settings;
|
||||
import org.elasticsearch.common.unit.ByteSizeUnit;
|
||||
import org.elasticsearch.common.xcontent.XContentType;
|
||||
import org.elasticsearch.indices.recovery.RecoverySettings;
|
||||
import org.elasticsearch.rest.RestStatus;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author pancm
|
||||
* @Title: pancm_project
|
||||
* @Description: ES的集群相关配置
|
||||
* @Version:1.0.0
|
||||
* @Since:jdk1.8
|
||||
* @date 2020/1/3
|
||||
*/
|
||||
public class EsHighLevelCluster {
|
||||
|
||||
|
||||
private static String elasticIp = "192.169.0.1";
|
||||
private static int elasticPort = 9200;
|
||||
|
||||
private static Logger logger = LoggerFactory.getLogger(EsHighLevelRestTest2.class);
|
||||
|
||||
private static RestHighLevelClient client = null;
|
||||
|
||||
/**
|
||||
* @param args
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
init();
|
||||
// clusterUpdateSetting();
|
||||
// catHealth();
|
||||
// clusterGetSetting();
|
||||
clearCache();
|
||||
close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* 初始化服务
|
||||
*/
|
||||
private static void init() {
|
||||
client = new RestHighLevelClient(RestClient.builder(new HttpHost(elasticIp, elasticPort, "http")));
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* 关闭服务
|
||||
*/
|
||||
private static void close() {
|
||||
if (client != null) {
|
||||
try {
|
||||
client.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
* @Author pancm
|
||||
* @Description 设置该节点为冷节点
|
||||
* @Date 2020/1/2
|
||||
* @Param [index]
|
||||
**/
|
||||
public static void setCool(String index) throws IOException {
|
||||
RestClient restClient = null;
|
||||
try {
|
||||
Objects.requireNonNull(index, "index is not null");
|
||||
restClient = client.getLowLevelClient();
|
||||
String source = "{\"index.routing.allocation.require.box_type\": \"%s\"}";
|
||||
source = String.format(source, "cool");
|
||||
HttpEntity entity = new NStringEntity(source, ContentType.APPLICATION_JSON);
|
||||
restClient.performRequest("PUT", "/" + index + "/_settings", Collections.<String, String>emptyMap(), entity);
|
||||
} catch (IOException e) {
|
||||
throw e;
|
||||
} finally {
|
||||
if (restClient != null) {
|
||||
restClient.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void setAlias(String index, String aliasIndex) throws IOException {
|
||||
RestClient restClient = null;
|
||||
try {
|
||||
Objects.requireNonNull(index, "index is not null");
|
||||
restClient = client.getLowLevelClient();
|
||||
String msg = "/" + index + "/_alias" + "/" + aliasIndex;
|
||||
restClient.performRequest("PUT", msg);
|
||||
} finally {
|
||||
if (restClient != null) {
|
||||
restClient.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return void
|
||||
* @Author pancm
|
||||
* @Description
|
||||
* @Date 2020/1/2
|
||||
* @Param [index]
|
||||
**/
|
||||
public static void clearCache() throws IOException {
|
||||
|
||||
ClearIndicesCacheRequest request = new ClearIndicesCacheRequest();
|
||||
ClearIndicesCacheResponse response = client.indices().clearCache(request,RequestOptions.DEFAULT);
|
||||
System.out.println(""+response.getTotalShards());
|
||||
System.out.println(""+response.getStatus());
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
* @Author pancm
|
||||
* @Description 设置集群的配置
|
||||
* @Date 2020/1/2
|
||||
* @Param [index]
|
||||
**/
|
||||
public static void clusterUpdateSetting() throws IOException {
|
||||
|
||||
ClusterUpdateSettingsRequest request = new ClusterUpdateSettingsRequest();
|
||||
|
||||
String transientSettingKey =
|
||||
RecoverySettings.INDICES_RECOVERY_MAX_BYTES_PER_SEC_SETTING.getKey();
|
||||
int transientSettingValue = 10;
|
||||
Settings transientSettings =
|
||||
Settings.builder()
|
||||
.put(transientSettingKey, transientSettingValue, ByteSizeUnit.BYTES)
|
||||
.build();
|
||||
|
||||
String persistentSettingKey =
|
||||
EnableAllocationDecider.CLUSTER_ROUTING_ALLOCATION_ENABLE_SETTING.getKey();
|
||||
String persistentSettingValue =
|
||||
EnableAllocationDecider.Allocation.NONE.name();
|
||||
Settings persistentSettings =
|
||||
Settings.builder()
|
||||
.put(persistentSettingKey, persistentSettingValue)
|
||||
.build();
|
||||
/** 方式一 */
|
||||
Settings.Builder transientSettingsBuilder =
|
||||
Settings.builder()
|
||||
.put(transientSettingKey, transientSettingValue, ByteSizeUnit.BYTES);
|
||||
request.transientSettings(transientSettingsBuilder);
|
||||
|
||||
/** 方式二 */
|
||||
request.transientSettings(
|
||||
"{\"indices.recovery.max_bytes_per_sec\": \"10b\"}"
|
||||
, XContentType.JSON);
|
||||
|
||||
/** 方式三 */
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put(transientSettingKey
|
||||
, transientSettingValue + ByteSizeUnit.BYTES.getSuffix());
|
||||
request.transientSettings(map);
|
||||
|
||||
|
||||
ClusterUpdateSettingsResponse response = client.cluster().putSettings(request, RequestOptions.DEFAULT);
|
||||
|
||||
Settings setting = response.getPersistentSettings();
|
||||
Settings setting2 = response.getTransientSettings();
|
||||
logger.info("setting:{}", setting);
|
||||
logger.info("setting2:{}", setting2);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return void
|
||||
* @Author pancm
|
||||
* @Description 设获取集群的健康情况
|
||||
* @Date 2020/1/2
|
||||
* @Param [index]
|
||||
**/
|
||||
public static void catHealth() throws IOException {
|
||||
|
||||
|
||||
ClusterHealthRequest request = new ClusterHealthRequest();
|
||||
ClusterHealthResponse response = client.cluster().health(request, RequestOptions.DEFAULT);
|
||||
String clusterName = response.getClusterName();
|
||||
ClusterHealthStatus status = response.getStatus();
|
||||
boolean timedOut = response.isTimedOut();
|
||||
RestStatus restStatus = response.status();
|
||||
|
||||
int numberOfNodes = response.getNumberOfNodes();
|
||||
int numberOfDataNodes = response.getNumberOfDataNodes();
|
||||
int activeShards = response.getActiveShards();
|
||||
int activePrimaryShards = response.getActivePrimaryShards();
|
||||
int relocatingShards = response.getRelocatingShards();
|
||||
int initializingShards = response.getInitializingShards();
|
||||
int unassignedShards = response.getUnassignedShards();
|
||||
int delayedUnassignedShards = response.getDelayedUnassignedShards();
|
||||
double activeShardsPercent = response.getActiveShardsPercent();
|
||||
logger.info("clusterName:{},status:{},timedOut:{},restStatus:{}", clusterName, status, timedOut, restStatus.getStatus());
|
||||
|
||||
List<Map<String, Object>> mapList = new ArrayList<>();
|
||||
response.getIndices().forEach((k, v) -> {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
String index = v.getIndex();
|
||||
int replicas = v.getNumberOfReplicas();
|
||||
int allShards = v.getActiveShards();
|
||||
int shards = v.getActivePrimaryShards();
|
||||
int status2 = v.getStatus().value();
|
||||
map.put("index", index);
|
||||
map.put("replicas", replicas);
|
||||
map.put("shards", shards);
|
||||
map.put("status", status2);
|
||||
System.out.println(map);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return void
|
||||
* @Author pancm
|
||||
* @Description 设获取集群的设置情况
|
||||
* @Date 2020/1/2
|
||||
* @Param [index]
|
||||
**/
|
||||
public static void clusterGetSetting() throws IOException {
|
||||
|
||||
ClusterGetSettingsRequest request = new ClusterGetSettingsRequest();
|
||||
ClusterGetSettingsResponse response = client.cluster().getSettings(request, RequestOptions.DEFAULT);
|
||||
Settings setting = response.getPersistentSettings();
|
||||
Settings setting2 = response.getTransientSettings();
|
||||
logger.info("setting:{}", setting);
|
||||
logger.info("setting2:{}", setting2);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
package com.pancm.excel;
|
||||
|
||||
/**
|
||||
* @author pancm
|
||||
* @Title: pancm_project
|
||||
* @Description:
|
||||
* 参考: https://www.yuque.com/easyexcel/doc
|
||||
* @Version:1.0.0
|
||||
* @Since:jdk1.8
|
||||
* @date 2021/1/26
|
||||
*/
|
||||
public class EasyExcelTest {
|
||||
|
||||
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
/**
|
||||
* @Title: package-info
|
||||
* @Description: excel相关包
|
||||
* @Version:1.0.0
|
||||
* @author pancm
|
||||
* @date 2019年2月28日
|
||||
*/
|
||||
package com.pancm.excel;
|
||||
Reference in New Issue
Block a user