这学期选修的 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=$
# 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=$
② core-site.xml(配置 NameNode 主机名与端口),在<configuration>
之间加入如下代码
<property >
<name > hadoop.tmp.dir</name >
<value > file:/Users/apple/hadoop-2.7.3/data</value >
<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-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 >
<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 无法启动。
如下笔者亲自尝试,安装成功,如有出入或错误,可以给笔者留言。