Mac OS X 10.10 运用 Homebrew安装Hadoop 2.7.1

来源:互联网 发布:日文翻译软件哪个好 编辑:程序博客网 时间:2024/04/29 20:26
整个安装过程分为四部分:
一. 安装Homebrew
二. 配置ssh localhost 免密码登陆
三. 安装Hadoop已经进行配置文件设置 (伪分布式)
四. 运行Hadoop
一. 安装Homebrew
HomeBrew 是OSX中的方便的套件管理工具。采用Homebrew安装Hadoop非常简洁方便(中文官网:http://brew.sh/index_zh-cn.html)
复制下面代码在终端中运行就可以得到安装:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

二. ssh localhost

因为安装hadoop需要远程登入的功能,所以需要安装ssh工具。
Mac OS X只需在“系统偏好设置”的“共享”的“远程登录”勾选就可以使用ssh了。

确认能否不输入口令就用ssh登录localhost:
$ ssh localhost
注意:如果没有执行远程登陆勾选操作,在运行ssh localhost的时候会出现:mac ssh: connect to host localhost port 22: Connection refused。

在终端中依次输入如下代码配置SSH免密码登陆:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
 
解释:
第一行:ssh -keygen 代表生成密钥,-t代表指定生成的密钥类型,dsa代表dsa密钥认证的意思(密钥类型);-P用于提供密语,-f 指定生成的密钥文件

第二行:将公钥加入到用于认证的公钥文件中

三. 安装hadoop    因为就在自己电脑上运行,所以就采用伪分布式模式(还有单机模式和完全分布式模式)

  1. 运用brew安装hadoop代码如下:
     $ brew install hadoop

hadoop 就安装成功了, 我安装时最新为2.7.1。
hadoop将按预定的路径安装(/usr/local/Cellar/hadoop/2.7.1)
查看其安装目录可以用brew list hadoop。
     
   2.下面就是配置文件的修改了:
  • hadoop-env.sh文件:/usr/local/Cellar/hadoop/2.7.1/libexec/etc/hadoop/hadoop-env.sh
     一般要配置JAVA_Home但是brew在安装中已经为我们配置好,所以不需要做任何操作

  • Core-site.xml文件:/usr/local/Cellar/hadoop/2.7.1/libexec/etc/hadoop/core-site.xml
     输入 vi core-site.xml 进行修改文件,将下面代码复制到配置文件中
<configuration>
  <property>
     <name>hadoop.tmp.dir</name> 
     <value>/usr/local/Cellar/hadoop/hdfs/tmp</value>
    <description>A base for other temporary directories.</description>
  </property>
  <property>
     <name>fs.default.name</name>                                     
     <value>hdfs://localhost:9000</value>                             
  </property>                                                       
</configuration> 
     注: fs.default.name 保存了NameNode的位置,HDFS和MapReduce组件都需要用到它,这就是它出现在core-site.xml 文件中而不是 hdfs-site.xml文件中的原因。在该处配置HDFS的地址和端口号。

  • mapred-site.xml   可能文件名为 mapred-site.xml.templete (与上面的文件子啊同一文件夹下)。
<configuration>
       <property>
         <name>mapred.job.tracker</name>
         <value>localhost:9010</value>
       </property>
 </configuration>

     变量mapred.job.tracker 保存了JobTracker的位置,因为只有MapReduce组件需要知道这个位置,所以它出现在mapred-site.xml文件中。
  • 编辑 hdfs-site.xml(同上文件夹)
<configuration>
    <property>
      <name>dfs.replication</name>
      <value>1</value>
     </property>
 </configuration>
变量dfs.replication指定了每个HDFS默认备份方式通常为3, 由于我们只有一台主机和一个伪分布式模式的DataNode,将此值修改为1。


至此,配置文件编辑完毕。

四. 运行Hadoop
  • 启动hadoop之前需要格式化hadoop系统的HDFS文件系统
     跳转到目录/usr/local/Cellar/hadoop/2.7.1/bin下
     $ hadoop namenode -format
  • 接着进入/usr/local/Cellar/hadoop/2.7.1/sbin
     执行:
     $ ./start-all.sh
     或者分开启动:
     $ ./start-dfs.sh
     $ ./start-yarn.sh
     不过这里会出现一个 警告:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 这对Hadoop的运行没有影响

通过访问以下网址查看hadoop是否启动成功
Resource Manager: http://localhost:50070
JobTracker: http://localhost:8088
Specific Node Information: http://localhost:8042



1 0