首页 > 其他 > 详细

(重磅)最快的Hadoop完全分布式运行

时间:2019-07-28 21:52:09      阅读:161      评论:0      收藏:0      [点我收藏+]

1、准备虚拟机

克隆3台linux虚拟机,仅安装了centos最小模式的机器

2、配置集群网络

网络分配表

主机名

IP地址

hadoop1

192.168.178.101

hadoop2

192.168.178.102

hadoop3

192.168.178.103

 

vi /etc/hosts

 

要在/etc/hosts加入:

192.168.178.101 hadoop1
192.168.178.102 hadoop2
192.168.178.103 hadoop3

 

 

3、SSH无密登录配置

(0)进入.ssh目录

 

cd ~/.ssh/

 

注意:如果没有这个目录的话,是因为还没使用过ssh,一般使用过ssh就会自动创建

(1)生成公钥

 

ssh-keygen -t rsa

注意:连续按3次回车即可

(2)拷贝公钥

 

ssh-copy-id hadoop1
ssh-copy-id hadoop2
ssh-copy-id hadoop3

 

注意:需要发出公钥的服务器有:NameNode、ResourceManager

 

4、编写集群分发脚本xsync

 

#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 获取当前用户名称
user=`whoami`

#5 循环
for((host=1; host<4; host++)); do
        echo ------------------- hadoop$host --------------
        rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done

 

5、集群配置

 

 

hadoop1

hadoop2

hadoop3

HDFS

NameNode

DataNode

 

DataNode

SecondaryNameNode

DataNode

YARN

NodeManager

ResourceManager

NodeManager

NodeManager

原则:NameNode、ResourceManager、SecondaryNameNode分配在不同服务器上

 

*-env.sh 是修改JAVA_HOME

 

(1)core-site.xml

 

<!-- 指定HDFS中NameNode的地址 -->
<property>
    <name>fs.defaultFS</name>
      <value>hdfs://hadoop1:9000</value>
</property>

<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>

 

(2)hdfs-site.xml、hadoop-env.sh

 

<property>
    <name>dfs.replication</name>
    <value>3</value>
</property>

<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>hadoop3:50090</value>
</property>

 

(3)yarn-site.xml、yarn-env.sh

 

<!-- Reducer获取数据的方式 -->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

<!-- 指定YARN的ResourceManager的地址 -->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop2</value>
</property>

 

(4)mapred-site.xml、mapred-env.sh

 

<!-- 指定MR运行在Yarn上 -->
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

(5)配置slaves

 

hadoop1
hadoop2
hadoop3

 

(6)分发配置

 

xsync /opt/module/hadoop-2.7.2/
xsync /opt/module/jdk1.8.0_144
xsync /etc/profile

 

(7)集群更新系统环境变量

用于更新JAVA_HOME、Hadoop_HOME、PATH

source /etc/profile

 

6、集群启动

(1)第一次启动:NameNode格式化

hdfs namenode -format

(2)启动HDFS,在NameNode上启动

sbin/start-dfs.sh

(3)启动YARN,在ResourceManager上启动

sbin/start-yarn.sh

 

7、集群测试

(1)Web查看NaneNode信息

输入地址:hadoop1:50070

技术分享图片

(2)上传一个文件

 

[root@hadoop1 software]# hdfs dfs -put hadoop-2.7.2.tar.gz /

技术分享图片

(3)查看文件分块信息

技术分享图片

 

(重磅)最快的Hadoop完全分布式运行

原文:https://www.cnblogs.com/shuaiqi-XCJ/p/11260876.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!