Mac系统安装Hadoop
2016-05-05 10:05
351 查看
我的系统是MAX OS X 10.10.5,所以本文以当前系统版本为例。
图0-1 系统版本
1. 下载Hadoop
下载链接:http://hadoop.apache.org/releases.html
图1-1 Hadoop下载页面
我下载的是2.7.2版本的binary,所以我们下面的安装配置以这个版本为例。
下载来,我们解压有得到如下的文件夹:
图1-2 Hadoop解压后的文件目录结构
我们把这个解压文件放到我们想要放的路径中,这里我选的是/Users文件夹的根目录,在里面新建了hadoop文件夹,然后把hadoop-2.7.2文件夹放到hadoop里面;
图1-3 hadoop文件夹在/User文件夹根目录
图1-4 在hadoop文件夹下的hadoop-2.7.2文件夹
2. 得到Java路径
Java路径会在接下来的文件配置中用到,所以我们在这里先要得知我们Java的路径。
我们Mac系统自带Oracle JDK 1.6版本,所以我们只要在Terminal输入java -version就可以得知我们系统的版本号,但是对于一些开发者来说,1.6版本的JDK太老,不适合做一些开发,所以会自己安装一些其他版本的JDK,就像我用的是1.7版本的jdk。那我们怎么得到Java路径呢?
我们可以参考这个链接:
在MAC上查询和设置%JAVA_HOME
因为我们使用这一次,所以我们就不配置java_home的路径里,我们直接到/usr/libexec/文件夹下,找到java_home文件,双击,得到java路径;
图2-1 在/usr/libexec文件夹下的java_home快捷方式
图2-2 双击后得到的java路径
从上图,我得到我的java路径是:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
3. 配置MAC OS自身环境
这里我们主要配置SSH环境。
打开Terminal,输入如下命令:
图3-1 远程登录失败
这是因为我们没有对自己的电脑开启远程服务,我们在“系统偏好设置-共享-远程登录”打钩,然后选择右侧的“所有用户”;
图3-2 开启远程登录服务
然后我们继续Terminal指令操作:
这个命令在”~/.ssh/“文件夹下创建两个文件id_dsa和id_dsa.pub,是ssh的一对儿私钥和公钥。接下来,将公钥追加到授权的key中去;
这时候,我们MAC OS自身环境配置完毕。
4. Hadoop环境配置
我们修改.bash_profile文件进行配置,在Terminal输入vim ~/.bash_profile编辑文件,在文件中输入如下内容;
图4-1 配置HADOOP_HOME
编辑完成后,我们在Terminal中输入:
但是我们这样编辑只能使本次有效,如果我们关闭Terminal,重新打开后,我们会发现,之前的配置失效了,为了使我们的配置永久有效,我们需要进行如下指令的输入:
在.bashrc(MAC OS 10.2及之前修改.zshrc)文件中输入如下内容:
图4-2 .bashrc文件编辑
然后在Terminal输入:
5. 文件配置
这里我们主要针对/hadoop-2.7.2/etc/hadoop的文件夹(hadoop2.0版本一下在/hadoop-1.x.x/bin文件夹)中的hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml(2.7.2版本没有mapred-site.xml只有mapred-site.xml.template,所以这里我们新建一个mapred-site.xml文件夹)进行修改配置。
hadoop-env.sh文件修改如下:
我们用到了之前得到的Java路径;
在export JAVA_HOME=${JAVA_HOME}前面添加:
去掉HADOOP_HEAPSIZE的注释,并设置为2000;
注释掉原来的HADOOP_OPTS,并添加:
core-site.xml文件修改如下:
hdfs-site.xml文件修改如下:
mapred-site.xml文件修改如下:
6. 安装HDFS
在Terminal输入:
老版本hadoop使用hadoop指令:
如果执行指令后出现如下情况说明,HDFS已成功安装;
图6-1 HDFS成功安装
7. 开启Hadoop
我们在Terminal输入:
如果运行结果如下图,说明我们的hadoop已成功开启;
图7-1 Hadoop成功开启
---END---
图0-1 系统版本
1. 下载Hadoop
下载链接:http://hadoop.apache.org/releases.html
图1-1 Hadoop下载页面
我下载的是2.7.2版本的binary,所以我们下面的安装配置以这个版本为例。
下载来,我们解压有得到如下的文件夹:
图1-2 Hadoop解压后的文件目录结构
我们把这个解压文件放到我们想要放的路径中,这里我选的是/Users文件夹的根目录,在里面新建了hadoop文件夹,然后把hadoop-2.7.2文件夹放到hadoop里面;
图1-3 hadoop文件夹在/User文件夹根目录
图1-4 在hadoop文件夹下的hadoop-2.7.2文件夹
2. 得到Java路径
Java路径会在接下来的文件配置中用到,所以我们在这里先要得知我们Java的路径。
我们Mac系统自带Oracle JDK 1.6版本,所以我们只要在Terminal输入java -version就可以得知我们系统的版本号,但是对于一些开发者来说,1.6版本的JDK太老,不适合做一些开发,所以会自己安装一些其他版本的JDK,就像我用的是1.7版本的jdk。那我们怎么得到Java路径呢?
我们可以参考这个链接:
在MAC上查询和设置%JAVA_HOME
因为我们使用这一次,所以我们就不配置java_home的路径里,我们直接到/usr/libexec/文件夹下,找到java_home文件,双击,得到java路径;
图2-1 在/usr/libexec文件夹下的java_home快捷方式
图2-2 双击后得到的java路径
从上图,我得到我的java路径是:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
3. 配置MAC OS自身环境
这里我们主要配置SSH环境。
打开Terminal,输入如下命令:
ssh localhost这时候我们会发现,ssh无法远程登录我们自己的电脑;
图3-1 远程登录失败
这是因为我们没有对自己的电脑开启远程服务,我们在“系统偏好设置-共享-远程登录”打钩,然后选择右侧的“所有用户”;
图3-2 开启远程登录服务
然后我们继续Terminal指令操作:
ssh localhost
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsassh-keygen表示生成秘钥;-t表示秘钥类型;-P用于提供密语;-f指定生成的秘钥文件。
这个命令在”~/.ssh/“文件夹下创建两个文件id_dsa和id_dsa.pub,是ssh的一对儿私钥和公钥。接下来,将公钥追加到授权的key中去;
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
这时候,我们MAC OS自身环境配置完毕。
4. Hadoop环境配置
我们修改.bash_profile文件进行配置,在Terminal输入vim ~/.bash_profile编辑文件,在文件中输入如下内容;
图4-1 配置HADOOP_HOME
编辑完成后,我们在Terminal中输入:
source ~/.bash_profile使我们的编辑有效。
但是我们这样编辑只能使本次有效,如果我们关闭Terminal,重新打开后,我们会发现,之前的配置失效了,为了使我们的配置永久有效,我们需要进行如下指令的输入:
vim ~/.bashrc
在.bashrc(MAC OS 10.2及之前修改.zshrc)文件中输入如下内容:
图4-2 .bashrc文件编辑
然后在Terminal输入:
source ~/.bashrc使我们的更改有效。
5. 文件配置
这里我们主要针对/hadoop-2.7.2/etc/hadoop的文件夹(hadoop2.0版本一下在/hadoop-1.x.x/bin文件夹)中的hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml(2.7.2版本没有mapred-site.xml只有mapred-site.xml.template,所以这里我们新建一个mapred-site.xml文件夹)进行修改配置。
hadoop-env.sh文件修改如下:
我们用到了之前得到的Java路径;
在export JAVA_HOME=${JAVA_HOME}前面添加:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
去掉HADOOP_HEAPSIZE的注释,并设置为2000;
export HADOOP_HEAPSIZE=2000
注释掉原来的HADOOP_OPTS,并添加:
export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"
core-site.xml文件修改如下:
<configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/Users/hadoop/hadoop-2.7.2/tmp</value> <description>A base for other temporary directories.</description> </property> <property> <name>fs.default.name</name> <value>hdfs://localhost:8020</value> </property> </configuration>
hdfs-site.xml文件修改如下:
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>file:/Users/hadoop/hadoop-2.7.2/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/Users/hadoop/hadoop-2.7.2/tmp/dfs/data</value> </property> </configuration>
mapred-site.xml文件修改如下:
<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>
6. 安装HDFS
在Terminal输入:
$HADOOP_HOME/bin/hdfs namenode -format
老版本hadoop使用hadoop指令:
$HADOOP_HOME/bin/hadoop namenode -format
如果执行指令后出现如下情况说明,HDFS已成功安装;
图6-1 HDFS成功安装
7. 开启Hadoop
我们在Terminal输入:
$HADOOP_HOME/sbin/start-all.sh老版本hadoop输入:
$HADOOP_HOME/bin/start-all.sh
如果运行结果如下图,说明我们的hadoop已成功开启;
图7-1 Hadoop成功开启
---END---
相关文章推荐
- Linux-12-安装vmware并创建虚拟机系统(L003-26)
- linux命令--查看硬盘信息(磁盘阵列模式下)
- linux上tomcat环境搭建
- Linux进程间通信之管道(pipe)、命名管道(FIFO)与信号(Signal)
- 禁止dde-desktop重启
- linux 环境变量配置文件
- window下zookeeper+tomcat+solr搭建solrCloud
- 安装Hadoop出现URI has an authority component异常
- windows系统如何访问国外google等网站的方法之一
- 【OpenCV】***映美精相机应用开发
- 《Linux内核设计与实现》读书笔记 第十七章 设备与模块
- 深入理解RunLoop
- apache 模块开发提示错误Cant locate api module
- [na]tftp从linux下载文件
- 2016年六大OpenStack & Docker发展趋势预测
- 在CentOS6.5上使用Jexus安装部署ASP.NET MVC4和WebApi
- shell编程
- linux下mysql中文乱码
- linux(centos)搭建SVN服务器
- 如何查看用户属组