/java>/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java是系统默认的java路径,但是安装的JDK,会被安装到/Library/Java/JavaVirtualMachines/下面,比如:
/Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/,
JAVA_HOME是/Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home。
MAC下自带ssh,可以通过下面的命令来验证:
更改设置如下:进入system preference –> sharing –> 勾选remote login,并设置allow access for all users。输入“ssh localhost”,再输入密码并确认之后,可以看到ssh成功。
不过这里面还有一个麻烦,就是每次都会要求输入用户密码。
ssh配置如下:
local:~ yourname$ ssh-keygen -t rsa
//然后依次回车,输入密码,这个密码和SSH的帐号密码无关。
//整个界面看上去类似:
local:~ yourname$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/u/kim/.ssh/id_rsa): 【回车】
Enter passphrase (empty for no passphrase): 【直接回车】
Enter same passphrase again: 【直接回车】
Your identification has been saved in /u/kim/.ssh/id_rsa.
Your public key has been saved in /u/kim/.ssh/id_rsa.pub.
//接下来把密钥文件传到你的SSH帐号下:
local:~ yourname$ cd ~/.ssh
local:~ yourname$ cp id_rsa.pub authorized_keys
local:~ yourname$ scp -p ~/.ssh/authorized_keys vb_macos:.ssh/
以下是ssh免登录方法:
在终端中输入:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
ssh-keygen表示生成秘钥;-t表示秘钥类型;-P用于提供密语;-f指定生成的秘钥文件。这个命令在”~/.ssh/“文件夹下创建两个文件id_dsa和id_dsa.pub,是ssh的一对儿私钥和公钥。接下来,将公钥追加到授权的key中去,输入:
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
操作结果如下图:
此时表示ssh配置成功。
直接用ssh命令连接本地主机或远程主机时会遇到下列错误提示:
ssh: connect to host localhost port 22: Connection refused
则为未打开远程登录。
到此一些基本的准备条件已经完成。
Hadoop 1.2.1下载网址
选择如下版本:
下载下来后解压缩,放到自己认为合适的目录下,实验中将其放在了:/Users/huangtao/Documents 下,即MAC文稿文件夹下。
在终端中输入:vi ~/.bash_profile
在bash_profile最后面添加环境变量,其类似windows设置java环境变量,此时的JAVA_HOME与开头将的路径设置一样,如下:
其中:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_66-b17.jdk/Contents/Home
export JRE_HOME=$JAVA_HOME/jre
是java的系统环境变量。
export HADOOP_HOME=/Users/huangtao/Documents/hadoop-1.2.1
是配置Hadoop的系统环境变量
export HADOOP_HOME_WARN_SUPPRESS=1
是防止出现:Warning: $HADOOP_HOME is deprecated的警告错误。
上述环境变量增加完成后,退回到终端,输入:
source ~/.bash_profile
使得环境变量设置生效!
在Hadoop->conf目录下,找到hadoop-env.sh,打开编辑进行如下设置:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home(去掉注释)
export HADOOP_HEAPSIZE=2000(去掉注释)
export HADOOP_OPTS=”-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk”(去掉注释)
注意第三个配置在OS X上最好进行配置,否则会报“Unable to load realm info from SCDynamicStore”
<configuration>
<property>
<name>hadoop.tmp.dirname>
<value>hdfs://localhost:9000value>
<description>A base for other temporary directories.description>
property>
<property>
<name>fs.default.namename>
<value>hdfs://localhost:8020value>
property>
configuration>
<configuration>
<property>
<name>dfs.replicationname>
<value>1value>
property>
configuration>
<configuration>
<property>
<name>mapred.job.trackername>
<value>hdfs://localhost:9001value>
property>
<property>
<name>mapred.tasktracker.map.tasks.maximumname>
<value>2value>
property>
<property>
<name>mapred.tasktracker.reduce.tasks.maximumname>
<value>2value>
property>
configuration>
至此,在terminal中输入:hadoop,出现如下界面,
表示已经可以找到Hadoop的执行程序。
在程序执行前,对Namenode执行格式化操作,出现如下图结果:
表示HDFS已经安装成功。
启动Hadoop,输入jps,查看当前进程,如下图所示:
表示Hadoop已经启动。