又是装环境的一天天天天天
我又开始装环境了,记录一下这次装环境踩的坑。这次装的都是比较新的版本:
- Hadoop 3.1.3
- HBase 2.2.2
- Spark 2.4.0
- sbt 1.3.8
- Scala 2.11.12
- Kafka 0.10.2.0(比较旧)
ifconfig无法运行
运行该命令时报:
Command 'ifconfig' is available in '/sbin/ifconfig'
The command could not be located because '/sbin' is not included in the PATH environment variable.
This is most likely caused by the lack of administrative privileges associated with your user account.
ifconfig: command not found
环境变量出了问题。在用户目录的.bashrc
文件中加入:
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:$PATH
source一下,解决问题。
无法更改默认Java
修改环境变量并source使其生效后,在另一个窗口运行
java -version
仍然是系统自带的Java,没有更改成功?查看一下java的路径:
hadoop@linux $ which java
/usr/bin/java
到/usr/bin
目录下发现java链接到/etc/alternatives/java
,而/etc/alternatives/java
链接到了系统之前的Java版本上了。问题可能出在上一步中,将/usr/bin
加入到环境变量中。于是将/usr/bin/java
删除,重新source一下,就解决了这个问题。
cd /usr/bin
sudo rm -f java
cd ~
source .bashrc
eclipse启动报错
在桌面创建好eclipse启动项后,启动时报错。
A Java Runtime Environment (JRE) or Java Development Kit(JDK)
must be available in order to run Eclipse. No Java virtualmachine
was found after searching the following locations:
...
eclipse找不到系统中的JRE或JDK,可以在eclipse安装目录下创建一个软连接,连接至系统的JDK路径。
cd /usr/local/eclipse
mkdir jre
cd jre
ln -s /usr/lib/jvm/jdk-1.8.0_162/bin bin
然后再次启动,还是报错。
jvm terminated.exit code=1
看了一下是内存不够了,加内存吧,GG。
HBase报错
打开HBase Shell,运行所有命令都会报错。
ERROR: KeeperErrorCode = NoNode for /hbase/master
好像是找不到HMaster了,而且关闭HBase的时候一直隔那.........
解决办法:
叫陈家大少帮我解决了,去zookeeper里面删了一些节点,具体是哪些节点我也不懂了。这个故事告诉我们,不要追求新版本,问题真多。启动HBase shell的时候也会报错,但是不影响使用就先不管了。
sbt换源
这次装的是sbt-1.3.8
,终于换源成功了!!!!!!!!!参考sbt无痛入门指南,关键步骤是要设置所有项目均使用全局仓库配置,忽略项目自身仓库配置。
cd /usr/local/sbt/conf
vim sbtopts
在sbtopts
中加入
-Dsbt.override.build.repos=true
然而到真正打包的时候一开始还是去maven中心仓库下载,很多包国内源里还是莫得。到后面会到国内源下载。
sbt打包问题
打包时报错:
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256M; support was removed in 8.0
[info] Loading project definition from /home/hadoop/code/sparkapp/project
[info] Loading settings for project sparkapp from simple.sbt ...
[info] Set current project to Simple Project (in build file:/home/hadoop/code/sparkapp/)
[info] Compiling 1 Scala source to /home/hadoop/code/sparkapp/target/scala-2.11/classes ...
[info] Non-compiled module 'compiler-bridge_2.11' for Scala 2.11.12. Compiling...
/usr/local/sbt/sbt: line 3: 1652 Killed java $SBT_OPTS -jar `dirname $0`/sbt
-launch.jar "$@"
整了一晚上,发现是因为内存不够了,进程跑了一半被杀了。百度了一圈好像还没有倒霉蛋遇到我这个问题,关了HDFS就能跑了,或者关一些你认为占内存大的应用。
Spark-shell启动报错
一定要注意不能把kafka/libs
下的所有jar包一股脑地都放到/spark/jars
里,直接导致了jar包冲突,spark shell无法启动,只能手动把/spark/jars
底下从kafka/libs
移过来的包一一删除。