Redhat 6.4-x64 编译 Hadoop-2.7.1并分布式安装

文章中所用到的软件百度网盘,方便下载
http://pan.baidu.com/s/1kTrNXL9
1.系统环境

```
[root@master ~]# uname -a
Linux master 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux

或者

[root@master /]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.4 (Santiago)
```
2.安装前的准备
2.1关闭防火墙

```
--查看防火墙状态
[root@master ~]# service iptables status

--停止防火墙
[root@master ~]# service iptables stop

--永久禁止防火墙
[root@master ~]# chkconfig iptables off

```
2.2查看ssh是否安装

```
--第一种方式:
[root@master ~]# which ssh
/usr/bin/ssh

--第二种方式
[root@master ~]# service sshd status
openssh-daemon (pid  1983) is running...

--第三种方式
[root@master ~]# rpm -qa openssh openssl

--第四种方式(查看是否启动)
[root@master ~]# ps -ef|grep ssh

```
2.3配置网卡

```
[root@master ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=08:00:27:C0:18:81
TYPE=Ethernet
UUID=8f07e2a4-702d-4e4e-a7c9-a0d4d1c9a880
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.8.205
NETMASK=255.255.255.0
GATEWAY=192.168.8.1
DNS1=221.228.255.1
```
2.4配置hosts

```
[root@master ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

--添加如下内容
192.168.8.205 master
192.168.8.223 slave
```
2.5修改hostname为master

```
[root@master ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=master
```
2.6创建hadoop用户

```
--创建用户
[root@master ~]# useradd hadoop

--配置用户密码
[root@master ~]# passwd hadoop
```
2.7配置ssh无密码登陆

在master机器上操作

```
--切换hadoop用户
[root@master ~]# su - hadoop

--生成需要建立ssh的私钥和公钥,连续3次回车建立公钥文件(id_rsa.pub)和私钥文件(id_rsa)
[hadoop@master ~]$ ssh-keygen -t rsa

--把id_rsa.pub追加到授权的authorized_keys里面去
[hadoop@master ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

--修改权限        
[hadoop@master ~]$ chmod 600 ~/.ssh/authorized_keys       
 
--切换到root用户,修改ssh配置文件
[hadoop@master ~]$ exit
[root@master ~]# vim /etc/ssh/sshd_config   
 RSAAuthentication yes #启用RSA认证
 PubkeyAuthentication yes #启用公钥私钥配对认证方式
 AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径

```
登陆到slave机器上

```
--切换到hadoop用户
[root@slave ~]# su - hadoop

--创建.ssh文件夹
[hadoop@slave ~]$ mkdir ~/.ssh

--切换到maste主机上的hadoop用户下
[root@master ~]# su - hadoop

--将密钥scp到slave机器上
[hadoop@master ~]$ scp ~/.ssh/id_rsa.pub hadoop@slave:~/.ssh

--切换到slave机器上的hadoop下
[hadoop@slave ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

--授予权限(master和slave都要授权)
chmod 700 ~/.ssh/
chmod 700 /home/hadoop
chmod 600 ~/.ssh/authorized_keys
```
3.安装必须的软件
3.1安装jdk

```
--创建jdk目录
mkdir /usr/java
将下载的jdk-8u60-linux-x64.tar.gz解压到java目录下

--配置jdk环境
[root@master ~]# vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_60
export PATH=$PATH:$JAVA_HOME/bin

--修改生效
[root@master ~]# source profile

--测试是否安装成功
[hadoop@master ~]$ java -version
java version "1.5.0"
gij (GNU libgcj) version 4.4.7 20120313 (Red Hat 4.4.7-3)

Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

这里有点问题,显示的是系统自带的java,替换自己安装的见:
http://blog.csdn.net/u011364306/article/details/48375653
```
3.2安装其他组件

```
[root@master ~]#yum install svn ncurses-devel gcc* lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel
```
3.3安装maven

