Hadoop分布式集群配置
硬件环境:
安装一个Hadoop集群时,需要专门指定一个服务器作为主节点。
三台虚拟机搭建的集群:(搭建集群时主机名不能一样,主机名在/etc/hostname修改)
master机器:集群的主节点,驻留NameNode和JobTracker守护进程)
dbrg1 192.168.0.102
slaves机器:(集群的从节点,驻留DataNode和TaskTracker守护进程)
dbrg2 192.168.0.112
dbrg3 192.168.0.113
这三台机器都安装好了hadoop-0.20.2,JDK和ssh。
安装方法参考上一篇博文。
共有3台机器,均使用的linux系统,Java使用的是sun
jdk1.7.0。
1. 修改主机名和IP地址
vi /etc/hostname(分别给每一台主机指定主机名)
vi /etc/hosts(分别给每一台主机指定主机名到IP地址的映射)
这里有一点需要强调的就是,务必要确保每台机器的主机名和IP地址之间能正确解析。一个很简单的测试办法就是ping一下主机名,比如在dbrg1上pingdbrg2,如果能ping通就OK!若不能正确解析,可以修改/etc/hosts文件,如果该台机器作Namenode用,则需要在hosts文件中加上集群中所有机器的IP地址及其对应的主机名;如果该台机器作Datanode用,则只需要在hosts文件中加上本机IP地址和Namenode机器的IP地址。
1. 三台机器都要修改/etc/hosts。
在dbrg1中添加:
192.168.0.102 dbrg1 dbrg1
192.168.0.112 dbrg2 dbrg2
192.168.0.113 dbrg3 dbrg3
在dbrg2中添加:
192.168.0.102 dbrg1 dbrg1
192.168.0.112 dbrg2 dbrg2
在dbrg3中添加:
192.168.0.102 dbrg1 dbrg1
192.168.0.113 dbrg3 dbrg3
2.免密码SSH设置
(1) 在三台机器上安装ssh,启动ssh-server。
sudo apt-get install openssh-server
sudo /etc/init.d/ssh start
ps -e|grep ssh //这个是检验命令
(2)在dbrg1上生成密钥对。
ssh-keygen -t -rsa //然后一直enter,按照默认的选项生成的密钥对保存在.ssh/id_rsa文件中
进入.ssh目录,输入
cp id_rsa.pub authorized_keys
执行 ssh localhost 看看需不需要输入命令
(3)远程拷贝
生成好后,需要将该文件传到dbrg2和3上
在dbrg1中的.ssh目录中,输入
scp authorized_keys dbrg2:/home/dbrg/.ssh/
scp authorized_keys dbrg3:/home/dbrg/.ssh/
说明:如果提示在dbrg2和3上没有此目录,记得创建。此处是需要输入密码的。
(4)修改权限。在dbrg2和dbrg3上对该文件进行权限修改
打开.ssh,输入
chmod 644 authorized_keys
(5)配置修改
在三台服务器上对sshd服务进行配置,都需要修改。在sudo vi /etc/ssh/sshd_config中
修改:PasswordAuthentictation no
AuthorizedKeyFile /home/dbrg/.ssh/authorized_keys
(6)检验
在dbrg1上,ssh dbrg2,输入yes,这样以后访问都不需要输入密码了
同样ssh dbrg3,输入yes。
之后再检验下,看看需不需要输入密码
3.Hadoop环境配置
在dbrg1中,打开hadoop目录,ls下,发现了conf文件夹,这个里面全是配置,打开
(1)修改hadoop_env.sh,输入:
export HADOOP_HOME=/home/dbrg/HadoopInstall/hadoop
export JAVA_HOME=/usr/java/jdk1.7.0
说明:根据实际的安装路径来,这是我机子上的
(2) 修改masters
删除localhost,改为dbrg1
(3)修改slaves
删除,改为dbrg2、dbrg3
(4)修改core-site.html //N啊么node IP地址及端口
在configuration之间加入:
<property>
<name>fs.default.name</name>
<value>hdfs://dbrg1:9000</value>
<description>The name and URI of the default FS.</description>
</property>
(5)修改mapred-site.html //Jobtracker 调度并记录任务的执行情况
在configuration之间加入:
<property>
<name>mapred.job.tracker</name>
<value>dbrg1:9001</value>
<description>Map Reduce jobtracker</description>
</property>
(6)修改hdfs-site.html //block的文件副本数
在configuration之间加入:
<property>
<name>dfs.replication</name>
<value>2</value>
<description>Default block replication</description>
</property>
(7)环境配置的拷贝
利用scp命令将上面修改的文件,替代dbrg2和dbrg3中的相应文件
4.HDFS的运行
在dbrg1中初始化namenode,在hadoop目录下,输入
bin/hadoop namenode -format
然后再三台机器上都要bin/start-all.sh下,启动了
在dbrg1上可以查看,输入jps;或者可以通过http://dbrg1:50070查看


