Hadoop - Mac OSX下配置和启动hadoop以及常见错误解决

0. 安装JDK

参考网上教程在OSX下安装jdk

 

1. 下载及安装hadoop

a) 下载地址:

http://hadoop.apache.org

 

b) 配置ssh环境

在terminal里面输入: ssh localhost

如果有错误提示信息,表示当前用户没有权限。这个多半是系统为安全考虑,默认设置的。

更改设置如下:进入system preference --> sharing --> 勾选remote login,并设置allow access for all users。

再次输入“ssh localhost",再输入密码并确认之后,可以看到ssh成功。

 

 

c) 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

********************************************************************************

免密码登录localhost

1. ssh-keygen -t rsa Press enter for each line 提示输入直接按回车就好

2. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

3. chmod og-wx ~/.ssh/authorized_keys

测试 ssh localhost如果仍然提示要输入密码,那么可以vim ~/.ssh/config文件,添加以下代码。

Host localhost
   AddKeysToAgent yes
   UseKeychain yes
   IdentityFile ~/.ssh/id_rsa

测试 ssh localhost,不再提示需要输入密码。

 

********************************************************************************

d) 设置环境变量

在实际启动Hadoop之前,有三个文件需要进行配置。

但在这之前,我们需要在我们的bash_profile中配置如下几个配置

 

命令行输入: 

open ~/.bash_profile;

 

# hadoop
export HADOOP_HOME=/Users/YourUserName/Documents/Dev/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

 

e) 配置hadoop-env.sh

在${HADOOP_HOME}/etc/hadoop目录下,找到hadoop-env.sh,打开编辑确认如下设置是否正确:

export JAVA_HOME=${JAVA_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"(去掉注释)

 

f) 配置core-site.xml——指定了NameNode的主机名与端口

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->

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

<configuration>
    <property>
        <name>/Users/YourUserName/Documents/Dev/hadoop-2.7.3/hadoop-${user.name}</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>   

 

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

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->

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

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

 

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

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->

<!-- 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>  

 

i) 安装HDFS

经过以上的配置,就可以进行HDFS的安装了

命令行输入:

cd $HADOOP_HOME/bin

hadoop namenode -format 

如果出现下图, 说明你的HDFS已经安装成功了

 

j) 启动Hadoop

cd ${HADOOP_HOME}/sbin

start-dfs.sh
start-yarn.sh

 

k) 验证hadoop

如果在启动过程中没有发生任何错误

启动完成之后,在命令行输入: jps

如果结果如下:

3761 DataNode
4100 Jps
3878 SecondaryNameNode
3673 NameNode
4074 NodeManager
3323 ResourceManager

以上几个节点都打印出来,那么恭喜你,你已经成功安装和启动hadoop了!

最后,我们可以在浏览器通过http的方式进行验证

浏览器输入:

http://localhost:8088/

结果如下:

浏览器输入:

http://localhost:50070/

结果如下:

 

 

2. 常见错误解决

hadoop namenode不能启动

org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /tmp/hadoop-javoft/dfs/name is in an inconsistent state: storage di rectory does not exist or is not accessible.

原因在于core-site.xml
你必须覆盖hadoop.tmp.dir为你自己的hadoop目录
...
hadoop.tmp.dir
/home/javoft/Documents/hadoop/hadoop-${user.name}

 

 

 

 

时间: 2024-11-07 14:54:17

Hadoop - Mac OSX下配置和启动hadoop以及常见错误解决的相关文章

Mac OSX 下的快捷锁屏畅想曲

Mac OSX 下的快捷锁屏畅想曲 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 熟练使用 Windows 后,很容易就能想到 Win + L 刷屏,拿鼠标能干的活都是细致活,键盘虽然粗犷,确

hadoop 集群常见错误解决办法

hadoop 集群常见错误解决办法: (一)启动hadoop集群时易出现的错误: 1.   错误现象:java.net.NoRouteToHostException: No route to host.    原因:master服务器上的防火墙没有关闭.    解决方法: 在master上关闭防火墙: chkconfig iptables off. 2.    错误现象:org.apache.hadoop.ipc.RPC: Server at JMN/10.22.1.203:9000 not a