```
--下载apache-maven,将下载后的文件拷贝到 /usr/local/目录下。
apache-maven-3.3.3-bin.tar.gz

--解压文件
[root@master local]# tar xf apache-maven-3.3.3-bin.tar.gz

--给maven做一个软连接
[root@master local]# ln -s apache-maven-3.3.3 apache-maven

--配置maven环境
[root@master ~]# vim /etc/profile
export M2_HOME=/usr/local/apache-maven

--在java环境变量后面加上:$M2_HOME/bin
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin

--修改生效
[root@master ~]# source profile

--测试是否安装成功
[root@master local]# mvn -v
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T19:57:37+08:00)
Maven home: /usr/local/apache-maven
Java version: 1.8.0_60, vendor: Oracle Corporation
Java home: /usr/java/jdk1.8.0_60/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-358.el6.x86_64", arch: "amd64", family: "unix"
```
3.4安装ant

```
--下载apache-ant,将下载后的文件拷贝到 /usr/local/目录下。
apache-ant-1.9.6-bin.tar.gz

--解压文件
[root@master local]# tar xf apache-ant-1.9.6-bin.tar.gz

--配置ant环境
[root@master ~]# vim /etc/profile
export ANT_HOME=/usr/local/apache-ant-1.9.6
export PATH=$PATH:$ANT_HOME/bin

--修改生效
[root@master ~]# source profile
```
3.5安装findbugs

```
--下载findbugs,将下载后的文件拷贝到 /usr/local/目录下。
findbugs-3.0.1.tar.gz

--解压文件
[root@master local]# tar xf findbugs-3.0.1.tar.gz

--配置findbugs环境
[root@master ~]# vim /etc/profile
export FINDBUGS_HOME=/usr/local/findbugs-3.0.1
export PATH=$PATH:$FINDBUGS_HOME/bin

--修改生效
[root@master ~]# source profile
```
3.6安装protobuf

```
--下载protobuf,将下载后的文件拷贝到 /usr/local/目录下。
protobuf-2.5.0.tar.gz

--解压文件
[root@master local]# tar xf protobuf-2.5.0.tar.gz

--编译安装
[root@master local]# cd protobuf-2.5.0
[root@master protobuf-2.5.0]# ./configure --prefix=/usr/local
[root@master protobuf-2.5.0]# make && make install
```
4.编译hadoop源码

```
--下载hadoop,将下载后的文件拷贝到 /usr/local/目录下。
hadoop-2.7.1-src.tar.gz

--解压文件
[root@master local]# tar xf hadoop-2.7.1-src.tar.gz

--编译安装
[root@master local]# cd hadoop-2.7.1-src/

--这一步执行后会比较久,我虚拟机大概花了近1个小时时间
[root@master local]# mvn package -Pdist,native,docs -DskipTests -Dtar
```
4.1修改maven源

```
[root@master local]# cd /usr/local/apache-maven/conf
[root@master conf]# mv settings.xml settings.xml.bak
[root@master conf]# touch settings.xml

--maven中央仓库的配置(改成oschina,增加访问速度)
<mirror>
        <id>nexus-osc</id>
        <mirrorOf>*</mirrorOf>
        <name>Nexus osc</name>
        <url>http://maven.oschina.net/content/groups/public/</url>
    </mirror></mirrors><profiles>
    <profile>
    <id>jdk17</id>
    <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>1.7</jdk>
    </activation>
    <properties>
        <maven.compiler.source>1.7</maven.compiler.source>
        <maven.compiler.target>1.7</maven.compiler.target>
        <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>
    </properties>    
        <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></profiles>
```
4.2 编译完后,会在目录/usr/local/hadoop-2.7.1-src/hadoop-dist/target下生成
hadoop-2.7.1和编译好的64位hadoop-2.7.1.tar.gz