4. mapduce程序实例
参考网址:
http://blog.csdn.net/moodytong/article/details/6862020
http://www.cnblogs.com/welbeckxu/archive/2011/12/30/2306887.html
http://puxuanling.blog.163.com/blog/static/87476635201210704825265/
http://wenku.baidu.com/view/91e0240b52ea551811a68706.html
问题解决篇:
http://lwjlaser.iteye.com/blog/1443147
Hadoop分布式集群配置的更多相关文章
- CentOS6安装各种大数据软件 第四章:Hadoop分布式集群配置
相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...
- 超快速使用docker在本地搭建hadoop分布式集群
超快速使用docker在本地搭建hadoop分布式集群 超快速使用docker在本地搭建hadoop分布式集群 学习hadoop集群环境搭建是hadoop入门的必经之路.搭建分布式集群通常有两个办法: ...
- 大数据系列之Hadoop分布式集群部署
本节目的:搭建Hadoop分布式集群环境 环境准备 LZ用OS X系统 ,安装两台Linux虚拟机,Linux系统用的是CentOS6.5:Master Ip:10.211.55.3 ,Slave ...
- Hadoop分布式集群搭建hadoop2.6+Ubuntu16.04
前段时间搭建Hadoop分布式集群,踩了不少坑,网上很多资料都写得不够详细,对于新手来说搭建起来会遇到很多问题.以下是自己根据搭建Hadoop分布式集群的经验希望给新手一些帮助.当然,建议先把HDFS ...
- Hadoop分布式集群搭建
layout: "post" title: "Hadoop分布式集群搭建" date: "2017-08-17 10:23" catalog ...
- 暑假第二弹:基于docker的hadoop分布式集群系统的搭建和测试
早在四月份的时候,就已经开了这篇文章.当时是参加数据挖掘的比赛,在计科院大佬的建议下用TensorFlow搞深度学习,而且要在自己的hadoop分布式集群系统下搞. 当时可把我们牛逼坏了,在没有基础的 ...
- 使用Docker在本地搭建Hadoop分布式集群
学习Hadoop集群环境搭建是Hadoop入门必经之路.搭建分布式集群通常有两个办法: 要么找多台机器来部署(常常找不到机器) 或者在本地开多个虚拟机(开销很大,对宿主机器性能要求高,光是安装多个虚拟 ...
- 一脸懵逼学习Hadoop分布式集群HA模式部署(七台机器跑集群)
1)集群规划:主机名 IP 安装的软件 运行的进程master 192.168.199.130 jdk.hadoop ...
- hadoop分布式集群的搭建
电脑如果是8G内存或者以下建议搭建3节点集群,如果是搭建5节点集群就要增加内存条了.当然实际开发中不会用虚拟机做,一些小公司刚刚起步的时候会采用云服务,因为开始数据量不大. 但随着数据量的增大才会考虑 ...
随机推荐
- ORACLE SQL脚本能否修改字段名称?
在看到标题时,你先想想:在ORACLE中能否修改一个表的某个字段名呢?如果能的话,你是否还记得SQL脚本如何写的呢,呵呵,写这个的目的是因为在论坛上看见许多信誓旦旦的说ORACLE中不能修改字段名称, ...
- http常见状态码(转载)
常见HTTP状态码 常见HTTP状态码 200 OK 301 Moved Permanently 302 Found 304 Not Modified 307 Temporary Redirect 4 ...
- [PHP]PDO占位符预处理在 IN 和 LIKE 中用法
两点注意项: 1. 占位符 (?) 必须被用在整个值的位置,不需要引号等其它字符. 2. 参数按数组元素顺序依次传递给占位符. <?php /** * PDO基于占位符的查询预处理 * * @l ...
- 蓝桥杯练习系统— 算法训练 Beaver's Calculator
问题描述 从万能词典来的聪明的海狸已经使我们惊讶了一次.他开发了一种新的计算器,他将此命名为"Beaver's Calculator 1.0".它非常特别,并且被计划使用在各种各样 ...
- json模块和pickle模块的用法
在python中,可以使用pickle和json两个模块对数据进行序列化操作 其中: json可以用于字符串或者字典等与python数据类型之间的序列化与反序列化操作 pickle可以用于python ...
- UWP: 在 UWP 中使用 Entity Framework Core 操作 SQLite 数据库
在应用中使用 SQLite 数据库来存储数据是相当常见的.在 UWP 平台中要使用 SQLite,一般会使用 SQLite for Universal Windows Platform 和 SQLit ...
- 如何解决Linux 系统下 ifconfig 命令无网络接口 ens33
今天我在做Redis的哨兵集群模式的时候,以前都是好的,也不知道从什么时候开始就无法连接Redis服务器了,就是运行如下命令,没有效果:redis-server redis.conf,然后在通过命令查 ...
- vue2.0开发时导入组件时出错
导入自定义组件时出现了如下错误 ERROR Failed to compile with 1 errors 12:35:41 This dependency was not found: * comp ...
- BZOJ 2724: [Violet 6]蒲公英 [分块 区间众数]
传送门 题面太美不忍不放 分块分块 这种题的一个特点是只有查询,通常需要预处理:加入修改的话需要暴力重构预处理 预处理$f[i][j]$为第i块到第j块的众数,显然$f[i][j]=max{f[i][ ...
- BZOJ 3238: [Ahoi2013]差异 [后缀自动机]
3238: [Ahoi2013]差异 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 2512 Solved: 1140[Submit][Status ...