精华内容
下载资源
问答
  • 这里我window压缩了一个文件,然后上传到服务器,解压是乱码,然后我把解压文件上传到OSS,然后发现乱码了,然后把文件信息写入到odps表,这样表字段也是乱码,还不能修改,就很烦。 这里对于解压乱码...

    1、最近项目中使用的是阿里云的odps,也就是MaxComputer,odps表有个特点就是不支持update和delete,所以你上传出内容有误,那也没办法。

    这里我在window下压缩了一个文件,然后上传到服务器,解压是乱码的,然后我把解压的文件上传到OSS,然后发现乱码了,然后把文件信息写入到odps表中,这样表中字段也是乱码,还不能修改,就很烦。

    这里对于解压乱码问题,看到一个普遍的解决办法:

    unzip -O cp936 fileName

    这样可以保证解压后文件不是乱码的。

    展开全文
  • 最近尝试将Linux作为开发环境,今天遇到个坑爹的问题,特此记录,希望能给像我一样遇到同样问题的人一些帮助。

    Linux作为开发环境过程中遇到的坑

    最近在尝试将Linux作为开发环境,今天遇到个坑爹的问题,特此记录下,希望能给像我一样遇到同样问题的人一些帮助。

    1. 在Linux上搭建了Android开发环境后,发现在DDMS中没有看到任何设备,在命令行中关闭启动服务多次仍没有任何效果,折腾了半天才发现手机USB插入电脑后都没有显示盘符,我去,突然记起Linux有挂载的说法,百度后得知Linux连接手机早已不需要挂载了。那是什么问题呢,突然觉得连接电脑的数据线怎么那么不熟悉,找到自己手机原装数据线重连后居然好了…欲哭无泪啊
    展开全文
  • 大数据开发过程中遇到的问题

    千次阅读 2018-03-01 15:48:38
    在linux下执行top命令查看各进程使用内存情况 如果发现没有进程耗费太大内存 查看空闲内存:free -m 发现空闲内存所剩无几: buffers与cached占用了将近一半内存 什么是buffer/cache? buffer和...

    1.由于内存不够引起
    在linux下执行top命令查看各进程使用内存情况
    如果发现没有进程耗费太大的内存
    查看空闲内存:free -m
    这里写图片描述
    发现空闲内存所剩无几:
    buffers与cached占用了将近一半的内存
    什么是buffer/cache?
    buffer和cache是两个在计算机技术中被用滥的名词,放在不通语境下会有不同的意义。在Linux的内存管理中,这里的buffer指Linux内存的:Buffer cache。这里的cache指Linux内存中的:Page cache。翻译成中文可以叫做缓冲区缓存和页面缓存。在历史上,它们一个(buffer)被用来当成对io设备写的缓存,而另一个(cache)被用来当作对io设备的读缓存,这里的io设备,主要指的是块设备文件和文件系统上的普通文件。但是现在,它们的意义已经不一样了。在当前的内核中,page cache顾名思义就是针对内存页的缓存,说白了就是,如果有内存是以page进行分配管理的,都可以使用page cache作为其缓存来管理使用。当然,不是所有的内存都是以页(page)进行管理的,也有很多是针对块(block)进行管理的,这部分内存使用如果要用到cache功能,则都集中到buffer cache中来使用。(从这个角度出发,是不是buffer cache改名叫做block cache更好?)然而,也不是所有块(block)都有固定长度,系统上块的长度主要是根据所使用的块设备决定的,而页长度在X86上无论是32位还是64位都是4k。

    明白了这两套缓存系统的区别,就可以理解它们究竟都可以用来做什么了。

    什么是page cache?
    Page cache主要用来作为文件系统上的文件数据的缓存来用,尤其是针对当进程对文件有read/write操作的时候。如果你仔细想想的话,作为可以映射文件到内存的系统调用:mmap是不是很自然的也应该用到page cache?在当前的系统实现里,page cache也被作为其它文件类型的缓存设备来用,所以事实上page cache也负责了大部分的块设备文件的缓存工作。

    什么是buffer cache

    Buffer cache则主要是设计用来在系统对块设备进行读写的时候,对块进行数据缓存的系统来使用。这意味着某些对块的操作会使用buffer cache进行缓存,比如我们在格式化文件系统的时候。一般情况下两个缓存系统是一起配合使用的,比如当我们对一个文件进行写操作的时候,page cache的内容会被改变,而buffer cache则可以用来将page标记为不同的缓冲区,并记录是哪一个缓冲区被修改了。这样,内核在后续执行脏数据的回写(writeback)时,就不用将整个page写回,而只需要写回修改的部分即可。

    如何回收cache?
    Linux内核会在内存将要耗尽的时候,触发内存回收的工作,以便释放出内存给急需内存的进程使用。一般情况下,这个操作中主要的内存释放都来自于对buffer/cache的释放。尤其是被使用更多的cache空间。既然它主要用来做缓存,只是在内存够用的时候加快进程对文件的读写速度,那么在内存压力较大的情况下,当然有必要清空释放cache,作为free空间分给相关进程使用。所以一般情况下,我们认为buffer/cache空间可以被释放,这个理解是正确的。

    但是这种清缓存的工作也并不是没有成本。理解cache是干什么的就可以明白清缓存必须保证cache中的数据跟对应文件中的数据一致,才能对cache进行释放。所以伴随着cache清除的行为的,一般都是系统IO飙高。因为内核要对比cache中的数据和对应硬盘文件上的数据是否一致,如果不一致需要写回,之后才能回收。
    cat /proc/sys/vm/drop_caches
    1
    方法是:

    echo 1 > /proc/sys/vm/drop_caches
    当然,这个文件可以设置的值分别为1、2、3。它们所表示的含义为:

    echo 1 > /proc/sys/vm/drop_caches:表示清除pagecache。
    echo 2 > /proc/sys/vm/drop_caches:表示清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache。
    echo 3 > /proc/sys/vm/drop_caches:表示清除pagecache和slab分配器中的缓存对象。
    我们这里执行:echo 3,执行之后发现buffer跟cache所占内存明显小了

    2.批量删除hadoop中的任务
    for i in hadoop job -list | grep -w root| awk '{print $1}' | grep job_; do hadoop job -kill $i; done
    for i in yarn application -list | grep -w root| awk '{print $1}' | grep application_; do yarn application -kill $i; done

    3.map,reudce锁死问题:
    (我们用的CDH平台,解决方式是把mapreduce.job.reduce.slowstart.completedmaps中的参数由0.8改为1)参考博客:https://www.cnblogs.com/yueweimian/p/4667888.html

    "4 .java.io.IOException: Filesystem closed"
    多线程并发调用org.apache.hadoop.fs.FileSystem.close()
    解决方式:
    禁用hdfs缓冲
    conf.setBoolean(“fs.hdfs.impl.disable.cache”, true);
    "5.hbase预分区后只有一个map"
    解决方式:
    默认map数量是由region数量决定的,但是好像没有起作用,用TableMapReduceUtil.initTableMapperJob中的scan,有多少个scan就有多少个map
    List scans = getScans(conf);
    TableMapReduceUtil.initTableMapperJob(scans, PerformanceCounterDJob.PerformanceMapper.class,
    ImmutableBytesWritable.class, LongWritable.class, job);

    展开全文
  • 遇到的Linux中的su命令 linux环境,常常需要我们切换用户,...然而使用docker的过程中,我遇到了一个问题问题描述: 通过docker run -td name /bin/bash搭建一个容器以后,使用docker exec -it id /bin...

    遇到的Linux中的su命令

    linux环境下,常常需要我们切换用户,通过不同的权限,可以控制系统的安全性。所以例如ES会明确要求不能用root用户进行开发。
    于是我们需要使用su命令切换用户。
    然而在使用docker的过程中,我遇到了一个问题。
    问题描述:
    通过docker run -td name /bin/bash搭建一个容器以后,使用docker exec -it id /bin/bash 进入容器。
    当此时,进入的是默认的root用户。在此内新建用户newuser后,依次赋予权限,添加用户组等一系列过程。然后使用su newuser 进入newuser的工作环境以后,发现无法继续使用sudo或者su命令。
    错误显示:
    su: must be run from a terminal
    sudo: no tty present and no askpass program specified
    解决方案:
    其实最初意图是使用sudo进行管理员权限的控制,然后发现了sudo的错误提示后,百度的结果是修改sudoer之类的,所有的尝试都发现不能用。
    于是我偶然的一个尝试,想要切换会root账户进行尝试,结果发现了su这个命令使用后的错误。
    这个错误提示很显而易见,说明当前并不是从terminal进行的命令。在google寻找了相关的解答。在stackoverflow上的高赞回答是使用-tt进行登录,包括github的一个issue里面也显示的是docker启动容器或者进入容器时候的参数修改。但是并没有什么用。而我确实是用docker登录后,在root环境下能使用su和sudo命令,却不能在newuser环境下使用。
    这时候,我突然想,为什么不先放一放呢?我在root下继续我的工作,等碰到了问题再说咯。
    这里下一步的工作是要安装一个ssh进行通信。
    巧了,我突然想到,要是我自己对自己进行通信呢?于是我安装了ssh,开启了相关服务和端口后,ssh localhost 连接到了本机,并成功使用了su和sudo命令。

    启发:

    有什么问题,不妨先放一放。

    展开全文
  • 1、APP_DEBUG改成false上线之后发现:“页面错误!请稍后再试~ TP框架 页面错误!请稍后再试 ... // display不指定具体某个模板文件时候,取当前方法名转小写,win下正常,Linux下报错 $this->
  • 由于我最近开发的 Web 程序多是采用 Python 为主,因此大部分都是...说完前提,就来介绍使用 IIS 中遇到的一些问题。 .otf, .svg, .woff 和 .woff2 等字体文件返回 404 有使用 Bootstrap、FontAwsome,Semant...
  • linux安装docker,已经遇到的问题

    千次阅读 2018-10-12 15:08:57
    实际开发中,我们经常会遇到多台机器配置相同...学习的过程中发现Docker可以解决这个问题,所以记录安装遇到的坑 1、首先我们需要安装linux系统,可以上网 2、接下来需要查看linux内核版本,因为Docker需要L...
  • 浅谈java.awt使用过程中遇到的问题

    千次阅读 2015-12-07 22:27:43
    1java.awt类 属于jdk... 规避的方式:将开发环境和生产环境一样,否则开发的时候这个环境是可以的,但是线上是另外一种环境,那么就是浪费很多不必要的时间去解决这些不必要的问题 2linxu环境真是因为有了jdk
  • 首先,我所用的linux内核版本是2.6.xx的,后面3.10.7的应该会加入许多新东西,或许不会遇到下面的问题。 1、触摸板如何校正? 查看/etc有个文件pointercal,删除该文件,reboot,系统将重启,自动进入校准界面。...
  • Linux下s3c-2410开发环境搭建

    万次阅读 2014-03-27 09:56:52
    本博客主要内容参照了s3c-2410开发光盘中2410-S实验指导书@2006.11.pdf,文档位于光盘下linux/doc目录中, 配置的过程中遇到了不少问题, 花了一天时间才配置完成, 为了防止自己忘记, 所以记录一下,以此缅怀。...
  • 安装过程中遇到了好多问题,因为很少用过这种类型软件 首先是发现绝大部分人都是在Linux环境使用ror,很是郁闷,因为我不会Linux 然后找到Windows系统下的rails下载地址,http://railsinstaller.org/ 可是不...
  • ARM QT开发过程中遇到一种现象,QLabel、QPushButton等控件样式表内配有禁用状态样式,PC机上一切都正常显示,但是交叉编译到ARM机器上去禁用状态的控件文字显示有重影(蚀刻)的问题。 这里QLabel设有...
  • 本文档共分为四部分,第一部分是...附录中记载了在开发过程中曾今遇到的一些问题以及标准库中提供的一些通用性功能的实现,对以这些通用性功能用户可以根据自身的需要进行裁剪。读者可以根据自己的需要选择性的阅读。
  • 我们都知道,基于Java开发的服务端程序,需要容器才能使用,所以这里我们讲下期一种服务器容器Tomcat安装,安装完Tomcat,你开发的服务端代码就可以服务器环境真正运行起来了 下载Tomcat 下载Tomcat...
  • 使用Linux系统是开发的必然结果,本文旨在汇总使用ubuntu16.04的过程中遇到的问题及解决方法,由于事隔多时,先贴出参考的链接,待闲暇时补全。 本人使用的ubuntu是安装VMware虚拟机的,搭建过程大致分如下...
  • 很多开发者搭建LAMP的过程中遇到各种各样的问题,想到这些头都快爆炸了,今天特意抽出时间将PHP开发环境的搭建过程记录下来,以便供大家做个参考。如果大家发现什么问题,还希望大家指正。一、获取安装包PHP下载...
  • 之前前几周遇到开发过程中遇到这样一种这样的问题,不知道大家有没有遇到过,就是我spring boot中使用mave将项目打包成jar包部署到linux服务器上后,当我运行一个接口时,居然报错了,这里我贴出来给大家看,如...
  • 似乎网上讨论这一方案文章也特别少,这个过程中也进行了各种尝试,遇到很多具体问题,以下便对之前所作一些工作做一些总结和分享,省时间长了自己也忘记了,也希望后来者能少走弯路,并找到适合自己最佳方案...
  • 1、一路回车的过程中遇到这样一个提示。What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include]网上一顿乱找,终于找到了解决方法。原因是Fedora9...
  • 第一次使用MySql数据库,又是Linux系统,开发和测试过程中遇到一些问题,总结下来和大家分享: 1、Linux下的MySql严格区分大小写,默认是小写,我们写Sql语句时候会使用大写,此时将无法执行。  解决方法如下:...
  • 首先介绍了Linux下设备驱动程序设计的基本知识,其中包括对Linux的发展历程、内核、特性的概述,Linux...最后介绍了驱动程序开发设计过程中遇到的问题和困难以及是如何去克服这些困难的,并提出了今后的努力方向
  • 似乎网上讨论这一方案文章也特别少,这个过程中也进行了各种尝试,遇到很多具体问题,以下便对之前所作一些工作做一些总结和分享,省时间长了自己也忘记了,也希望后来者能少走弯路,并找到适...
  • linux开发路径搜索

    2016-12-03 00:38:11
    windows下,如果一个可执行程序(exe)以来... 在linux下开发过程中遇到的问题就是即使你将组建放在于可执行程序(随意格式)相同目录,运行可执行程序都无法跑起来!因为linux下默认的搜索路径是这样的: (1)先
  • 以前公司在开发阶段连接redis一直是正式环境中,最近老大让我在搭建一个局域网内redis用于开发阶段时连接使用,搭建过程中遇到了一些问题,还好已经解决了,在这里记录一下。 首先是搭建redis,这个比较...
  • 很多开发者搭建LAMP的过程中遇到各种各样的问题,想到这些头都快爆炸了,今天特意抽出时间将PHP开发环境的搭建过程记录下来,以便供大家做个参考。如果大家发现什么问题,还希望大家指正。一、获取安装包PHP下载...
  • 今天尝试Windows...记录下过程中解决遇到的两个问题 1.git clone需要加上--recurse-submodules 开始使用GitHub Desktop直接clone,没有想到一些第三方库绑定的是引用。 编译开始后,保存,查看路径发现完...
  • 很多开发者搭建LAMP的过程中遇到各种各样的问题,想到这些头都快爆炸了,今天特意抽出时间将PHP开发环境的搭建过程记录下来,以便供大家做个参考。如果大家发现什么问题,还希望大家指正。 一、获取安装包 PHP...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 435
精华内容 174
关键字:

linux下在开发过程中遇到的问题

linux 订阅