Hadoop 2.7分布式集群环境搭建

Hadoop 2.7分布式集群环境搭建

  • 集群机器
  • 配置ssh无密码登录本机和访问集群机器
  • JDK和Hadoop安装配置

集群机器

一台Ubuntu主机系统作Master,一台Ubuntu主机系统做slave01,一台Ubuntu主机系统做slave02。三台主机机器处于同一局域网下。

这里使用三台主机搭建分布式集群环境,更多台机器同样可以使用如下配置。

IP在不同局域网环境下有可能不同,可以用ifconfig命令查看当前主机打IP。

ifconfig

三台机器的名称和IP如下,

主机名称IP地址
master219.216.72.8
slave01219.216.72.49
slave02219.216.72.110

三台电脑主机的用户名均为hadoop.

三台机器可以ping双方的ip来测试三台电脑的连通性。

在master节点主机上的Shell中运行如下命令,测试能否连接到slave01节点主机

ping 219.216.72.8

为了更好的在Shell中区分三台主机,修改其显示的主机名,执行如下命令

sudo vim /etc/hostname

master的/etc/hostname添加如下配置:

master

同样slave01的/etc/hostname添加如下配置:

slave01

同样slave02的/etc/hostname添加如下配置:

slave02

重启三台电脑,重启后在终端Shell中才会看到机器名的变化,如下图:
20161205_003
修改三台机器的/etc/hosts文件,添加同样的配置:

sudo vim /etc/hosts

Shell 命令

配置如下:

127.0.0.1 localhost
219.216.72.8 master
219.216.72.49 slave01
219.216.72.110 slave02

配置ssh无密码登录本机和访问集群机器

三台主机电脑分别运行如下命令,测试能否连接到本地localhost

ssh localhost

登录成功会显示如下结果:

Last login: Mon Feb 29 18:29:55 2016 from ::1

如果不能登录本地,请运行如下命令,安装openssh-server,并生成ssh公钥。

sudo apt-get install openssh-server
ssh-keygen -t rsa -P "" (出现提示直接按enter)
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

在保证了三台主机电脑都能连接到本地localhost后,还需要让master主机免密码登录slave01和slave02主机。在master执行如下命令,将master的id_rsa.pub传送给两台slave主机。

scp ~/.ssh/id_rsa.pub hadoop@slave01:/home/hadoop/
scp ~/.ssh/id_rsa.pub hadoop@slave02:/home/hadoop/

在slave01,slave02主机上分别运行ls命令

ls ~

可以看到slave01、slave02主机分别接收到id_rsa.pub文件

20161205_004

接着在slave01、slave02主机上将master的公钥加入各自的节点上,在slave01和slave02执行如下命令:

cat ~/id_rsa.pub >> ~/.ssh/authorized_keysrm ~/id_rsa.pub

如果master主机和slave01、slave02主机的用户名一样,那么在master主机上直接执行如下测试命令,即可让master主机免密码登录slave01、slave02主机。

ssh slave01

如果master主机和slave01主机的用户名不一样,还需要在master修改~/.ssh/config文件,如果没有此文件,自己创建文件。

Host master
  user Ruanrc
Host slave01
  user hadoop

然后master主机再执行免密码登录:

ssh slave01

JDK和Hadoop安装配置

分别在master主机和slave01、slave02主机上安装JDK和Hadoop,并加入环境变量。

安装JDK

分别在master主机和slave01,slave02主机上执行安装JDK的操作

sudo apt-get install default-jdk

编辑~/.bashrc文件,添加如下内容:

export JAVA_HOME=/usr/lib/jvm/default-java

接着让环境变量生效,执行如下代码:

source ~/.bashrc
安装Hadoop

先在master主机上做安装Hadoop,暂时不需要在slave01,slave02主机上安装Hadoop.稍后会把master配置好的Hadoop发送给slave01,slave02.

规划安装目录:/home/hadoop/apps

规划数据目录:/home/hadoop/data

注:apps和data文件夹需要自己单独创建

cd ./apps
sudo tar -zxvf ~/下载/hadoop-2.7.3.tar.gz     
sudo chown -R hadoop ./hadoop-2.7.3       # 修改文件权限

编辑~/.bashrc文件,添加如下内容:

export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

接着让环境变量生效,执行如下代码:

source ~/.bashrc
Hadoop集群配置

修改master主机修改Hadoop如下配置文件,这些配置文件都位于/usr/local/hadoop/etc/hadoop目录下。均使用vim进行修改。

export JAVA_HOME=/usr/lib/jvm/default-java
  • 修改slaves:
    这里把DataNode的主机名写入该文件,每行一个。这里让master节点主机仅作为NameNode使用。
slave01
slave02
  • 修改core-site.xml
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/data/hadoopdata</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
</configuration>
  • 修改hdfs-site.xml:默认备份3
<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/hadoop/data/hadoopdata/name</value>
        <description>为了保证元数据的安全一般配置多个不同目录</description>
    </property>

    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/home/hadoop/data/hadoopdata/data</value>
        <description>datanode 的数据存储目录</description>
    </property>
    
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
</configuration>
  • 修改mapred-site.xml(复制mapred-site.xml.template,再修改文件名)
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
  • 修改yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
      <property>
          <name>yarn.nodemanager.aux-services</name>
          <value>mapreduce_shuffle</value>
      </property>
      <property>
          <name>yarn.resourcemanager.hostname</name>
          <value>master</value>
      </property>
</configuration>

配置好后,将 master 上的 /usr/local/Hadoop 文件夹复制到各个节点上。之前有跑过伪分布式模式,建议在切换到集群模式前先删除之前的临时文件。在 master 节点主机上执行:

scp -r ~/apps/hadoop-2.7.3/ slave01:~/apps
scp -r ~/apps/hadoop-2.7.3/ slave02:~/apps

配置完成,查看Hadoop版本

hadoop version

启动Hadoop集群

hdfs namenode -format
start-all.sh
(satrt-dfs.sh
start-yarn.sh)

关闭集群

stop-all.sh
或者stop-dfs.sh
stop-yarn.sh

启动HDFS和YARN的web管理界面

HDFS:http://219.216.72.8:50070

YARN:http://219.216.72.8:8088

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值