`

linux客户端中文乱码

阅读更多

hive中文问题解决办法:

关键是 终端console-->linux OS环境变量-->hdfs上的hive table对应文件 三个层次,都设为使用UTF-8。

1. 到sourceforge.net上,下载putty英文版0.63(不要下中文版,曾有带木马),在如下位置设为UTF-8:




2. 将linux OS层/etc/sysconfig/i18n中LANG修改为en_US.UTF-8

[hadoop@CNSZ141196 ~]$ cat /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SYSFONT="lat0-sun16"

3. hive table文件默认为UTF-8字符集编码,无需改动

4. 测试如下,可见在putty终端console上可正常输入中文,写入hive表;select出来也可正常显示;load into、 hive -f 方式也测试通过:
[hadoop@CNSZ141196 ~]$ hive -e "insert into table test01.test01 select '中文测试' from dual;"
……
[hadoop@CNSZ141196 ~]$ hive -e "select * from test01.test01;"                  
Logging initialized using configuration in file:/appcom/hive-config/hive-log4j.properties
Hive history file=/tmp/hadoop/hive_job_log_hadoop_3297@CNSZ141196.app.paic.com.cn_201309111524_494470832.txt
OK
中文测试
中国
中文
Time taken: 3.199 seconds, Fetched: 3 row(s)
[hadoop@CNSZ141196 ~]$


OS语言环境变量配置
for i in cnsz0317{74..87};do /home/hadoop/scripts/autoLoginRoot.sh hadoop $i paic1234 anyword ""'sed -i "/LANG=/{s%"en_US"%"en_US.UTF-8"%g}" /etc/sysconfig/i18n'"";done
检查点:
for i in cnsz0317{74..87};do ssh $i ""'echo "#############";hostname;cat /etc/sysconfig/i18n;sleep 0.5'""; done

问题:
hive comment无法支持中文
处理:
修改mysql中hive_meta数据库使hive comment支持中文: 

alter table DBS modify column `DESC` varchar(4000) character set utf8;
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

查看修改结果:
mysql> SHOW CREATE TABLE  TABLE_PARAMS \G
*************************** 1. row ***************************
       Table: TABLE_PARAMS
Create Table: CREATE TABLE `TABLE_PARAMS` (
  `TBL_ID` bigint(20) NOT NULL,
  `PARAM_KEY` varchar(256) CHARACTER SET latin2 COLLATE latin2_bin NOT NULL,
  `PARAM_VALUE` varchar(4000) CHARACTER SET utf8 DEFAULT NULL,
  PRIMARY KEY (`TBL_ID`,`PARAM_KEY`),
  KEY `TABLE_PARAMS_N49` (`TBL_ID`),
  CONSTRAINT `TABLE_PARAMS_FK1` FOREIGN KEY (`TBL_ID`) REFERENCES `TBLS` (`TBL_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin2
1 row in set (0.00 sec)
修改hive-site.xml
<property>
  <name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://CNSZ141196.app.paic.com.cn:3306/hive_meta?useUnicode=true&amp;characterEncoding=UTF-8&amp;createDatabaseIfNotExist=true</value>
  <description>JDBC connect string for a JDBC metastore</description>
</property>

<property>
  <name>hive.stats.dbconnectionstring</name>
<value>jdbc:mysql://CNSZ141196.app.paic.com.cn:3306/hive_stats?useUnicode=true&amp;characterEncoding=UTF-8&amp;user=hive&amp;password=hv123.&amp;createDatabaseIfNotExist=true</value>
  <description>The default connection string for the database that stores temporary hive statistics.</description>
</property>





分享到:
评论

