- 发布于3天前
MongoDB 清理数据
move({}) 3.删除集合 >db.user.drop() 4.删除整个数据库 >show dbs; >db.user.getDB() >db.dropDatabase() 删除文档是永久性的,不能撤销,也不能恢复的。因此,在执行remove()函数前先用find()命令来查看下是否正确。 二、回收remove的磁盘空间 mongodb删除集合后磁盘空间不释放,用db.repairDatabase()去修复才能释放。但是在修复的过程中如果出现了非正常的mongodb的挂掉,再次启动时启动不了的,需要先修复才可以,可以利用./mongod --repair --dbpath=/data/mongo/,如果你是把数据库单独的放在一个文件夹中指定dbpath时就指向要修复的数据库就可以,修复可能要花费很长的时间,在使用db.repairDatabase()去修复时一定要停掉读写,并且mongodb要有备机才可以,不然千万不要随便使用db.repairDatabase()来修复数据库,切记。 回收磁盘空间可以参考:http://blog.csdn.net/mchdba/article/details/8894344 三、mongodb占用空间过大的原因,在官方的FAQ中,提到有如下几个方面: 1、空间的预分配:为避免形成过多的硬盘碎片,mongodb每次空间不足时都会申请生成一大块的硬盘空间,而且申请的量从64M、128M、256M那样的指数递增,直到2G为单个文件的最大体积。随着数据量的增加,你可以在其数据目录里看到这些整块生成容量不断递增的文件。 2、字段名所占用的空间:为了保持每个记录内的结构信息用于查询,mongodb需要把每个字段的key-value都以BSON的形式存储,如果value域相对于key域并不大,比如存放数值型的数据,则数据的overhead是最大的。一种减少空间占用的方法是把字段名尽量取短一些,这样占用空间就小了,但这就要求在易读性与空间占用上作为权衡了。我曾建议作者把字段名作个index,每个字段名用一个字节表示,这样就不用担心字段名取多长了。但作者的担忧也不无道理,这种索引方式需要每次查询得到结果后把索引值跟原值作一个替换,再发送到客户端,这个替换也是挺耗费时间的。现在的实现算是拿空间来换取时间吧。 3、删除记录不释放空间:这很容易理解,为避免记录删除后的数据的大规模挪动,原记录空间不删除,只标记“已删除”即可,以后还可以重复利用。 4、可以定期运行db.repairDatabase()来整理记录,但这个过程会比较缓慢。 修复master过程: 1、在master做db.repairDatabase(),不起作用; 2、停止slave的同步; 3、对slave作mongodump,备份数据; 4、对master作mongostore,把备份数据恢复,使用–drop参数可以先把原表删除。 5、恢复slave的同步。 注:对于需要定期清理的数据库如:保留定期的业务系统日志数据等,可以采用国定大小集合capped collection,限制数据的大小或条数,永远保留最新的数据。 参考: http://docs.mongodb.org/manual/tutorial/remove-documents/ http://docs.mongodb.org/manual/tutorial/expire-data/ http://docs.mongodb.org/manual/tutorial/remove-indexes/ http://docs.mongodb.org/manual/core/capped-collections/ ———————————————— 版权声明:本文为CSDN博主「slimina」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/zhu_tianwei/article/details/44514851赞评论浏览 26 - 发布于4天前
常用命令
gistry.npm.taobao.org ps -ef|grep java|grep -v grep|cut -c 9-15|xargs kill -9 nohup ./product -u 0.0.0.0:1220 >logging.log 2>&1 & 【mysql】 alter user user() identified by "123456"; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; FLUSH PRIVILEGES; 【安装软件包命令】 dpkg -i xxx.deb(ubuntu) rpm -ivh(centos) json转对象 收藏下 List<ConfigItem> list = gson.fromJson(config, new TypeToken<List<ConfigItem>>() { }.getType()); curl -XPOST http://localhost:9501/b2b2c_site_goods/goods/_mapping -d '{"properties": {"goodsName": {"type": "text", "analyzer": "ik_smart", "search_analyzer": "ik_smart"}}}' curl -H "Content-Type: application/json" -XPUT 'localhost:9501/b2b2c_site_goods/goods/_mapping' -d '{"goods":{"properties":{"goodsName":{"type":"text","analyzer":"ik_max_word"}}}}' db.getCollection("test_url").update({},{$set:{'time': NumberInt(ISODate().getTime())}},{'multi':true}) db.createUser( {user: "admin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]}) groupadd es useradd es -g es -p es 1、数据备份到文件 neo4j-admin dump --database=graph.db --to=D:/Neo4j/neo4j-community-3.5.6/data/dump/graph.dump 2、备份的数据文件导入 bin/neo4j-admin load --from=D:/Neo4j/neo4j-community-3.4.9/data/dump/graph.dump --database=graph.db --force ./neo4j-admin load --from=/opt/graph.dump --database=graph.db --force doucha.com yiyi Yi@2345six nohup ./product -u 0.0.0.0:1220 >logging.log 2>&1 & 启动elasticsearch-head nohup grunt server & apt install grunt 【docker 】 启动镜像并映射端口 docker run --privileged -d --name myiso -it -e "container=docker" -p 80:80 -p 8081:8081 -p 8088:8088 -p 3306:3306 testimg:latest /bin/bash 进入镜像 docker exec -it myiso /bin/bash 打包linux镜像 tar --numeric-owner --exclude=/proc --exclude=/sys -cvf centos7-base.tar / 导入镜像到docker cat centos7-base.tar | docker import - centos7-mini2 导入镜像 docker load < /root/image.tar 或者 docker load -i /root/image.tar 导出镜像 docker save image > /root/image.tar 【mysql】 docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 【elasticsearch】 http.cors.enabled: true http.cors.allow-origin: "*" 在 /etc/sysctl.conf文件最后添加一行 vm.max_map_count=262144 vi /etc/security/limits.conf # elasticsearch config start * soft nofile 65536 * hard nofile 131072 * soft nproc 2048 * hard nproc 4096 # elasticsearch config end docker run -d --restart=always --name es -p 9200:9200 \ -p 9300:9300 elasticsearch:6.7.2 docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \ -e "discovery.type=single-node" \ -e "cluster.name=elasticsearch" \ -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \ -d elasticsearch:7.5.0 http.cors.enabled: true http.cors.allow-origin: "*" 【elasticsearch-head】 docker run -d --name elasticsearch-head -it -p 9100:9100 mobz/elasticsearch-head-vim:latest [neo4j] docker run -it -d --name neo4j -p 7474:7474 -p 7687:7687 neo4j:latest 【mongodb】 docker run -d -it --name mongodb -p 27017:27017 mongo:4.0.19 --bind_ip_all 【redis】 docker run -d --name redis -it -p 6379:6379 redis:4.0.11 --requirepass "123456" //es改大查询数量 curl -H "Content-Type: application/json" -X PUT 'http://127.0.0.1:9501/index_test/_settings?preserve_existing=true' -d '{"max_result_window" : "100000"}' searchSourceBuilder.trackTotalHits(true); //删除查出的数据 _delete_by_query会删除所有query语句匹配上的文档,用法如下: curl -X POST "localhost:9200/twitter/_delete_by_query" -H 'Content-Type: application/json' -d' { "query": { "match": { "name": "测试删除" } } } //创建映射 http://192.168.3.188:9501/index_test/_mapping/ POST 请求 {"properties":{"alias":{"type":"keyword"},"country":{"type":"keyword"},"id":{"type":"keyword"},"label":{"type":"keyword"},"name":{"type":"keyword"}}} 导入elasticsearch备份数据: java -jar job.jar import index_test f:/elasticsearch.json -Dspring.elasticsearch.jest.uris=http://192.168.3.188:9501 java -jar job.jar import index_test D:/dataParse_202009131504/node_baozhangfuzhujianting.json {"properties": { "alias":{"type":"keyword"}, "country":{"type":"keyword"}, "label":{"type":"keyword"}, "name":{"type":"keyword"}, "node_color":{"type":"keyword"} }} 【nginx】 docker run -d --name nginx -it -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/nginx/conf/fastcgi.conf:/etc/nginx/fastcgi.conf -v /usr/local/nginx/conf/conf.d:/usr/local/nginx/conf/conf.d/ -v /usr/local/nginx/html:/usr/local/nginx/html -v /mnt/cryptdisk/server/tiles:/mnt/cryptdisk/server/tiles -p 80:80 -p 8081:8081 -p 8082:8082 nginx:1.14.2 开启ipv4转发 虚拟机挂起的问题 vi /etc/sysctl.conf net.ipv4.ip_forward=1 root Mxsjw123 【coturn】 sudo docker run -p 3478:3478 -p 3478:3478/udp coturn 打包系统镜像docker tar -cvpf /allsystem.tar --directory=/ --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/run --exclude=/allsystem.tar / 查找端口的pid lsof -i:8080|grep "LISTEN"|awk '{print $2}' 查找jar的pid ps -ef | grep -w xxx.jar | grep -v "grep" | awk '{print $2}' 杀死端口的id kill -9 $(netstat -nlp | grep :81 | awk '{print $7}' | awk -F"/" '{ print $1 }') docker-machine create --virtualbox-disk-size "100000" --virtualbox-memory "14000" -d virtualbox default MACHINE_STORAGE_PATH F:\Docker\.docker赞评论浏览 37 - 发布于2022-04-23 10:47:23
test0001
infoIndexQueryContext.setTarget(true); Page<Info> search = infoIndexService.search(infoIndexQueryContext); search.getResult().forEach(x -> { String[] poweIds = x.getPoweIds(); List<OntologyInstance> byIdIn = ontologyInstanceRepository.findByIdIn(Arrays.asList(poweIds)); x.setPowers(byIdIn); }); return search; } @Override public List<Info> selectTarget(InfoIndexQueryContext infoIndexQueryContext) { infoIndexQueryContext.setTarget(true); Page<Info> search = infoIndexService.search(infoIndexQueryContext); search.getResult().forEach(x -> { String[] poweIds = x.getPoweIds(); List<OntologyInstance> byIdIn = ontologyInstanceRepository.findByIdIn(Arrays.asList(poweIds)); x.setPowers(byIdIn); }); return search; } @Override public List<Info> selectTarget(InfoIndexQueryContext infoIndexQueryContext) { infoIndexQueryContext.setTarget(true); Page<Info> search = infoIndexService.search(infoIndexQueryContext); search.getResult().forEach(x -> { String[] poweIds = x.getPoweIds(); List<OntologyInstance> byIdIn = ontologyInstanceRepository.findByIdIn(Arrays.asList(poweIds)); x.setPowers(byIdIn); }); return search; } @Override public List<Info> selectTarget(InfoIndexQueryContext infoIndexQueryContext) { infoIndexQueryContext.setTarget(true); Page<Info> search = infoIndexService.search(infoIndexQueryContext); search.getResult().forEach(x -> { String[] poweIds = x.getPoweIds(); List<OntologyInstance> byIdIn = ontologyInstanceRepository.findByIdIn(Arrays.asList(poweIds)); x.setPowers(byIdIn); }); return search; } #以 utf-8 的编码格式打开指定文件 f = open("my_file.txt",encoding = "utf-8") #输出读取到的数据 print(f.read()) #关闭文件 f.close() #以 utf-8 的编码格式打开指定文件 f = open("my_file.txt",encoding = "utf-8") #输出读取到的数据 print(f.read()) #关闭文件 f.close()赞 2评论浏览 131 -
maven将所有依赖的jar包打成一个大的jar包《收藏一下》
gt;maven-assembly-plugin</artifactId> <configuration> <archive> <manifest> <!--这里要替换成jar包main方法所在类 --> <mainClass>com.agileai.license.MainExe</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>make-assembly</id> <!-- this is used for inheritance merges --> <phase>package</phase> <!-- 指定在打包节点执行jar包合并操作 --> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build>赞 3评论浏览 142 - 发布于2022-04-19 17:12:05
Java 11 下使用xjar报错
s by io.xjar.reflection.XReflection (file:/D:/sss/*****system.jar) to field java.net.URLClassLoader.ucp WARNING: Please consider reporting this to the maintainers of io.xjar.reflection.XReflection WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Exception in thread "main" java.lang.reflect.InaccessibleObjectException: Unable to make public jdk.internal.loader.Resource jdk.internal.loader.URLClassPath.getResource(java.lang.String) accessible: module java.base does not "exports jdk.internal.loader" to unnamed module @670b40af at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:340) at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:280) at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:198) at java.base/java.lang.reflect.Method.setAccessible(Method.java:192) at io.xjar.reflection.XReflection.method(XReflection.java:35) at io.xjar.boot.XBootClassLoader.<init>(XBootClassLoader.java:42) at io.xjar.boot.XJarLauncher.createClassLoader(XJarLauncher.java:31) at org.springframework.boot.loader.ExecutableArchiveLauncher.createClassLoader(ExecutableArchiveLauncher.java:92) at org.springframework.boot.loader.Launcher.launch(Launcher.java:55) at io.xjar.boot.XJarLauncher.launch(XJarLauncher.java:26) at io.xjar.boot.XJarLauncher.main(XJarLauncher.java:22) panic: exit status 1 goroutine 1 [running]: main.main() /var/jenkins_home/workspace/system/target/xjarwin.go:73 +0x646 解决办法 启动参数新增 --add-opens java.base/jdk.internal.loader=ALL-UNNAMED java --add-opens java.base/jdk.internal.loader=ALL-UNNAMED -Dfile.encoding=utf-8 -Dspring.profiles.active=dev -Xms2048m -Xmx2048m -XX:PermSize=64m -XX:MaxPermSize=128m -Djava.awt.headless=true -Dspring.config.additional-location=./config/application-dev.yml -jar赞 2评论浏览 154