安装brew
安装hadoop
前提是需要安装好Java
,
一行命令解决:brew install hadoop
安装完成之后,hadoop
的安装目录在 /usr/local/Cellar/hadoop
22端口没有打开
解决方法是:
选择系统偏好设置->选择共享->点击远程登录
执行 ./start-dfs.sh 需要密码
这里是因为没有配置免密登陆。
免密登陆配置三步走(如果没有权限加sudo):
1、ssh-keygen -t rsa
2、cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3、chmod 600 authorized_keys
然后用ssh localhost测试。
如果发现仍然需要输入密码,此时大概率是权限问题:
ssh父目录的权限是755(我的是~),
.ssh目录权限是700,
authorized_keys文件 600
chmod 755 ~
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
执行 ./start-dfs.sh 疯狂报错
报错信息如下:
2021-01-10 22:08:55,121 DEBUG util.Shell: setsid is not available on this machine. So not using it. 2021-01-10 22:08:55,121 DEBUG util.Shell: setsid exited with exit code 0。。。此处省略n行
解决方案:
将 /usr/local/Cellar/hadoop/{版本号}/libexec/etc/hadoop/hadoop-env.sh
中的export前面的#去掉。
export HADOOP_OPTS="-Djava.net.preferIPv4Stack=true"
# For Kerberos debugging, an extended option set logs more information
export HADOOP_OPTS="-Djava.net.preferIPv4Stack=true -Dsun.security.krb5.debug=true -Dsun.security.spnego.debug"
安装scala
一行命令:brew install scala2.11
或者,去官网下载scala2.11版本安装。
版本不兼容问题
开始装了scala2.11.12,然后命令行输入scala,出现如下错误:
[ERROR] Failed to construct terminal; falling back to unsupported
java.lang.NumberFormatException: For input string: "0x100"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.valueOf(Integer.java:766)
at jline.internal.InfoCmp.parseInfoCmp(InfoCmp.java:59)
at jline.UnixTerminal.parseInfoCmp(UnixTerminal.java:242)
at jline.UnixTerminal.<init>(UnixTerminal.java:65)
at jline.UnixTerminal.<init>(UnixTerminal.java:50)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
⚠️这是因为scala版本问题,将scala版本降级到scala2.11.8版本就没有问题了。