Mac上配置Hadoop 2.6
来源:互联网 发布:设计美工的电脑配置 编辑:程序博客网 时间:2024/04/28 04:09
本文介绍如何在Mac上配置hadoop 2.6.1开发环境
本人使用MacBook Pro,系统是OS EI Capiton 10.11
其他的应该也基本通用
本文主要是参考Hadoop官网的Linux配置教程,外加自己在配置Mac上遇到的一些坑
软件准备
首先,要有Java开发环境,没有的先去配一下。可以通过以下命令来检查你是否具有Java开发环境
java -version
记得检查是否配置了$JAVA_HOME
检查你是否装有ssh和rsync,可以直接在终端输入ssh跟rsync来检查,如果出现其相关usage,则表明已安装
下载Hadoop 2.6.1:Apache Download Mirror
配置环境变量
解压Hadoop到任意位置,进入Hadoop的根目录(解压出来的那个文件夹)
用下面的命令找到你java的根目录的位置:
/usr/libexec/java_home
修改etc/hadoop/hadoop-env.sh来配置环境变量:
注释掉export JAVA_HOME=${JAVA_HOME}这一行
添加:
export JAVA_HOME={之前得到的java根目录}(不要大括号)export HADOOP_PREFIX={Hadoop的根目录}
之所以要替换export JAVA_HOME=${JAVA_HOME}这一行,是因为,在实际运行中,Hadoop似乎读取不到我们自己设置的环境变量JAVA_HOME,于是大家通常就直接在hadoop-env.sh指定JAVA_HOME了。
至于为什么Hadoop读取不到我们设置的JAVA_HOME,我也没有找到原因,可能跟权限神马的有关
现在运行bin\hadoop应该会给出一些usage提示了
为了方便,我们还可以在~/.bash_profile中添加
export PATH=$PATH:${HADOOP_PREFIX}/bin
注意这里要把${HADOOP_PREFIX}换成你Hadoop的根目录
这样我们就可以直接运行hadoop了
配置Hadoop
Hadoop是通过xml文件配置的
在etc/hadoop/core-site.xml中添加:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property></configuration>
在etc/hadoop/hdfs-site.xml中添加:
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property></configuration>
配置SSH
由于Hadoop是一个分布式的框架,所以要确保节点之间可以无密码地SSH访问
首先,检查你是否能无密码地,通过SSH访问本机
ssh localhost
如果不能,则执行下面的命令:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsacat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
其生成了rsa的公钥和私钥,我们把公钥添加到被访问机器的authorized_keys文件中,就可以实现无密码SSH访问了
另,如果提示:
ssh: connect to host localhost port 22: Connection refused
则你需要在“系统偏好设置->共享”里面,将“远程登录”这一项打上勾,从而允许SSH访问
单节点伪分布式环境
首先进入Hadoop根目录
cd {Hadoop根目录}
一、格式化namenode:
bin/hdfs namenode -format
如果出现如下错误:
错误: 找不到或无法加载主类
org.apache.hadoop.hdfs.server.namenode.NameNode
或:
Error: Could not find or load main class
org.apache.hadoop.hdfs.server.namenode.NameNode
则使用sudo的方式运行这条命令即可,无法加载主类是因为权限不够
二、启动Namenode Daemon和Datanode Daemon:
sbin/start-dfs.sh
相关日志文件可以在${HADOOP_HOME}\logs中找到
三、浏览器访问
现在你可以通过
http://localhost:50070/
来访问你的namenode了
在这里,可以浏览配置信息,查看HDFS文件系统等
四、测试&Demo
建立文件夹
bin/hdfs dfs -mkdir /userbin/hdfs dfs -mkdir /user/<username>
上传文件(或文件夹到HDFS)
bin/hdfs dfs -put etc/hadoop input
上述命令将etc/hadoop文件夹拷贝到了HDFS的input文件夹
跑样例程序:
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.1.jar grep input output 'dfs[a-z.]+'
查看输出:
bin/hdfs dfs -get output outputcat output/*
上面的代码先把HDFS上的output文件夹拷贝到本地output文件夹
然后用cat查看
也可以直接在HDFS上查看:
bin/hdfs dfs -cat output/*
如果你想停止DFS:
sbin/stop-dfs.sh
至此,单节点伪分布式的Hadoop环境就配置完成了
一个无法避免的Warning
在运行hdfs执行命令的时候,可能会出现如下warning:
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
官网的解释是native hadoop library只能在*nix下运行(linu系列的系统),无法再Cygwin和Mac OS X上运行,所以大家无视就好了,不影响正常运行的
- Mac上配置Hadoop 2.6
- hadoop 在mac上伪分布配置
- Hadoop 2.6 在MAC YOSEMITE 上安装配置 以及开发环境eclipse搭建(一)
- MAC上安装hadoop
- Mac上安装hadoop
- Mac上安装hadoop
- mac上安装hadoop
- mac系统上的Hadoop+Eclipse+HBase单机配置
- MAC上配置eclipse+hadoop不显示DFS Location问题
- 【hadoop学习】在Mac OS上配置hadoop伪分布式环境【上】
- 【hadoop学习】在Mac OS上配置hadoop伪分布式环境【下】
- 在Mac上安装Hadoop
- hadoop mac上安装启动
- 在Mac上安装Hadoop
- mac上hadoop伪分布式
- Hadoop-2.6.0 上配置 spark
- Hadoop上配置jconsole
- ubuntu上hadoop配置
- WebView的使用
- 当前工作梳理-系列2/5-策划梳理内容
- 3.5 unicodedata--Unicode数据库
- 北京,北京
- 如何让word文档都在同一个窗口下打开 (反之亦可)
- Mac上配置Hadoop 2.6
- 离线版完美解决eclipse 安装Genymotion插件的安装问题
- 用KVO实现的监听
- 第13章 类继承
- java web开发 高并发处理
- android :FTPServer
- 花式秀之Hello world
- vmware 启动虚拟机的时候,报内部错误
- js——点击验证码图片进行刷新验证码