Hadoop2.7.2之集群搭建(三台)

原文地址:http://blog.csdn.net/uq_jin/article/details/51513307

如果你还没有虚拟机,请参考:http://blog.csdn.net/uq_jin/article/details/51355124 
如果你还没有试过单机模式,请参考:http://blog.csdn.net/uq_jin/article/details/51451995 
参考:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/ClusterSetup.html

集群规划

主机名 ip 安装的软件 进程
master 192.168.1.111 jdk、hadoop namenode ressourcemanager
slave1 192.168.1.112 jdk、hadoop datanode secondnamenode
slave2 192.168.1.113 jdk、hadoop datanade

免登录

这里直接用root用户,注意将防火墙关掉:

#关闭防火墙
sudo systemctl stop firewalld.service
#关闭开机启动
sudo systemctl disable firewalld.service
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

免密码登录:

cd /root/.ssh/
ssh-keygen -t rsa
  • 1
  • 2
  • 1
  • 2

这里上个回车就ok,会在当前目录生成两个文件,一个公钥一个私钥

这里写图片描述

将公钥拷贝到其它机器上,实现免密码登录

ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

这样会在slave1 的/root/.ssh/目录下生成一个authorized_keys 就可以实现master免登录到slave1,如下:

ssh slave1
  • 1
  • 1

安装JDK

在/opt/下创建soft-install文件夹来存放安装的软件,创建soft来安装软件

这里写图片描述

tar -zxvf jdk-8u91-linux-x64.tar.gz -C /opt/soft/
  • 1
  • 1

修改环境变量:

# 修改配置文件
vi /etc/profile
# 在最后下添加

export JAVA_HOME=/opt/soft/jdk1.8.0_91
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

# 刷新配置文件
source /etc/profile
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

安装Hadoop

解压

tar -zxvf ./soft-install/hadoop-2.7.2.tar.gz -C /opt/soft/
  • 1
  • 1

删除docs

cd /opt/soft/hadoop-2.7.2/share
rm -rf doc/
  • 1
  • 2
  • 1
  • 2

修改环境变量

# 修改配置文件
vi /etc/profile
# 在最后下添加

export HADOOP_HOME=/opt/soft/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin

# 刷新配置文件
source /etc/profile
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

修改配置文件

这些配置文件全部位于 /opt/soft/Hadoop-2.7.2/etc/hadoop 文件夹下

hadoop-env.sh

这里写图片描述

core-site.xml

<configuration>
    
    <property>
        <name>fs.defaultFSname>
        <value>hdfs://master:9000value>
    property>
    
    <property>
        <name>hadoop.tmp.dirname>
        <value>/opt/soft/hadoop-2.7.2/tmpvalue>
    property>
configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

hdfs-site.xml

<configuration>

    
    <property>
        <name>dfs.namenode.http-addressname>
        <value>master:50070value>
    property>

    
    <property>
        <name>dfs.namenode.secondary.http-addressname>
        <value>slave1:50090value>
    property>

    
    <property>
        <name>dfs.namenode.name.dirname>
        <value>/opt/soft/hadoop-2.7.2/namevalue>
    property>

    
    <property>
        <name>dfs.replicationname>
        <value>2value>
    property>
    
    <property>
        <name>dfs.datanode.data.dirname>
        <value>/opt/soft/hadoop-2.7.2/datavalue>
    property>
configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

mapred-site.xml 
必须先

mv mapred-site.xml.template mapred-site.xml
  • 1
  • 1
<configuration>
    
    <property>
        <name>mapreduce.framework.namename>
        <value>yarnvalue>
    property>
configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

yarn-site.xml

<configuration>
    
    <property>
        <name>yarn.resourcemanager.hostnamename>
        <value>mastervalue>
    property>

    
    <property>
        <name>yarn.nodemanager.aux-servicesname>
        <value>mapreduce_shufflevalue>
    property>

    <property>
         <name>yarn.nodemanager.aux-services.mapreduce.shuffle.classname>
         <value>org.apache.hadoop.mapred.ShuffleHandlervalue>
    property>
configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

masters 
新建一个masters的文件,这里指定的是secondary namenode 的主机

slave1
  • 1
  • 1

slaves

slave1
slave2
  • 1
  • 2
  • 1
  • 2

创建文件夹:

mkdir tmp name data
  • 1
  • 1

复制到其他主机

复制/etc/hosts(因为少了这个导致secondarynamenode总是在slave1启动不起来)

scp /etc/hosts slave1:/etc/
scp /etc/hosts slave2:/etc/
  • 1
  • 2
  • 1
  • 2

复制/etc/profile (记得要刷新环境变量)

scp /etc/profile slave1:/etc/
scp /etc/profile slave2:/etc/
  • 1
  • 2
  • 1
  • 2

复制/opt/soft

scp -r /etc/soft slave1:/opt/
scp -r /etc/soft slave2:/opt/
  • 1
  • 2
  • 1
  • 2

记得在slave1和slave2上刷新环境变量

启动

第一次启动得格式化

./bin/hdfs namenode -format
  • 1
  • 1

启动dfs

./sbin/start-dfs.sh
  • 1
  • 1

启动yarn

./sbin/start-yarn.sh
  • 1
  • 1

查看

master

这里写图片描述

slave1

这里写图片描述

slave2

这里写图片描述

通过浏览器测试hdfs:

192.168.2.111:50070
  • 1
  • 1

这里写图片描述

注意这里有数据才是成功,我因为没把hosts文件复制到其他主机,导致启动的进程都是正确的,但是这里就是没数据,后来查资料检查才是没复制hosts文件。复制之后就一切正常了

通过浏览器测试yarn:

192.168.2.111:8088
  • 1
  • 1

这里写图片描述

可以看到一切正常。2个节点。

至此我们的三台hadoop运行

你可能感兴趣的:(Hadoop2.7.2之集群搭建(三台))