zoukankan      html  css  js  c++  java
  • HUE beeswax中文显示问题的解决方案

    HUE是Cloudera推出的Hadoop生态系统的Web访问接口,基于Python Django开发。


    在使用过程中发现,如果提交的SQL语句中有中文的注释,提交之后,整个语句将会保存在后端的MySQL历史表中,但是再次去查看历史记录的时候,其中的中文却显示成一串问号。显然,这种问题是因为数据库编码问题导致的。为了解决这个问题,可以做如下的操作:

    1。 修改MySQL的配置文件(/etc/my.cnf),将默认编码设置成utf8:

    1. [root@report hue]# cat /etc/my.cnf   
    2. [mysqld]  
    3. datadir=/data/mysql-data  
    4. socket=/var/lib/mysql/mysql.sock  
    5. user=mysql  
    6. # Disabling symbolic-links is recommended to prevent assorted security risks  
    7. symbolic-links=0  
    8. default-character-set=utf8  
    9.   
    10. [mysqld_safe]  
    11. log-error=/var/log/mysqld.log  
    12. pid-file=/var/run/mysqld/mysqld.pid  
    13. default-character-set=utf8  
    14.   
    15. [client]  
    16. default-character-set=utf8  
    重新启动MySQL。

    2. 如果是全新安装,则直接执行如下命令同步数据库即可(如果是全新安装,需要将库表转为相应的编码格式):

    1. sudo -u hue /usr/share/hue/build/env/bin/hue syncdb --noinput  

    3. 在此过程中遇到了数据库字段类型相关的问题(https://review.cloudera.org/r/2188/diff/),解决办法是:

    修改文件

    1. /usr/share/hue/apps/jobsub/src/jobsub/migrations/0002_auto__add_ooziestreamingaction__add_oozieaction__add_oozieworkflow__ad.py  
    中,搜索job_properties,将对应的类型都改成django.db.models.fields.TextField, 同时将后面的max_length参数删除掉即可。


    4. 最后重新启动HUE服务,再次提交包含中文的查询,在查询历史中查看,中文的显示就正常了:

  • 相关阅读:
    UILocalNotification实现本地的闹钟提醒的方法
    自定义UITableViewCell:Cell高度、分割线、间距等
    第三方苹果开发库之ASIHTTPRequest(翻译版)
    字符串NSString和数组NSArray操作
    MFMailComposeViewController发送邮件的实例
    IOS开发之手势—UIGestureRecognizer 共存
    ios 画图总结 [转]
    iOS-响应上下左右滑动手势
    MFMessageComposeViewController程序内发送短信息的实例
    FIELDSYMBOLS 学习—转载
  • 原文地址:https://www.cnblogs.com/java20130722/p/3206907.html
Copyright © 2011-2022 走看看