博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
搭建Hadoop集群(centos6.7+hadoop-2.7.3)
阅读量:4648 次
发布时间:2019-06-09

本文共 5019 字,大约阅读时间需要 16 分钟。

  hadoop集群有三种运行模式:单机模式、伪分布模式、完全分布模式。我们这里搭建第三种完全分布模式,即使用分布式系统,在多个节点上运行。

1 环境准备

1.1 配置DNS

  进入配置文件,添加主节点和从节点的ip映射关系:

# vim /etc/hosts10.0.0.45  master10.0.0.46  slave110.0.0.47  slave2

1.2 关闭防火墙

# service iptables stop    //关闭服务
# chkconfig iptables off    //关闭开机自启动

1.3 配置免密码登录

 (1)每个节点都首先进入/root/.ssh目录下,生成密钥:

 
# ssh-keygen -t rsa  //输入命令之后连续回车就行了

(2)在主节点上,将公钥拷贝到一个特定文件中:

 
[root@master .ssh]# cp id_rsa.pub authorized_keys

(3)将每个从节点上生成的公钥复制到主节点上:

[root@slave1 .ssh]# scp id_rsa.pub master:/root/.ssh/id_rsa_slave1.pub[root@slave2 .ssh]# scp id_rsa.pub master:/root/.ssh/id_rsa_slave2.pub

(4)在主节点上合并从节点的公钥:

 
[root@master .ssh]# cat id_rsa_slave1.pub>>authorized_keys
[root@master .ssh]# cat id_rsa_slave2.pub>>authorized_keys

(5)将主节点上合并后的公钥复制到从节点上:

 
[root@master .ssh]# scp authorized_keys slave1:/root/.ssh
[root@master .ssh]# scp authorized_keys slave2:/root/.ssh

   配置完成,在各个节点上进行ssh访问,若无需密码就能访问,则配置成功。

1.4 配置java环境

   首先下载jdk,保存到指定目录。设置环境变量:

# vim  /etc/profile export JAVA_HOME=/usr/java/jdk1.8.0_112export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin # source /etc/profile     //使配置生效

   验证配置是否成功:

# java -vesrion

  若出现下面的配置信息则表示java环境配置成功了:

2 部署Hadoop集群

  在各个节点上安装与配置Hadoop的过程都基本相同,因此可以在每个节点上安装好Hadoop后,在主节点master上进行统一配置,然后通过scp命令将修改的配置文件拷贝到各个从节点上即可,下面介绍部署过程。

2.1 安装Hadoop

  下载hadoop安装包,下载地址:,并解压:

# tar xvf hadoop-2.7.3.tar.gz

  配置环境变量:

# vim /etc/profileexport HADOOP_HOME=/home/hadoop-2.7.3export PATH=$PATH:$HADOOP_HOME/binexport PATH=$PATH:$HADOOP_HOME/sbinexport HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

2.2 修改配置文件

  进入Hadoop的配置文件目录$HADOOP_HOME/etc/hadoop,可以看到有许多配置文件,Hadoop集群配置主要是对以下几个文件的修改:

  • core-site.xml

  • hdfs-site.xml
  • yarn-site.xml
  • mapred-site.xml
  • slaves、hadoop-env.sh、yarn-env.sh

下面就介绍文件的具体配置,按实际情况修改配置信息:

(1)core-site.xml

fs.defaultFS
hdfs://master:9000
hadoop.tmp.dir
/home/hadoop _tmp

(2)hdfs-site.xml

dfs.permissions.enabled
false
dfs.support.append
true
dfs.replication
2
dfs.datanode.data.dir
file:///home/dfs_data
dfs.namenode.name.dir
file:///home/dfs_name
dfs.namenode.rpc-address
master:9000
dfs.namenode.secondary.http-address
slave1:50090
dfs.namenode.secondary.https-address
slave1:50091
dfs.webhdfs.enabled
true

(3)yarn-site.xml

yarn.resourcemanager.hostname
master
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.resource.memory-mb
20480
yarn.scheduler.maximum-allocation-mb
10240
yarn.nodemanager.resource.cpu-vcores
5
yarn.nodemanager.vmem-check-enabled
false

(4)mapred-site.xml

mapreduce.framework.name
yarn

(5)slaves

    启动Hadoop集群需要读取该文件,以确定从节点主机名,从而启动DataNode、NodeManager等守护进程,因此需要在该文件中添加从节点主机名。

slave1slave2

(6)hadoop-env.sh

   修改如下内容:

export JAVA_HOME=/usr/java/jdk1.8.0_112

(7)yarn-env.sh

  添加如下内容:

export JAVA_HOME=/usr/java/jdk1.8.0_112

  到此,完成了主节点上所有的配置,只需将这些配置信息复制到各个从节点:

# scp /home/hadoop-2.7.3/etc/hadoop/* slave1:/home/hadoop-2.7.3/etc/hadoop/
# scp /home/hadoop-2.7.3/etc/hadoop/* slave2:/home/hadoop-2.7.3/etc/hadoop/

2.3 启动Hadoop

(1)第一次启动HDFS时需要初始化,在主节点上执行:

# cd /home/hadoop-2.7.3   # ./bin/hadoop namenode -format

(2)启动HDFS:

# ./sbin/start-dfs.sh

  成功启动后,访问即可看到HDFS Web界面。

(3) 启动YARN:

# ./sbin/start-yarn.sh

  成功启动后,访问即可看到YARN Web界面。

 

  这里也可以直接执行下面的命令一键启动,但第一次启动不建议这样做:

# start-all.sh

  到此,Hadoop集群环境已经搭建好了,可以根据自己的业务需求,在上面愉快的“玩耍”了。

 

转载于:https://www.cnblogs.com/qiuyuesu/p/8398091.html

你可能感兴趣的文章
SqlServer索引的原理与应用
查看>>
使用Kubeadm搭建Kubernetes(1.12.2)集群
查看>>
微信小程序获取当前地址以及选择地址详解 地点标记
查看>>
任务平均分配的小算法
查看>>
学习日报 7-10(验证码)
查看>>
No.3 - CSS transition 和 CSS transform 配合制作动画
查看>>
c++STL全排列
查看>>
MYSQL 5.1自动安装脚本
查看>>
Sql Server数据库备份和恢复:原理篇
查看>>
Git学习脑图
查看>>
fafu oj 1266 数数
查看>>
日期和时间模块
查看>>
开发系列:03、Spark Streaming Custom Receivers(译)
查看>>
fixed与sticky的区别
查看>>
keil C51 例子
查看>>
修改hosts文件在本地使域名解析到指定IP
查看>>
python数字图像处理(5):图像的绘制
查看>>
Gym 101147J Whistle's New Car(dfs)
查看>>
poj 3669 Meteor Shower
查看>>
MVC后台数据赋值给前端JS对象
查看>>