hadoop 3.0 集群配置(ubuntu环境)

环境准备

节点说明

一个管理节点,两个数据存储节点

主机名ip用户
master192.168.85.3namenode
slave01192.168.85.4datanode
slave02192.168.85.5datanode

配置开机时不显示图形界面(针对ubuntu16.04)

打开终端,输入下面的内容,然后重启

sudo systemctl disable lightdm.service

配置各个节点免密登录

修改主机名
sudo vim /etc/hostname

将各个节点的主机名依次修改为master,slave01,slave02

对每个节点的host文件都加入各个节点的ip
sudo vim /etc/hosts

添加

192.168.85.3    master
192.168.85.4    slave01
192.168.85.5    slave02

`这里写图片描述
配置完以后,在各个节点都试着ping master,slave01,slave02,如果都能ping通,就表明配置成功了
这里写图片描述

配置ssh免密登录

每个节点先需要生成一对公钥和私钥

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

这里写图片描述
私钥保存在/home/hukun/.ssh/id_rsa
公钥保存在/home/hukun/.ssh/id_rsa.pub
将公钥追加到各个节点的authorized_keys文件里面

本节点免密自登录验证
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
#验证本节点是否可以免密登录自己,如果是其他节点,比如slave01, 就要使用ssh slave01来验证
ssh localhost

第一次登录会提示你是否保存fingerprint,选择yes,后面可以直接连了
这里写图片描述

本节点免密登录其他节点验证

于其他节点,先将pubkey文件通过scp拷贝到该节点,再将pubkey追加到此节点的authorized_keys

#拷贝
scp ~/.ssh/id_rsa.pub hukun@slave01:~/id_rsa.pub.master
#在slave01节点执行
cat ~/id_rsa.pub.master >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
#在 master节点执行
ssh slave01

如果可以连接上,表明配置成功了,slave02也按照这样配置,这样master到所有节点的免密登录就配置完了,slave01以及slave02到各个节点的免密登录也需要这样配置

环境变量配置

将java和hadoop的路径添加到path中

vim ~/.barshrc

在文件最后添加下面三行后保存

JAVA_HOME=/home/hukun/soft/jre1.8.0_161/
HADOOP_HOME=/home/hukun/soft/hadoop-3.0.0/
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$PATH

保存后使得文件生效

source ~/.barshrc

测试java是否配置成功

java -version

这里写图片描述
OK
测试hadoop是否配置成功

hapoop version

这里写图片描述
提示找不到JAVA_HOME,这是因为没有配置hadoopJAVA_HOME,现在来配置hadoopJAVA_HOME

vim ~/soft/hadoop-3.0.0/etc/hadoop/hadoop-env.sh

去掉第54行的注释,添加JAVA_HOME
这里写图片描述
再次执行hadoop version
这里写图片描述
OK

hadoop集群配置

核心xml配置

需要配置的文件列表如下

文件名说明
$HADOOP_HOME/etc/hadoop/core-site.xml核心配置文件,配置hadoop的默认文件系统类型以及tmp目录
$HADOOP_HOME/etc/hadoop/hdfs-site.xml分布式文件系统配置文件,配置副本数量,namenode和datanode的目录等
$HADOOP_HOME/etc/hadoop/mapred-site.xmlMapReduce配置文件,配置MapReduce的框架以及classpath
$HADOOP_HOME/etc/hadoop/yarn-site.xmlyarn框架配置文件,配置yarn框架的一些属性
core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:///home/hukun/hadoop/tmp</value>
    </property>
</configuration>
hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///home/hukun/hadoop/hdfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///home/hukun/hadoop/hdfs/data</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>slave01:9001</value>
    </property>
    <property>
        <name>dfs.http.address</name>
        <value>0.0.0.0:50070</value>
    </property>
</configuration>
mapred-site.xml
<configuration>
    <property>
        <name>mapred.job.tracker.http.address</name>
        <value>0.0.0.0:50030</value>
    </property>
    <property>
        <name>mapred.task.tracker.http.address</name>
        <value>0.0.0.0:50060</value>
    </property>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.application.classpath</name>
        <value>
            /home/hukun/soft/hadoop-3.0.0/etc/hadoop,
            /home/hukun/soft/hadoop-3.0.0/share/hadoop/common/*,
            /home/hukun/soft/hadoop-3.0.0/share/hadoop/common/lib/*,
            /home/hukun/soft/hadoop-3.0.0/share/hadoop/hdfs/*,
            /home/hukun/soft/hadoop-3.0.0/share/hadoop/hdfs/lib/*,
            /home/hukun/soft/hadoop-3.0.0/share/hadoop/mapreduce/*,
            /home/hukun/soft/hadoop-3.0.0/share/hadoop/mapreduce/lib/*,
            /home/hukun/soft/hadoop-3.0.0/share/hadoop/yarn/*,
            /home/hukun/soft/hadoop-3.0.0/share/hadoop/yarn/lib/*
        </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>
    <property> 
       <name>yarn.resourcemanager.webapp.address</name>
       <value>master:8099</value>
    </property>
</configuration>

datanode节点配置

vim $HADOOP_HOME/etc/workers

将localhost注释掉,添加下面的两行

slave01
slave01

核心xml配置以及slave节点配置需要同步到集群内的所有机器,即master,slave01和slave02的配置必须完全一样,配置完成后就可以测试hadoop是否部署成功了

启动hadoop

#格式化
hdfs namenode -format
# 启动hadoop集群
start-all.sh

这里写图片描述

#使用jps查看jvm运行的程序
jps

各节点的服务启动情况如下
master
这里写图片描述
slave01
这里写图片描述
slave02
这里写图片描述
浏览器中输入
192.168.85.3:50070
192.168.85.3:8099

50070是在hdfs-site.xml中的dfs.http.address属性设置的
8099是在yarn-site.xml中的yarn.resourcemanager.webapp.address设置的
为方便起见,最好将这个三个ip和主机名加入到hosts中,后面可以直接通过类似于master:50070这样的方式访问

出现下面的界面说明成功

这里写图片描述
这里写图片描述

hadoop测试

hdfs测试

hdfs传文件测试

#在hadoop集群环境中创建目录test
hdfs dfs -mkdir hdfs://master:9000/test
#把本地的目录push到集群中
hdfs dfs -put ~/soft/hadoop-3.0.0.tar.gz hdfs://master:9000/test/hadoop-3.0.0.tar.gz

9000端口是在core-site.xml中的属性fs.defaultFS配置的,

在浏览器中国master:50070(前提是windows的hosts已经配置),Utillities->Browse the file system
这里写图片描述
输入/test,就可以看到我们刚刚上传的文件了
这里写图片描述

mapreduce测试

wordcount测试
随便找一个英文txt文本,push到hdfs,我这里直接使用了hadoop的license文件

#创建wordcount目录
hdfs dfs -mkdir hdfs://master:9000/wordcount
#将/LICENSE.txt push到该目录下
hdfs dfs -put ~/LICENSE.txt hdfs://master:9000/wordcount/LICENSE.txt
#cd到hadoop的mapreduce目录,这里有hadoop提供的测试程序
cd ~/soft/hadoop-3.0.0/share/hadoop/mapreduce/

这里写图片描述
执行

hadoop jar hadoop-mapreduce-examples-3.0.0.jar wordcount hdfs://master:9000/wordcount/LICENSE.txt hdfs://master:9000/wordcount/result

结果会放在hdfs://master:9000/wordcount/result目录下面
这里写图片描述
执行OK了,看下结果

hdfs dfs -ls hdfs://master:9000/wordcount/result

这里写图片描述
_SUCCESS表示执行成功,part-r-00000就是wordcount的结果,看下wordcount的内容

hdfs dfs -cat hdfs://master:9000/wordcount/result/part-r-00000

这里写图片描述
当然也可以直接去网页中把这个结果下载到windows中看
这里写图片描述

参考

1. CentOS 6.5下hadoop3.0集群搭建
2. hadoop3.0 分布式搭建/安装

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值