设为首页 加入收藏

TOP

macOS Sierra版本下Hadoop(2.7.3)为分布式环境的详细安装
2019-01-03 00:40:08 】 浏览:35
Tags:macOS Sierra 版本 Hadoop 2.7.3 分布式 环境 详细 安装
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_24942951/article/details/70040044

这学期选修的 j2ee 的课程在大作业的项目选择中有一个关于云盘项目的,需要搭建 hadoop 环境,完成一个简易的云盘网站,具备上传下载删除功能。

搭建 hadoop 的环境也费了很长时间,网上虽然也有资料,但都是比较老的版本,参考了网上的一些资料,加上自己的实践,写一篇总结。

1. 下载安装 jdk, 并设置 JAVA_HOME 环境变量
1)在 terminal 输入java -version
显示如下:

SwansMacBook-Pro:~ apple$ java -version
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)

表示 java 的环境已搭建好,直接进行下一步,没有的话则需要下载 jdk 并设置 java 的环境变量。
2)下载安装 jdk, 并设置 JAVA_HOME 环境变量
这里放链接:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

设置 JAVA_HOME
这里网上的资料很多,可以百度或谷歌一下

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home

2. 设置好 jdk 后,在安装 hadoop 之前,我们可以先配置 localhost 的无密码登陆
1)在 terminal 输入ssh localhost,显示如下,则表示 localhost 无密码登陆配置成功

SwansMacBook-Pro:~ apple$ ssh localhost
Last login: Mon Apr 10 23:20:51 2017
SwansMacBook-Pro:~ apple$ 

2) 若提示需要密码,则需进行配置,可按如下步骤

ssh-keygen -t rsa
Press enter for each line 提示输入直接按回车就好
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod og-wx ~/.ssh/authorized_keys 

3. 完成这些准备工作之后,我们可以进行 hadoop 的安装

1)下载 Hadoop:http://hadoop.apache.org/releases.html

2)下载完之后我放的路径是:

/Users/apple/hadoop-2.7.3

3)安装完成之后便是一些文件的配置,一共要配置 5 个文件。

  • hadoop-env.sh(配置 hadoop 环境)
  • core-site.xml(配置 NameNode 主机名与端口)
  • hdfs-site.xml(配置 HDFS 的默认参数副本数)
  • mapred-site.xml(配置 JobTracker 主机名与端口)

这五个文件一般可以在/Users/apple/hadoop-2.7.3/etc/hadoop/找到。

①对于 hadoop-env.sh(配置 hadoop 环境)
这里需要修改 export JAVA_HOME,改为你配置的 Java 环境

# The java implementation to use.
export JAVA_HOME=${JAVA_HOME}
# The jsvc implementation to use. Jsvc is required to run secure datanodes
# that bind to privileged ports to provide authentication of data transfer
# protocol.  Jsvc is not required if SASL is configured for authentication of
# data transfer protocol using non-privileged ports.
#export JSVC_HOME=${JSVC_HOME}

② core-site.xml(配置 NameNode 主机名与端口),在<configuration>之间加入如下代码

  <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/Users/apple/hadoop-2.7.3/data</value><!-- 这里写自己创建的data文件夹的路径 -->
        <description>A base for other temporary directories.</description>
    </property>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://172.26.146.222:9000</value>
    </property> <!-- 这里hdfs可以直接写你接入网络的动态ip地址,这样方便之后hdfs的连接 -->

③hdfs-site.xml(配置 HDFS 的默认参数副本数)

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
   <property>
             <name>dfs.namenode.name.dir</name>
             <value>file:/Users/apple/hadoop-2.7.3/tmp/dfs/name</value>
    </property>
        <property>
             <name>dfs.datanode.data.dir</name>
             <value>file:/Users/apple/hadoop-2.7.3/tmp/dfs/data</value>
        </property>

</configuration>

④mapred-site.xml(配置 JobTracker 主机名与端口),在 mapred-site.xml 文件中粘贴如下代码

<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>hdfs://172.26.146.222:9001</value>
    </property><!--这里的ip改为自己接入的动态ip,端口号可以不变-->
    <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>

4. 测试
1)先格式化 namenode
在终端输入

hdfs namenode -format

显示这个页面,输入Y
这里写图片描述
之后到这
这里写图片描述
笔试格式化成功
2)启动 Hadoop
输入start-all.sh启动
3)验证是否安装成功,在终端输入jps
如果显示如下:
这里写图片描述
则表示hadoop启动成功
这里验证也可以
打开 http://localhost:50070, 进入 hdfs 管理页面
打开 http://localhost:8088, 进入 hadoop 进程管理页面

PS:
这里可能会出现某些结点启动不成功的现象,比如启动hadoop的时候出现了这个
这里写图片描述
datanode结点没有启动,可以尝试在/Users/apple/hadoop-2.7.3/目录下删除tmp文件夹,然后重新

hadoop namenode -format

再启动 Hadoop。这样可能就可以了,查看日志,是因为你之前创建的 tmp 文件的版本后和你这一次创建的不一致,导致 DataNode 无法启动。
如下笔者亲自尝试,安装成功,如有出入或错误,可以给笔者留言。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇实战hadoop海量数据处理系列05 :.. 下一篇浅析HADOOP启动过程及NN\DN\SNN节..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目