eclipse下配置外部工具javap命令中文乱码怎么解决??

问题描述 eclipse下配置外部工具javap命令中文乱码怎么解决?? 解决方案 找到解决方法了,windows的cmd默认是bgk编码,eclipse貌似默认utf-8 所以按照下面的办法就没问题了 首先Windows->Preferences, 然后选择General下面的Workspace. Text file encoding选择Other GBK, 如果没有GBK的选项, 没关系, 直接输入GBK三个字母, Apply, GBK编码的中文, 已经不是乱码了 解决方案二: cmd下中文

Mac OS下配置PHP+MySql环境

 本文详细介绍了在mac OS系统下安装配置PHP+MySql环境的详细步鄹,十分的全面,这里推荐给有相同需求的小伙伴们.     由于最近需要布置mantis用来进行bug追踪,在此记录其过程. 由于PHP apache环境在Mac OS上是自带的,所以不需要另处下安装包,只需要简单配置一下即可. 首先打开终端输入命令:   代码如下: sudo vim /etc/apache2/httpd.conf   其中有一行是这样的   代码如下: #LoadModule php5_module li

Mac OS下配置PHP+MySql环境_php技巧

由于最近需要布置mantis用来进行bug追踪,在此记录其过程. 由于PHP apache环境在Mac OS上是自带的,所以不需要另处下安装包,只需要简单配置一下即可. 首先打开终端输入命令: 复制代码 代码如下: sudo vim /etc/apache2/httpd.conf 其中有一行是这样的 复制代码 代码如下: #LoadModule php5_module libexec/apache2/libphp5.so 将前面的#号去掉. 然后打开系统偏好设置中的共享,将web共享勾上,如下图

Mac环境下配置Tomcat+Eclipse

下载Tomcat 首先在 Tomcat官方网站 找到自己合适的版本,下载 tar.gz 版本的,下载完成后解压缩到一个目录,进入这个目录下的 bin 执行 startup.sh,如果看到下面的界面,表示已经启动了. 打开浏览器,输入 http://localhost:8080 能够看到界面显示,表示安装已经成功了. 我使用的是7.0.81的版本,最新的版本是9. 配置Eclipse 启动Eclipse后,选择 Preferences(快捷键⌘+,) 选择 Server->Runtime Envi

Weblogic下配置Struts应用时出现tag错误的解决方法

web|错误|解决 错误信息: 在webloigc下配置Struts应用时经常会出现下面错误,而在其它Web服务器下却没问题: Parsing of JSP File '/index.jsp' failed:------------------------------------------------ -/index.jsp(3): Error in using tag library uri='/WEB-INF/struts-html.tld' prefix='html': The Tag

wifi共享精灵启动失败出现5023错误解决办法

wifi共享精灵5023错误解决办法:首先检查网卡,wifi共享精灵是否支持.出现5023错误最经典.常见的网卡就是802.11N,这款网卡不太稳定,开启热点成功需要偶然性.所以出现5023错误发现是802.11N网卡的小伙伴想开wifi热点还是赶紧换一个外置无线网卡. 重启无线网卡,只是针对程序上出现小bug,会有用,控制面板--网络和internet--网络连接,选择wlan,先禁用再启用无线网卡,多试两次,重新开启wifi共享精灵. 重装无线网卡,仅限WIN7/WIN8系统: 1.我的电脑

Mac环境下配置tomcat的步骤详解_Tomcat

前言 相信对Java Web稍微知道一点,一般对Tomcat都不会陌生,Apache是普通服务器,本身只支持html即普通网页,可以通过插件支持PHP,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源.Tomcat无法取访问Appache资源).Appache只支持静态网页,但像asp,php,cgi,jsp等动态就需要Tomcat来处理.下面我们就来看看详细的步骤. 一. 下载 登录Apache Tomcat官网,地址 http://t