Hadoop伪分布搭建
环境:Centos6.5、jdk1.6.45、hadoop2.2.0
当前环境:基于windows8.1系统的VMware虚拟机
安装Centos6.5linux系统
……
Linux环境配置
1. 设置IP
Hadoop伪分布环境搭建的网络模式采用主机模式(Host-only)
设置windows虚拟机网卡VMware Network Adapter VMnet1的IP,如下图:
设置虚拟网络编辑器的VMnet1的网卡信息,如下图所示:
请注意:虚拟网卡的IP与windows系统的VMware Network Adapter VMnet1的IP必须在同一网段,这是为了可以在windows系统下使用浏览器查看HDFS界面。
设置linux系统的IP,执行如下图所示的命令:
编辑内容,新增和修改内容内容如下红色标注的部分
修改完成后,退出保存。如果出现下图提示,说明当前账户没有权限修改内容。
然后需要为当前账户增加权限。强制退出vim编辑模式(q!)
执行下图命令,为当前账户增加修改系统文件的权限
修改内容如下:
保存退出后(wq!),重新设置linux系统的IP,如下图:
重启linux系统之后,配置的IP生效。
2. 设置主机名
配置主机名的文件为系统文件,在/etc/network文件中,修改的时候,需要使用sudo命令,如下图
重启linux系统后,配置的主机名生效。
3. 设置主机名与IP的映射关系
执行如下图的命令:
重启linux系统之后生效。
4. 重启linux系统使配置生效
安装jdk
……(安装后需要重启linux系统)
(Centos系统环境变量在“/etc/profile”中设置;Ubuntu系统的环境变量在“~/.bashrc”中设置。设置完成之后,都需要“source”下)
Hadoop源码编译
Apache Hadoop官网上放出的hadoop2.2.0安装包是基于32位操作系统的,在64位操作系统上使用是会出为题的,需要重新编译hadoop2.2.0的64位安装包。
1. 安装Maven
请注意:hadoop2.2.0源码编译请使用apache-maven-3.0.5-bin.tar.gz版本,使用其他版本编译可能会出现问题。
解压maven安装与/home/hadoop/hadoop目录下。
执行命令:tar –zxvf apache-maven-2.0.5-bin.tar.gz解压maven安装包
配置maven的环境变量
执行命令:source /etc/profile是配置文件生效
2. 安装fingbugs
findbugs是用于生成文档的。如果不需要编译生成文档,可以不执行该步骤。
执行命令:tar –zxvf findbugs-2.0.3.tar.gz –C /home/hadoop/hadoop解压findbugs到指定目录下。
配置findbugs环境变量
执行命令:source /etc/profile使配置文件生效
3. 安装必须的基本工具
如下图所示,使用命令:rpm –qa|grep xxx检查是否已安装了软件。
如果没有安装,这是用命令:sudo yum install xxx安装软件(注意:需要联网)。
按照下图顺序安装软件
(Ubuntu14.04版本的linux系统可以只安装sudo apt-get install cmake、sudo apt-get install g++、sudo apt-get install libssl-dev
)
4. 安装protoc
hadoop使用protocol buffer通信。为了编译安装protoc,需要下载几个工具,顺序执行以下命令:yum install gcc 、yum intall gcc-c++ 、 yum install make
(Ubuntu系统这需要sudo apt-get install g++)
执行命令:tar -zxvf protobuf-2.5.0.tar.gz解压安装包到当前目录
进入到解压文件夹的目录下,依次执行命令:
1) ./configure --prefix=/home/hadoop/hadoop/protoc/
2) make
3) make install
执行完上述三条命令后,会在/home/hadoop/hadoop/生成一个protoc文件夹
然后配置环境变量
5. Hadoop源码编译(注意:需要联网)
执行以下命令解压缩hadoop2.2.0
tar -zxvf hadoop-2.2.0-src.tar.gz
会生成一个文件夹 hadoop-2.2.0-src。源代码中有个bug,这里需要修改一下,编辑目录/usr/local/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth中的文件pom.xml,执行以下命令
vim pom.xml
在第55行下增加以下内容
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
<scope>test</scope>
</dependency>
保存退出即可。
现在进入到目录/../hadoop-2.2.0-src中,执行命令
mvn package -DskipTests -Pdist,native,docs –Dtar
在执行命令之前,需要确定源码包的所属用户和所属组,如果使用的是一般用户,这需要修改源码包的所属用户和所属组为一般用户。
如果没有执行第2步,把上面命令中的docs去掉即可,就不必生成文档了。等待命令执行完成。如果命令执行失败,可以再次使用:
mvn clean package -DskipTests -Pdist,native,docs –Dtar再次编译源码
编译后的代码在/../hadoop-2.2.0-src/hadoop-dist/target文件夹中。
安装Hadoop
将hadoop2.2.0.tar.gz解压到/home/hadoop/hadoop目录下。
使用命令:tar –zxvf hadoop2.2.0.tar.gz –C /home/hadoop/hadoop
修改配置文件:
1) 修改hadoop-env.sh文件
修改JAVA_HOME的路径
2) 修改core-site.xml文件
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop:9000</value>
<description>change your own hostname</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop/tmp</value>
</property>
</configuration>
3) 修改hdfs-site.xml文件
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
4) 修改mapred-site.xml文件
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
5) 修改yarn-site.xml文件
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
配置环境变量
执行命令:sudo vim /etc/profile
使用命令:source /etc/profile使配置生效。
使用命令:hdfs namenode -format格式化hadoop
启动hadoop(入股哦没有配置免密码登陆,启动过程中需要输入密码)
启动YARN
测试50070、8088