阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Hadoop 2.0集群配置详细教程[虚拟机下配置成功]

400次阅读
没有评论

共计 7836 个字符,预计需要花费 20 分钟才能阅读完成。

1)、机器准备:

物理机器总共 4 台,想配置基于物理机的 Hadoop 集群中包括 4 个节点:1 个 Master,3 个 Salve,

节点之间局域网连接,可以相互 ping 通  IP 分布为:
192.168.216.131 hadoop1
192.168.216.132 hadoop2
192.168.216.133 hadoop3
192.168.216.134 hadoop4

操作系统为 CentOS6.2 64bit
Master 机器主要配置 NameNode 和 JobTracker 的角色,负责总管分布式数据和分解任务的执行;

3 个 Salve 机器配置 DataNode 和 TaskTracker 的角色,负责分布式数据存储以及任务的执行。

其实应该还应该有 1 个 Master 机器,用来作为备用,以防止 Master 服务器宕机,还有一个备用马上启用。

后续经验积累一定阶段后补上一台备用 Master 机器。

2)、创建账户

使用 root 登陆所有机器后,所有的机器都创建 hadoop 用户
useradd hadoop
passwd hadoop

此时在 /home/ 下就会生成一个 hadoop 目录,目录路径为 /home/hadoop

创建相关的目录

定义需要数据及目录的存放路径

定义代码及工具存放的路径
mkdir -p /home/hadoop/source
mkdir -p /home/hadoop/tools

定义数据节点存放的路径到跟目录下的 hadoop 文件夹, 这里是数据节点存放目录需要有足够的空间存放
mkdir -p /hadoop/hdfs
mkdir -p /hadoop/tmp
mkdir -p /hadoop/log
设置可写权限
chmod -R 777 /hadoop

定义 Java 安装程序路径
mkdir -p /usr/java

 

3)、安装 JDK

在官网下载 jdk1.7(x64)

解压 #tar zvxf jdk-7u10-linux-x64.tar.gz

  #mv jdk1.7.0_10 /usr/java/jdk1.7

配置环境变量,执行 cd /etc 命令后执行 vi profile,在行末尾添加

export JAVA_HOME=/usr/java/jdk1.7export

CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

export PATH=$PATH :$JAVA_HOME/bin:

 执行 chmod +x profile 将其变成可执行文件
 执行 source profile 使其配置立即生效
#source /etc/profile
 执行 java -version 查看是否安装成功

这个步骤所有机器都必须安装

 

4)、修改主机名

修改主机名,所有节点均一样配置
    1,连接到主节点 192.168.216.131,修改 network,执行 vim /etc/sysconfig/network,修改 HOSTNAME=hadoop1
      2,修改 hosts 文件,执行 cd /etc 命令后执行 vi hosts,在行末尾添加 :

192.168.216.131 hadoop1
192.168.216.132 hadoop2
192.168.216.133 hadoop3
192.168.216.134 hadoop4

    3,执行 hostname hadoop1
    4,执行 exit 后重新连接可看到主机名以修改 OK

其他节点也修改主机名后添加 Host, 或者 host 文件可以在后面执行 scp 覆盖操作

5)、配置 SSH 无密码登陆

SSH 无密码原理简介 :
首先在 hadoop1 上生成一个密钥对,包括一个公钥和一个私钥,并将公钥复制到所有的 slave(hadoop2-hadoop4)上。
然后当 master 通过 SSH 连接 slave 时,slave 就会生成一个随机数并用 master 的公钥对随机数进行加密,并发送给 master。
最后 master 收到加密数之后再用私钥解密,并将解密数回传给 slave,slave 确认解密数无误之后就允许 master 不输入密码进行连接了

2,具体步骤(在 root 用户和 hadoop 用户登陆情况下执行)
1、执行命令 ssh-keygen -t rsa 之后一路回车,查看刚生成的无密码钥对:cd .ssh 后执行 ll
2、把 id_rsa.pub 追加到授权的 key 里面去。执行命令 cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
3、修改权限:执行 chmod 600 ~/.ssh/authorized_keys
4、确保 cat/etc/ssh/sshd_config 中存在如下内容

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
如需修改,则在修改后执行重启 SSH 服务命令使其生效 :service sshd restart

  将公钥复制到所有的 slave 机器上 :scp~/.ssh/id_rsa.pub192.168.216.133:~/  然后输入 yes,最后输入 slave 机器的密码;
在 slave 机器上创建 .ssh 文件夹 :mkdir ~/.ssh 然后执行 chmod 700 ~/.ssh(若文件夹以存在则不需要创建);
追加到授权文件 authorized_keys 执行命令 :cat ~/id_rsa.pub >>~/.ssh/authorized_keys 然后执行 chmod 600 ~/.ssh/authorized_keys
重复第 4 步
验证命令 : 在 master 机器上执行 ssh 192.168.216.133 发现主机名由 hadoop1 变成 hadoop3 即成功,

最后删除 id_rsa.pub 文件 :rm -r id_rsa.pub(这步不是必须,子要不和本机的公钥文件冲突就行)
按照以上步骤分别配置 hadoop1,hadoop2,hadoop3,hadoop4,要求每个都可以无密码登录

6)源码下载

        HADOOP 版本
最新版本 hadoop-2.0.0-alpha 安装包为 hadoop-2.0.0-alpha.tar.gz
下载官网地址 :http://www.apache.org/dyn/closer.cgi/hadoop/common/
在 /usr/local 目录下解压目录
tar zxvf hadoop-2.0.0-alpha.tar.gz

mv hadoop-2.0.0-alpha hadoop

 

源码配置修改

/etc/profile

