- 浏览: 14176 次
- 性别:
- 来自: 南京
最新评论
文章列表
hive相关报错问题解决办法
- 博客分类:
- 总结随想
1.Unable to determine Hadoop version information. 'hadoop version' returned:
解决办法:
修改bin/hive,
# HADOOP_VERSION=$($HADOOP version | awk '{if (NR == 1) {print $2;}}');
HADOOP_VERSION=$($HADOOP version | awk '{if($0 ~ /[[:alpha:]]+ ([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)?.*$/){print $2 ...
maven编译参数设置
- 博客分类:
- 总结随想
1.编译时报javadoc相关错误
估计是maven插件版本配置的问题,修改版本号解决,如果不需要javadoc并且无法修改maven插件配置的话,可以这么做:
mvn -Dmaven.javadoc.skip=true clean package
2.如果不需要运行测试:
clean package -Dmaven.test.skip=true
JAVA程序提示不能创建线程,定位思路
- 博客分类:
- 总结随想
1、首先通操作系统命令查看当前有多少线程在运行
pstree | wc -l
2、如果很多,看一下哪个进程创建的多,可以通过top命令看谁占CPU较多,通过jstack查看线程堆栈是否异常
3、再看一下本程序jvm堆内存及线程栈内存设置的是否过大
1.内存可见性
synchronized关键字同步有两方面的作用:
(1)实现原子性或者确定临界区
(2)确保内存可见性
所谓内存可见性,即当一个线程修改了对象状态后,其他线程能够看到修改后的状态。
多线程程序在没有同步的情况下,编译器、处理器及运行时等都可能对操作执行顺序进行一些意想不到的调整。在缺乏足够同步的多线程程序中,要想对内存操作的执行顺序进行判断,几乎无法得出正确的结论。
1.1 失效数据
比如线程在没有同步的情况下读取变量时得到的可能是失效数据(之前某个线程设置的值)。
1.2 非原子的64位操作
非volatile的64位数值 ...
1.什么是线程安全性
当多个线程访问某个类时,不管运行时环境采用何种调度方式或者现线程将如何交替执行,并且在主调代
码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么这个类就是线程安全的。
在线程安全的类中封装了必要的同步机制,因此调用者无需进一步采取同步措施。
无状态对象一定是线程安全的。
2.竞态条件
在并发编程时,由于不恰当的执行时序而出现不正确的结果。
比如,先检查后执行。
3.加锁机制
要保持状态的一致性,就需要在单个原子操作中更新所有的状态变量。
3.1内置锁
Java提供了一种内置的锁机制来支持原子性,即同步代码块 ...
spark应用程序开发总结
- 博客分类:
- 总结随想
1.静态变量取不到值,报空指针异常
出现这种情况主要原因: rdd的操作中去读取配置文件中的值,如:public static float col1= Float.valueOf(RESOURCE_BUNDLE.getString("col1"));解决办法:把操作rdd的方法抽取到一个单独的类中,让该 ...
log4j DailyRollingFileAppender不支持只保留最近n天的数据,时间一久导致日志文件很多,并且一天的文件有可能比较大,所以自己写了个appender,以解决这两个问题。 具体代码实现如下:
package com.mytools.common.log4jext;
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.io.Writer;
import java.text.SimpleDateFormat;
import ja ...
1.jdk的命令行工具
(1)jps 虚拟机进程状况工具
(2)jstat 虚拟机统计信息监控工具
(3)jinfo java配置信息工具
(4)jmap java内存映像工具
jmap命令格式: jmap [option] vmid
jmap -dump:format=b,file=eclipse.bin ...
TCP状态转移要点
TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不会被释放。网络服务器程序要同时管理大量连接,所以很有必要保证无用连接完全断开,否则大量僵死的连接会浪费许多服务器资源。在众多TCP状态中,最值得注意的状态有两个:CLOSE_WAIT和TIME_WAIT。
1、LISTENING状态
FTP服务启动后首先处于侦听(LISTENING)状态。
2、ESTABLISHED状态
ESTABLISHED的意思是建立连接。表示两台机器正在通信。
3、CLOSE_WAI ...
1 网络环境
1.1 修改hosts文件
设置/etc/hosts文件(每台机器上都要设置),添加如下内容
192.168.1.101 testServer
namenode与datanode的/etc/hosts内容都必须是ip位址与host name的对应,不能使用127.0.0.1代替本机的ip地址,否则hadoop使用hostname找ip时, ...