关闭

[置顶] MAC OS X EI Capiton下Hadoop的详细安装

标签: hadoopjdkmac os xHDFS
10787人阅读 评论(13) 收藏 举报
分类:

1、安装环境

这里写图片描述
jdk1.8.0_66.jdk
Hadoop-1.2.1

2、MAC OS下的JDK安装及其路径

1、首先安装jdk,直接百度或者Google搜索就有MAC版本的jdk,本实验环境是jdk1.8.0_66.jdk,Hadoop的安装也必须在jdk 1.6版本以上。
2、MAC中自带有安装的jdk,查看其默认路径如图:

这里写图片描述
/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。

3、Mac OS X ssh设置

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

则为未打开远程登录。

到此一些基本的准备条件已经完成


4、Hadoop 1.2.1下载

Hadoop 1.2.1下载网址

Hadoop 1.2.1
选择如下版本:
这里写图片描述
下载下来后解压缩,放到自己认为合适的目录下,实验中将其放在了:/Users/huangtao/Documents 下,即MAC文稿文件夹下。

5、设置环境变量

在终端中输入: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

使得环境变量设置生效!

6、配置hadoop-env.sh

在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”

配置如图:
这里写图片描述

7、接着配置conf文件夹下的core-site.xml——指定了NameNode的主机名与端口

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>hdfs://localhost:9000</value>
        <description>A base for other temporary directories.</description>
    </property>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://localhost:8020</value>
    </property>
</configuration>

8、配置hdfs-site.xml——指定了HDFS的默认参数副本数,因为仅运行在一个节点上,所以这里的副本数为1

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

9、配置mapred-site.xml——指定了JobTracker的主机名与端口

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>hdfs://localhost:9001</value>
    </property>
    <property>
        <name>mapred.tasktracker.map.tasks.maximum</name>
        <value>2</value>
    </property>
    <property>
        <name>mapred.tasktracker.reduce.tasks.maximum</name>
        <value>2</value>
    </property>
</configuration>

至此,在terminal中输入:hadoop,出现如下界面,
这里写图片描述
表示已经可以找到Hadoop的执行程序。
在程序执行前,对Namenode执行格式化操作,出现如下图结果:
这里写图片描述
表示HDFS已经安装成功。
启动Hadoop,输入jps,查看当前进程,如下图所示:
这里写图片描述
表示Hadoop已经启动。

4
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13809次
    • 积分:197
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:3篇
    • 译文:0篇
    • 评论:13条
    最新评论