配置环境变量:vim /etc/profile
添加
export HADOOP_DEV_HOME=/usr/local/hadoop      #hadoop 安装目录
export PATH=$PATH:$HADOOP_DEV_HOME/bin     
export PATH=$PATH:$HADOOP_DEV_HOME/sbin
export HADOOP_MAPARED_HOME=${HADOOP_DEV_HOME}
export HADOOP_COMMON_HOME=${HADOOP_DEV_HOME}
export HADOOP_HDFS_HOME=${HADOOP_DEV_HOME}
export YARN_HOME=${HADOOP_DEV_HOME}
export HADOOP_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
export HDFS_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
export YARN_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop

7)配置文件
配置 hadoop-env.sh

vim /usr/hadoop/hadoop-2.0.0-alpha/etc/hadoop/hadoop-env.sh
在末尾添加 exportJAVA_HOME=/usr/java/jdk1.7

core-site.xml

在 configuration 节点里面添加属性

<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/tmp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs:// 192.168.216.131:9000</value>
</property>

slave 配置

vim /home/hadoop/hadoop/etc/hadoop/slaves
添加 slave 的 IP
192.168.216.131
192.168.216.132
192.168.216.133

配置 hdfs-site.xml

vim /home/hadoop/hadoop/etc/hadoop/hdfs-site.xml
添加节点

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

<property>
<name>dfs.namenode.name.dir</name>
<value>file:/hadoop/hdfs/name</value>
<final>true</final>
</property>

<property>
<name>dfs.federation.nameservice.id</name>
<value>ns1</value>
</property>

<property>
<name>dfs.namenode.backup.address.ns1</name>
<value>192.168.216.131:50100</value>
</property>

<property>
<name>dfs.namenode.backup.http-address.ns1</name>
<value>192.168.216.131:50105</value>
</property>

<property>
<name>dfs.federation.nameservices</name>
<value>ns1</value>
</property>

<property>
<name>dfs.namenode.rpc-address.ns1</name>
<value>192.168.216.131:9000</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ns2</name>
<value>192.168.216.131:9000</value>
</property>

<property>
<name>dfs.namenode.http-address.ns1</name>
<value>192.168.216.131:23001</value>
</property>

<property>
<name>dfs.namenode.http-address.ns2</name>
<value>192.168.216.131:13001</value>
</property>

<property>
<name>dfs.dataname.data.dir</name>
<value>file:/hadoop/hdfs/data</value>
<final>true</final>
</property>

<property>
<name>dfs.namenode.secondary.http-address.ns1</name>
<value>192.168.216.131:23002</value>
</property>

<property>
<name>dfs.namenode.secondary.http-address.ns2</name>
<value>192.168.216.131:23002</value>
</property>

<property>
<name>dfs.namenode.secondary.http-address.ns1</name>
<value>192.168.216.131:23003</value>
</property>

<property>
<name>dfs.namenode.secondary.http-address.ns2</name>
<value>192.168.216.131:23003</value>
</property>

配置 yarn-site.xml

添加节点

<property>
<name>yarn.resourcemanager.address</name>
<value>192.168.216.131:18040</value>
</property>

<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.216.131:18030</value>
</property>

<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>192.168.216.131:18088</value>
</property>

<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.216.131:18025</value>
</property>

<property>
<name>yarn.resourcemanager.admin.address</name>
<value>192.168.216.131:18141</value>
</property>

<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce.shuffle</value>
</property>

<property>

<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

在 /etc/hadoop 使用以下内容创建一个文件 mapred-site.xml

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<property>

<name>mapred.system.dir</name>

<value>file:/hadoop/mapred/system</value>

<final>true</final>

</property>

<property>

<name>mapred.local.dir</name>

<value>file:/hadoop/mapred/local</value>

<final>true</final>

</property>

配置 httpfs-site.xml

添加 httpfs 的选项
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>192.168.216.131</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>

 

同步代码到其他机器

1. 同步配置代码
先在 slaves 的机器上也创建
mkdir -p /usr/local
部署 hadoop 代码,然后只要同步修改过的 etc/hadoop 下的配置文件即可  例如:hadoop1# scp –r hadoop root@hadoop2:/usr/local/
2. 同步 /etc/profile
3. 同步 /etc/hosts
#scp -r /etc/profile root@hadoop2:/etc/profile
#scp -r /etc/hosts root@hadoop2:/etc/hosts

其他机器以此操作

8)Hadoop 启动

格式化集群

hadoop namenode -format -clusterid clustername

hsfs namenode-format

 

启动 hdfs 执行:
start-dfs.sh

开启 hadoop dfs 服务 ;
启动 Yarn

开启 yarn 资源管理服务:
start-yarn.sh;

启动 httpfs

开启 httpfs 服务
httpfs.sh start
使得对外可以提高 http 的 restful 接口服务

9)测试

安装结果验证

验证 hdfs

在各台机器执行 jps 看进程是否都已经启动了

[root@hadoop1 hadoop]# jps
7396 NameNode
24834 Bootstrap
7594 SecondaryNameNode
7681 ResourceManager
32261 Jps

[root@hadoop2 ~]# jps
8966 Jps
31822 DataNode
31935 NodeManager

进程启动正常

验证是否可以登陆
hadoop fs -ls hdfs:// 192.168.216.131:9000/
hadoop fs -mkdir hdfs:/ 192.168.216.131:9000/testfolder
hadoop fs -copyFromLocal ./xxxx hdfs:// 192.168.216.131:9000/testfolder
hadoop fs -ls hdfs:// 192.168.216.131:9000/testfolder

看以上执行是否正常

验证 map/reduce

相关阅读

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计7836字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7954237
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的 3D 玩偶了 前些日子参加某网站活动,获得一次实物 3D 打印的机会,于是从众多...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...