yum update执行报错:BDB1507 Thread died in Berkeley DB library

BDB1507 Thread died in Berkeley DB library

完整错误信息:
错误:rpmdb: BDB0113 Thread/process 30064/140110193514304 failed: BDB1507 Thread died in Berkeley DB library
错误:db5 错误(-30973) 来自 dbenv->failchk:BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
错误:无法使用 db5 -  (-30973) 打开 Packages 索引
错误:无法从 /var/lib/rpm 打开软件包数据库
CRITICAL:yum.main:

Error: rpmdb open failed

删除/var/lib/rpm目录下以__db开头的文件(两个下划线)

rm -rf /var/lib/rpm/__db.*

重建rpm数据库

rpm --rebuilddb

清理所有yum缓存

yum clean all

重新生成yum缓存

yum makecache

- 阅读全文 -

Python作业:根据生成的随机数据推荐喜欢的电影

假设已有若干用户名字及其喜欢的电影清单,现有某用户,已看过并喜欢一些电影,现在想找个新电影看看,又不知道看什么好。根据已有数据,查找与该用户爱好最相似的用户,也就是看过并喜欢的电影与该用户最接近,然后从那个用户喜欢的电影中选取一个当前用户还没看过的电影,进行推荐。

- 阅读全文 -

Hadoop上传文件报错:_COPYING_. Name node is in safe mode.

put: Cannot create file/user/hadoop/test.txt._COPYING_. Name node is in safe mode.

说明Hadoop的NameNode处在安全模式下。在分布式文件系统启动的时候,开始的时候会有安全模式,当分布式文件系统处于安全模式的情况下,文件系统中的内容不允许修改也不允许删除,直到安全模式结束。 使用命令结束安全模式
hadoop  dfsadmin -safemode leave

- 阅读全文 -

Android使用接口回调实现Activity与Fragment通信

接口回调是指一个使用过程,并强调是关于对象功能的使用过程,既然是功能,功能一般就对应着方法体(函数),因此它同样满足与回调函数相似的模型。

  1. 接口的定义
  2. 接口的实现
  3. 调用接口

将(2)的引用(地址)传递给(3),然后(3)调用(2)中的方法,这一过程称为对象功能的接口回调。

- 阅读全文 -

HttpServletResponse返回JSON数据

@WebServlet("/demo")
public class demo extends HttpServlet {
    private static final long serialVersionUID = 1L;
    
    public demo() {
        super();
    }
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setCharacterEncoding("utf-8");
        response.setContentType("application/json;charset=utf-8");
        PrintWriter writer = response.getWriter();
        writer.write(JSONObject.toJSONString(data()));
    }
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }
    
    private HashMap<String, String> data() {
        HashMap<String, String> map = new HashMap<>();
        for (int i = 0; i < 10; i++) {
            map.put("key" + i, String.valueOf(i));
        }
        return map;
    }
}

- 阅读全文 -

Python使用阿里接口查询域名是否注册

import urllib.request
domain = "fluorine.xyz"
req = urllib.request.urlopen('http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=' + domain)
result = req.read().decode()
if ('<original>211' in result):
    print(domain + ' 已注册')
elif ('<original>210' in result):
    print(domain + ' 未注册')
else:
    print('error')

- 阅读全文 -