```
[root@master conf]# cd /usr/local/hadoop-2.7.1-src/hadoop-dist/target
[root@master target]# ll
total 844744
drwxr-xr-x. 2 root root      4096 Sep 11 11:25 antrun
-rw-r--r--. 1 root root      1867 Sep 11 11:25 dist-layout-stitching.sh
-rw-r--r--. 1 root root       640 Sep 11 11:26 dist-tar-stitching.sh
drwxr-xr-x. 9 root root      4096 Sep 11 11:25 hadoop-2.7.1
-rw-r--r--. 1 root root 285910336 Sep 11 11:27 hadoop-2.7.1.tar.gz
-rw-r--r--. 1 root root      2823 Sep 11 11:26 hadoop-dist-2.7.1.jar
-rw-r--r--. 1 root root 579067602 Sep 11 11:29 hadoop-dist-2.7.1-javadoc.jar
drwxr-xr-x. 2 root root      4096 Sep 11 11:28 javadoc-bundle-options
drwxr-xr-x. 2 root root      4096 Sep 11 11:26 maven-archiver
drwxr-xr-x. 2 root root      4096 Sep 11 11:25 test-dir
```
5.配置hadoop
5.1基础操作

```
--将文件拷贝到hadoop用户下
[root@master /]# cp -r /usr/local/hadoop-2.7.1-src/hadoop-dist/target/hadoop-2.7.1 /home/hadoop/

--授予权限
[root@master /]# chown -R hadoop.hadoop /home/hadoop/hadoop-2.7.1/

--配置hadoop环境
[root@master ~]# vim /etc/profile
export HADOOP_HOME=/home/hadoop/hadoop-2.7.1
export PATH=$PATH:$HADOOP_HOME/bin

--修改生效
[root@master ~]# source profile

--切换到hadoop用户,创建基础目录
[root@master ~]# su - hadoop
[hadoop@master ~]$ cd hadoop-2.7.1/
[hadoop@master hadoop-2.7.1]$ mkdir -p dfs/name
[hadoop@master hadoop-2.7.1]$ mkdir -p dfs/data
[hadoop@master hadoop-2.7.1]$ mkdir -p tmp
```
5.2配置所有slave节点

```
[hadoop@master hadoop-2.7.1]$ cd etc/hadoop/
[hadoop@master hadoop]$ cat slaves
slave
#slave1
#slave2
#有多少个slave配置多少个
```
5.3修改hadoop-env.sh和yarn-env.sh

```
[hadoop@master hadoop]$ vim hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_60

[hadoop@master hadoop]$ vim yarn-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_60
```
5.4修改core-site.xml

```
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.8.205:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131702</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/hadoop-2.7.1/tmp</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value></value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value></value>
</property>
</configuration>
```
5.5修改hdfs-site.xml

```
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/hadoop-2.7.1/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/hadoop-2.7.1/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>192.168.8.205:9001</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
```
5.6修改mapred-site.xml

```
cp mapred-site.xml.template mapred-site.xml
```

```
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.8.205:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.8.205:19888</value>
</property>
</configuration>
```
5.7配置yarn-site.xml

```
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>192.168.8.205:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.8.205:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.8.205:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>192.168.8.205:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>192.168.8.205:8088</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>1024</value>
</property>
</configuration>
```
5.8格式化namenode

```
--切换目录
[hadoop@master hadoop]$ cd ../..
[hadoop@master hadoop-2.7.1]$ ls
bin  dfs  etc  include  lib  libexec  LICENSE.txt  logs  NOTICE.txt  README.txt  sbin  share  tmp

--格式化
[hadoop@master hadoop-2.7.1]$ ./bin/hdfs namenode -format
```
5.9启动

```
[hadoop@master hadoop-2.7.1]$ ./sbin/start-dfs.sh
[hadoop@master hadoop-2.7.1]$ ./sbin/start-yarn.sh
```

5.10检查启动情况

```
http://192.168.8.205:8088
http://192.168.8.205:50070
```

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29812844/viewspace-1988775/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29812844/viewspace-1988775/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值