说明:从2代hadoop开始,apache官网提供的编译完成的安装包均为64位,因此,在32位系统中需要重新编译hadoop源代码,否则集群无法正常运行。因此,本教程所讲的配置与安装均是64位安装包/系统。32位安装包的编译方法将在文后给出。
一、配置环境及软件说明
首先,博主采用的是虚拟机配置的方法。虚拟机为virtualbox-4.2版本,最新的版本可能会有一些未知的兼容性错误等,没敢用。
系统安装的是ubuntu14.04,下载链接http://www.ubuntu.com/download/desktop。
所需软件: jdk 1.8.0_25,下载链接https://www.java.com/zh_CN/download/manual.jsp#lin(如果你装的系统不自带java的话)、
hadoop-2.5.X下载链接http://www.webhostingreviewjam.com/mirror/apache/hadoop/common/
二、jdk的安装与配置
①首先查看系统中是否已经安装了JDK。终端输入命令:java -version
②如果查看结果如上图,那么我们需要自行配置java环境。否则可跳过以下步骤,直接安装hadoop
jdk配置步骤一:新建目录,用于安装java,命令:mkdir /home/datanode3/java 目录的新建路径自由选择,目录名也可自主命名
步骤二:将安装包拷贝到安装目录下,命令:cp /home/下载/jdk-8u25-linux-x64.tar.gz /home/datanode3/java
第一个目录为安装包源目录,后一个目录为你要复制到的目录,也是我们上一步新建的目录。
步骤三: 进入/home/datanode3/java目录,解压安装包到当前目录下。
命令:cd /home/datanode3/java (进入到目录下) tar -zxvf jdk-8u25-linux-x64.tar.gz(解压到当前目录下)
步骤四:设置java环境变量 (就像我们需要在windows下设置一样,只是方法略有不同)
命令:sudo gedit /etc/profile 用超级命令以文本编辑方式打开配置文件,然后在文件中声明java的路径即可。
export JAVA_HOME=/home/datanode3/java/jdk1.8.0_25
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
配置完成后,保存关闭文本编辑器。然后使刚才的配置生效。
命令:source /etc/profile (使命令生效)
出现类似上述信息:
java version "1.7.0_71" //懒得打字了,效果一样,只是与图中版本不一致
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
表示安装成功
三.ssh无密码登录的安装与配置
1.安装
命令:sudo apt-get install ssh
2.配置无密码登录
命令:ssh-keygen -t rsa
遇到停顿,一路按回车即可
出现上述图案即可
进入/home//datanode3/.ssh目录
命令:cd /home/datanode3/.ssh
生成私钥,并将其加入到公钥中
命令:cp id_rsa.pub authorized_keys
3.测试
命令:ssh localhost
无需密码即可登录到本机,出现如下所示表明无密码登录配置成功
若不成功输入以下指令
ssh-add
再测试,若再不成功,返回步骤2,删除当前目录下的.ssh文件夹,重新配置无密码登录并重新设置
四.hadoop的安装与配置
1.建立hadoop文件夹
命令:mkdir /home/datanode3/hadoop
2.将安装包复制到hadoop目录下(方法同上安装jdk)
3.进入hadoop目录,解压安装包到当前目录下(方法同上安装jdk)
4.配置文件(所有配置文件均在目录 hadoop安装目录/hadoop-2.5.1/etc/hadoop 目录下)
4.1 配置 core-site.xml 文件
命令:sudo gedit core-site.xml
在文件中 <configuration> </configuration> 之间加入:
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
4.2 配置 hdfs-site.xml
命令: sudo gedit hdfs-site.xml
在文件中 <configuration> </configuration> 之间加入:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
4.3 配置mapred-site.xml.template(原来版本中叫mapred-site.xml)
命令: sudo gedit mapred-site.xml
在文件中 <configuration> </configuration> 之间加入:
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
4.4 配置 yarn-env.sh
命令:sudo gedit yarn-env.sh
在文件中加入:export JAVA_HOME=/home/datanode3/java/jdk1.8.0_25 即指明java的安装目录
4.5 配置 hadoop-env.sh
命令: sudo gedit hadoop-env.sh
在文件中加入:export JAVA_HOME=/home/datanode3/java/jdk1.8.0_25 即指明java的安装目录
5.初始化
进入hadoop安装目录,命令:cd /home/datanode3/hadoop/hadoop-2.5.1
初始化,命令: bin/hadoop namenode -format
6.启动hadoop
启动yarn 命令:sbin/start-yarn.sh
启动hdfs 命令:sbin/start-dfs.sh
7.验证
输入 jps
出现如下图即表明成功:
即如下几个必须出现:
ResourceManager
SecondaryNameNode
DataNode
NameNode
NodeManager
8.端口访问
通过 http://localhost:50070/访问到NameNode
通过 http://localhost:8088/ 访问到JobTracker 注:2代hadoop中,默认jobtracker端口不再是50030,而是8088,也可自行设置。
若能访问说明伪分布安装成功,若不成功请查看配置文件是否正确,是否按照上述步骤安装正确
五.32位系统下,hadoop的编译(注:以下内容来自网友 pig2,原文网址:http://www.aboutyun.com/thread-8130-1-1.html,有改动)
①首先下载hadoop源码包
1.压缩包的方式
首先我们登录官网:
http://hadoop.apache.org/,我们找到下面链接,点进去下载即可。
二、解压
三、解压完毕,我们开始准备编译所需要的软件
这里软件的准备,很多文章写的都不全,这里整理一下。哪些软件是需要安装的。
1、maven的安装
我这里已经安装
上面可能还需要配置环境变量之类的,但是我这里没有好像是系统自带的,网上的资料也比较多,注意maven的版本,我这里是3.0.4,hadoop2.4需要maven的这个版本或则更高的版本3.2.1版本也是可以的。
验证安装是否成功
2.protobuf的安装
为防止出错,这里补充一些内容,
2.1先安装g++
(1)下载
由于google不能访问,可以从网盘下载链接: http://pan.baidu.com/s/1dDgWe6P 密码:xgiu
(2)解压
如下效果:
然后进入protobuf-2.5.0文件夹,进行如下操作:
修改环境变量:
( LD_LIBRARY_PATH的这里,填写的是protobuf文件的位置 )
注意: 配置/ etc /profile,在虚拟机重启后,可能配置会失效,所以重启后,需要再次执行source操作。
(3)验证
4.安装openssl库
5.CMake安装
或者
6.ant安装
(1)首先下载ant
百度网盘: apache-ant-1.9.4-bin.tar.gz
http://pan.baidu.com/s/1c0vjhBy
或则下面链接:
apache-ant-1.9.4-bin.tar.gz
(2)解压
(3)配置环境变量
如下图所示:
1.打开profile
2.添加下图红字部分,记得修改成自己的路径
3.生效
4.检验
四、编译hadoop2.4
上面准备工作已经做的差不多了,我们终于可以开始,记得进入src文件夹下,输入下面命令
等了40多分钟,ok
在目录~/hadoop-2.4.0-src/hadoop-dist/target下有文件:
hadoop-2.4.0.tar.gz