解决mongodb启动时报locale错误以及linux终端或hive CLI无法输入中文的方法

原创 2013年12月02日 15:43:13

在安装完mongodb后,进入$MONGODB_HOME/bin  执行mongod启动时报

exception in initAndListen: 14043 clear tmp files caught exception exception: locale::facet::_S_create_c_locale name not valid, terminating

从error信息可以看出应该是locale的配置有问题。

可以执行  locale 查看下本地配置  

解决这个错误的方法如下:

export LC_ALL="C" 即可;

以下是我的配置,仅供参考:

LANG=en_HK.UTF-8
LANGUAGE=en_HK:en
LC_CTYPE="en_HK.UTF-8"
LC_NUMERIC=zh_CN
LC_TIME=zh_CN
LC_COLLATE="en_HK.UTF-8"
LC_MONETARY=en_HK.UTF-8
LC_MESSAGES="en_HK.UTF-8"
LC_PAPER=en_HK.UTF-8
LC_NAME=en_HK.UTF-8
LC_ADDRESS=en_HK.UTF-8
LC_TELEPHONE=en_HK.UTF-8
LC_MEASUREMENT=en_HK.UTF-8
LC_IDENTIFICATION=en_HK.UTF-8
LC_ALL=


如果 按这个配置后,有报 cannot change locale (en_HK.UTF-8): No such file or directory 

是因为你本机未安装该语言库

进入 /usr/share/locales

执行 ./install-language-pack en_HK.UTF-8

再执行 dpkg-reconfigure locales

即可。

顺便提一下,如果在终端界面或hive的CLI中无法输入中文也可以这样配置


hive 客户端调用脚本无法处理中文问题

export LANG=en_US.UTF-8 export LC_CTYPE=en_US.UTF-8 export LC_NUMERIC=en_US.UTF-8 export LC_TIME=...
  • babydavic
  • babydavic
  • 2014年05月21日 16:33
  • 5028

解决hive查询中文乱码问题

在通过终端查询hive时,终端结果显示为乱码。 这种情况出现的原因是: 1.shhive在将数据写入hdfs时候,会把数据格式转换为utf-8格式的。如果你导入hive表的源数据不是utf-8格式...
  • u010670689
  • u010670689
  • 2014年11月05日 14:17
  • 7079

Hive简述及几种访问方式

what is hive? Hive 是建立在Hadoop上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据的提取转化加载(ETL ),这是一种可以存储、查询和分析存储在 Hadoop 中...
  • scgaliguodong123_
  • scgaliguodong123_
  • 2015年07月13日 16:26
  • 2707

从CSV文件导入Hive出现中文乱码问题解决

关于HIVE中文乱码问题的解决办法,网上有很多帖子,然而很多都是基于LINUX终端显示字符的修改,其实上对于一些条件下的HIVE中文乱码问题是无法解决的,如从CSV文件导入到HIVE中出现的中文乱码问...
  • sparkexpert
  • sparkexpert
  • 2015年12月12日 19:29
  • 6697

hive创建表时COMMENT带中文报错问题处理

环境:CDH 5.5.1 hive创建表时带有中文就报错,如下: CREATE TABLE IF NOT EXISTS test(pid bigint COMMENT '测试id',fid int ...
  • levy_cui
  • levy_cui
  • 2016年06月12日 14:45
  • 3103

hive 交互

hive非交互模式 1,可以将hive执行的sql语句保存到脚本文件中,通过-f选项制定脚本文件执行hive eg:hive -f script.sql   2,对于较短的sql语句,可以直接...
  • mlljava1111
  • mlljava1111
  • 2015年05月27日 19:54
  • 299

hive中文乱码的解决办法

在HIVE中建表的时候,有时候难免要表中文注释,然而如果不经过配置,会导致desc某个表名的时候,直接以?的方式返回。 因此也来解决一下HIVE中文注释乱码的问题。由于HIVE的元数据是存在于M...
  • u013368491
  • u013368491
  • 2017年05月03日 00:02
  • 2130

HIVE 命令行

执行一个查询 $HIVE_HOME/bin/hive -e 'select a.col from tab1 a' 之后过程中,会在终端上显示mapreduce的进度,执行完毕后,最后把查询...
  • IQuicksandI
  • IQuicksandI
  • 2013年01月23日 22:11
  • 22499

hive命令行小窍门

1.用户不需要退出hive CLi就可以执行bash shell命令,只要在命令前加!并且以分号结尾就可以了 hive> ! /bin/echo "hello world"; "hello worl...
  • l0979365428
  • l0979365428
  • 2015年08月10日 16:41
  • 1840

linux终端不能输入中文解决方法

再在用户目录下的.inputrc文件(如果没有,则新建一个)添加: set meta-flag on set convert-meta off set input-meta on set ou...
  • lyd518
  • lyd518
  • 2013年03月26日 16:57
  • 1735
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解决mongodb启动时报locale错误以及linux终端或hive CLI无法输入中文的方法
举报原因:
原因补充:

(最多只允许输入30个字)