首页 > 代码库 > Hadoop2.2.0分布式环境配置笔记1-编译64位hadoop源码

Hadoop2.2.0分布式环境配置笔记1-编译64位hadoop源码

我的测试环境是三台机器
分别是
Hadoop-Yarn.Hark.Com 192.168.1.200
Hadoop-Slave1.Hark.Com 192.168.1.201
Hadoop.Slave2.Hark.Com 192.168.1.202
 
我为了自己能充分练习hadoop 64位源码编译,所以三台机器都进行了下边的配置
 
环境:
vmware9+centos6.4+hadoop2.2.0
 
 
0、创建hadoop帐号,大部分操作都要使用hadoop帐号的
1、关闭窗口模式
使用root账号
vi /etc/inittab
将init:5修改成init:3
 
2、设置静态IP
直接去可视化系统去配置
或者:
静态IP
修改IP永久生效按以下方法
vi /etc/sysconfig/network-scripts/ifcfg-eth0(eth0,第一块网卡,如果是第二块则为eth1)
按如下修改ip
DEVICE=eth0(如果是第二块刚为eth1)
BOOTPROTO=static
IPADDR=192.168.0.11(改成要设置的IP)
NETMASK=255.255.255.0 (子网掩码)
GATEWAY=192.168.0.1(网关)
ONBOO=yes
然后
service network restart
 
 
3、关闭防火墙,SeLinux
查看防火墙状态
service iptables status
临时关闭防火墙
service iptables stop
永远关闭防火墙
chkconfig iptables off
永远打开防火墙
chkconfig iptables on 
查看selinux状态
getenforce
修改selinux状态
vi /etc/selinux/config
将selinux="xx"  修改成 selinux="disabled",然后重启电脑 。 再使用getenforce来确认状态
 
4、设置主机名
临时修改主机名
hostname Hadoop-Yarn.Hark.Com
修改主机名
vi /etc/sysconfig/network   然后修改hostname
 
5、创建我们要使用的目录(/opt,/opt/softwares,/opt/modules/)  , 同时开始权限 777就行
切换至root权限
使用mkdir分别创建 /opt /opt/softwares  /opt/models
将这三个文件夹给予其它用户全部权限
chmoe -R 777 /opt
 
5、准备hadoop编译环境,需要编译出64位版本
1)、解压hadoop源码
tar -axvf /opt/softwares/hadoopxx -C /opt/modules
2)、安装一些编译环境需要的依赖包  必须使用root权限
yum install autoconf automake libtool cmake 
yum install ncurses-devel
yum install openssl-devel
yum install lzo-devel zlib-devel gcc gcc-c++
 
6、安装java jdk
下载的是bin版,名称叫:  jdk-6u45-linux-x64.bin
直接./jdk-6u45-linux-x64.bin 即可安装
 
因为软件是在/opt/softwares安装的
所以需要把jdk放入到 /opt/modules中
 mv jdk1.6.0_45/ /opt/modules/
 
然后就是设置环境变量
vi /etc/profile进行设置
然后其中
#SET JAVA
export JAVA_HOME=路径
export PATH=$PATH:$JAVA_HOME/bin
然后保存退出
然后呢
source /etc/profile   这样进行生效
 
7、maven
将maven解压至指定目录
tar -zxvf /opt/softwares/apache-maven-3.0.5-bin.tar.gz -C /opt/modules
 
设置maven的环境变量
export MAVEN_HOME=/opt/modules/apache-maven-3.0.5
export PATH=$PATH:$MAVEN_HOME/bin
 
mvn -version 验证是否配置成功
 
 
进入安装目录 /opt/modules/apache-maven-3.0.5/conf,编辑settings.xml 文件
* 修改<mirrors>内容:
       <mirror>
              <id>nexus-osc</id>
              <mirrorOf>*</mirrorOf>
              <name>Nexus osc</name>
              <url>http://maven.oschina.net/content/groups/public/</url>
       </mirror>
* 修改<profiles>内容:
<profile>
       <id>jdk-1.6</id>
       <activation>
              <jdk>1.6</jdk>
       </activation>
       <repositories>
              <repository>
                     <id>nexus</id>
                     <name>local private nexus</name>
                     <url>http://maven.oschina.net/content/groups/public/</url>
                     <releases>
                            <enabled>true</enabled>
                     </releases>
                     <snapshots>
                            <enabled>false</enabled>
                     </snapshots>
              </repository>
       </repositories>
       <pluginRepositories>
              <pluginRepository>
                     <id>nexus</id>
                     <name>local private nexus</name>
                     <url>http://maven.oschina.net/content/groups/public/</url>
                     <releases>
                            <enabled>true</enabled>
                     </releases>
                     <snapshots>
                            <enabled>false</enabled>
                     </snapshots>
              </pluginRepository>
       </pluginRepositories>
</profile>
 
 
 
配置mvn仓库
~/.m2/repostitory 默认主目录,全局maven的配置文件存储目录
例如,我当前用户是hadoop,那么需要在/home/hadoop/创建一个.m2文件夹
然后将将maven的配置文件考入我们的.m2目录中
cp maven安装目录/conf/settings.xml /home/hadoop/.m2/
 
8、protobuf
解压至/opt/modules
执行./configure 进行安装
切换至root账户
执行
make
然后
make check(可以不执行,检查用的)
然后
make install
 
9、findbugs(1.3.9)
解压至/opt/modules
设置环境变量
export FINDBUGS_HOME=路径
export PATH=$PATH:$FINDBUGS/bin
 
source /etc/profile进行生效
 
findbugs -version进行验证
 
可以会有权限问题
给上u+x即可  即, chmod -R u+x /opt/modules/findbugs-1.3.9/
 
 
7、上传hadoop,进行hadoop的编译(编译目的:官方提供的hadoop只有32位的,并没有64位的,所以如果需要64位就得自己进行重新编译)
因为hadoop2.2.0的hadoop有点问题,所以需要修改一下配置文件
使用notepad++的sftp功能连接我们的linux
然后修改
/opt/module/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth/pom.xml
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
<scope>test</scope>
</dependency>
 
添加至55行
 
去hadoop的building.txt查看用哪个编辑脚本 
最终用
mvn package -Pdist,native,src -DskipTests -Dtar
注意:我把docs删除掉了,生成docs貌似比较麻烦
注意:要在hadoop源码的根目录进行执行
注意:我编译的时候出现了问题,失败了,是连不上maven的下载地址。 因为编译的时候可能会下载一些依赖库,所以需要根据上边的教程配置一下镜像地址,下载连接从中国的URL下载就成了
注意:我编译时还是出现了权限的问题。 需要给maven的config目录配置x的权限