相关推荐

    udp通信,windows和linux版本

    出现中文乱码的话,那一定是运行此程序的窗口的编码格式不一致,只要改为一致就可以了。如果要将dos窗口的编码方式改为UTF8,可参考:http://blog.csdn.net/joeblackzqq/article/details/7010322

    Windows 客户端访问ftp应用服务器出现乱码

    linux下部署linux ftp,windows客户端下访问出现乱码,调整字符集手册

    linux下mysql乱码问题的解决方案

    项目进行到和服务器交互,通过post访问服务器端jsp,jsp访问服务器端mysql数据库,最终返回到客户端的中文出现乱码问题。 在整个流程中,出现错误的原因可能是三个:post未设置编码或者编码不相符合,jdbc出现问题,...

    SecureCRT中文显示乱码问题的解决方法

    问题:vi编辑器编辑文件时文件中的内容中文显示乱码,但是直接使用linux系统terminal打开此文件时中文显示正常,确诊问题出现在客户端即SecureCRT的显示问题 解决方法: 1、修改远程linux机器的配置 [root@rhel ~]#...

    编写socket通信,服务器和客户端分别是windows和linux.但是收到的数据不是乱码 什么原因 如何解决.zip

    编写socket通信,服务器和客户端分别是windows和linux.但是收到的数据不是乱码 什么原因 如何解决.zip

    html2fpdf 中文支持

    经多番查找,发现了这个 html2fpdf 的PHP类,搜索有关资料以及实际测试,发现官方下载的类文件中并没有加入对中文的支持,因此输出带有中文的网页会出现乱码。 好在官方提供了Chinese支持文件,但苦于不知如何使用...

    webi中文乱码

    1.数据库环境导致的乱码:需要设定客户端的编码格式和数据库的编码格式相同:NLS_LANG变量 2.汉字在报表上显示为方块: 原因:缺少ARIALUNI.TTF字体 解决方案:copy ARIALUNI.TTF 到 /usr/X11R6/lib/X11/fonts/...

    redis命令行查看中文不乱码的方法(十六进制字符串处理)

    redis命令行查看中文不乱码 Redis在使用命令行操作时,如果查看内容中包含中文,会显示16进制的字符串”\xe4\xb8\xad\xe5\x9b\xbd” 127.0.0.1:6379&gt; set k1 '中国' OK 127.0.0.1:6379&gt; get k1 "\xe4\xb8\xad\xe5\...

    iNodeClient_Linux

    ubuntu的校园网客户端,支持中文,中文显示不乱码。

    SSH 开源图形化 SFTP 客户端 WinSCP 5.17.9.zip

    但WinSCP不支持编码选择,也就是说,你在Windows下使用WinSCP连接一个Linux机器,因为Linux和Windows的默认编码不同,因此是无法访问上面的中文文件或者文件夹的(将看到乱码)。一种解决方法就是在打开winscp时...

    Xftp7一种灵活且轻量级的SFFT/FTP客户端

    Xftp 7是一种灵活且轻量级的SFFT/FTP客户端,用于需要安全地通过网络传输文件的用户。使用Xftp7软件能让文件传输被...重要的是可以自定义上传文件的编码 可以有效解决 由WINDOWS平台访问LINUX平台FTP中文件名乱码的问题

    FTPClientUnderLinux:Linux 下 CLI 中的 FTP 客户端 (C)

    Linux下的FTP客户端Linux下CLI中的FTP客户端代码和互联网应用课程项目的报告。 该代码是几年前在我的本科课程中编写的。 通过多次上传/下载、zip/upzid 和在不同语言环境中打开,文件中出现了一些奇怪的乱码。 如果...

    【Linux】Ubuntu使用FlashFXP(FTP客户端)

    中文乱码解决方法 在home目录下Ctrl+h 将显示.wine文件夹,把window系统中的C:\WINDOWS\Fonts文件夹直接copy到.wine/drive_c/windows 目录中并覆盖其Fonts目录即可。 将语言设置成英文也行 配置桌面快捷键 在终端...

    让Linux(centos)支持中文文件和文件夹

     2、本地的Shell客户端编码也设置成UTF-8,这样让在windows上传到linux的文件或者目录不会出现乱码;  3、重要:如果用SecureFXPortable上传时需要需要手工编辑SecrueFX的这个Session的配置文件才行(找到...

    Linux学习笔记

    CentOS 6 安装VirtualBox客户端增强功能、Windows 7同 Linux双启动、修复Windows 7系统MBR、常用配置文件、Linux终端乱码的解决办法

    Wing FTP Server v6.0.9.zip

    跨平台 - 支持的操作系统有 Windows, Linux, MacOS 和Solaris 多种传输协议 - 支持FTP, FTPS, HTTP, HTTPS 和SFTP 基于Web的管理端 - 随时随地管理你的服务器 基于Web的客户端 - 随时随地分享,存取你的文件 ...

    RHCE课程笔记

    RHEL5.1安装VM TOOL及解决中文乱码方案 11月1日课程 6、shell以及环境变量 RHCE课程-RH033Linux基础笔记四 11月2日课程 7、常用文本文件编辑查看命令及VIM RHCE课程-RH033Linux基础笔记五 11月8日课程 8、网卡,...

    远程访问工具集合 - XShell 5、XFtp 5

    Xshell 是目前最好的linux远程登录工具,速度流畅且完美解决了中文乱码。 Xshell 是一个强大的安全终端模拟软件,支持SSH1、SSH2以及Miscrosoft Windows 的 TELNET协议。 -----------------------------------------...

    Firebird数据库中文版

    Firebrid在常见的平台上都可运行,如Linux和Windows(包括Windows终端服务器)其它支持的平台包括(MAC OS(苹果机), Solaris及HP-UX) 把数据库从一个平台转到另一个平台,非常的容易,只要备份数据库,然后,再...

    基于win32编程的网络聊天工具

    2012年我的本科毕业设计,...打开后,如果有乱码(使用Linux时搞的压缩包,可能会出现乱码),双击打开Release里面的exe文件即可看出是服务器端还是客户端!数据库当时使用的是MySQL数据库,其他的没测试过,不知会不会出现错误!

Global site tag (gtag.js) - Google Analytics