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的权限