不再折腾-----hadoop-1.2.1完全分布式安装
- 准备工作
- 三台虚拟机,强烈推荐vmware + centos6.5
- 三台虚拟机均设有hadoop用户
- IP地址设置
IP地址 hostname 192.168.11.100 master 192.168.11.101 slave1 192.168.11.102 slave2 - 说明:#开头表示root用户,$开头表示hadoop用户
- 配置IP
所有虚拟机可按照以下这个模板根据自己实际情况相应设置
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static
ONBOOT=yes
BROADCAST=192.168.11.255
IPADDR=192.168.11.100
NETMASK=255.255.255.0
NETWORK=192.168.11.0
GATEWAY=192.168.11.2
3. 其他重要设置
- 关闭防火墙: #service iptables stop
- #chkconfig iptables --list -- 查看各个init模式下,是否开机自动启动的状态
- #chkconfig iptables off --关闭各个init模式下,开机不自动启动
- 禁用SELinux: #vim /etc/sysconfig/selinux 设置SELINUX=disabled
- 修改hostname: #vi /etc/sysconfig/network 设置HOSTNAME=master
修改hosts: #vi /etc/hosts host文件添加如下内容
- 192.168.11.100 master
- 192.168.11.101 slave1
- 192.168.11.102 slave2
- 说明:以上设置在每个虚拟机中都要进行设置
- 关闭防火墙: #service iptables stop
4.设置ssh免密码登陆
1.master和slave:
$ssh-keygen -t rsa
$cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
$chmod 644 ~/.ssh/authorized_keys *********切记好多人都是因为这个折腾了好久,
$ssh localhost 两次,第一次需要yes,第二次不需要,而直接连上,则成功
2.每个slave:
$scp hadoop@master:~/.ssh/id_rsa.pub ./master_rsa.pub
$cat master_rsa.pub >> authorized_keys
3.master:
$ssh slave1 第一次需要yes, 第二次不需要,而直接连上,则成功
$ssh slave2 第一次需要yes, 第二次不需要,而直接连上,则成功
5.安装JDK
6.安装hadoop-1.2.1
1.下载hadoop-1.2.1.tar.gz,并移动到要安装目录
2.解压: $tar -zxvf hadoop-1.2.1.tar.gz
3.配置环境变量 #vim /etc/profile
## HADOOP
export HADOOP_HOME=/opt/modules/hadoop-1.2.1
export PATH=$PATH:$HADOOP_HOME/bin
4.使配置生效 # source /etc/profile
5.配置配置文件,在HADOOP_HOME/conf/ 下
hadoop-env.sh
export JAVA_HOME=/opt/modules/jdk1.6.0_45
core-site.xml
说明: fs.default.name是NameNode的URI。hdfs://主机名:端口/
hadoop.tmp.dir :Hadoop的默认临时路径,这个最好配置,需在本地文件系统中创建相应文件夹
如果在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。
不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令。
hdfs-site.xml
dfs.name.dir
/home/hadoop/name1,/home/hadoop/name2
Determines where on the local filesystem the DFS name node should store the name table.
If this is a comma-delimited list of directories then the name table
is replicated in all of the directories, for redundancy.
dfs.data.dir
/home/hadoop/data1, /home/hadoop/data2
Determines where on the local filesystem an DFS data node should store its blocks.
If this is a comma-delimited list of directories, then data will be stored in all named directories,
typically on different devices. Directories that do not exist are ignored.
dfs.replication
2
Default block replication. The actual number of replications can
be specified when the file is created.
The default is used if replication is not specified in create time.
dfs.permission
false
说明: dfs.name.dir是NameNode持久存储名字空间及事务日志的本地文件系统路径。
当这个值是一个逗号分割的目录列表时,nametable数据将会被复制到所有目录中做冗余备份。
dfs.data.dir是DataNode存放块数据的本地文件系统路径,逗号分割的列表。
当这个值是逗号分割的目录列表时,数据将被存储在所有目录下,通常分布在不同设备上。
dfs.replication是数据需要备份的数量,默认是3,如果此数大于集群的机器数会出错。
注意:此处的name1、name2、data1、data2目录不能预先创建,
hadoop格式化时会自动创建,如果预先创建反而会有问题。
mapred-site.xml
then jobs are runin-process as a single map and reduce task.
说明: mapred.job.tracker是JobTracker的主机(或者IP)和端口。主机:端口。
master
master -- 指定SecondaryNameNode的位置
slave
slave1 --指定DataNode和TaskTracker的位置
slave2
说明:注意最好使用主机名,并且保证机器之间通过主机名可以互相访问,每个主机名一行。
配置结束,把配置好的hadoop文件夹拷贝到其他集群的机器中,
并且保证上面的配置对于其他机器而言正确,
也可自己根据具体情况自行配置
参考:如果其他机器的Java安装路径不一样,要修改conf/hadoop-env.sh
7. 启动hadoop
1. 格式化一个新的分布式文件系统
$ hadoop namenode -format
*** 查看输出保证分布式文件系统格式化成功执行完后可以到master机器上
看到/home/hadoop//name1和/home/hadoop/name2两个目录。
在主节点master上面启动hadoop,主节点会启动所有从节点的hadoop。
2. 启动所有节点
$start-all.sh
*** 执行完后可以到master(Master)和slave(Slave1,Slave2,Slave3)
机器上看到/home/hadoop/hadoopfs/data1和/home/hadoop/data2两个目录。
3.关闭所有节点
从主节点master关闭hadoop,主节点会关闭所有从节点的hadoop。
(默认是 ${HADOOP_HOME}/logs).
${HADOOP_HOME}就是安装路径.
8.测试
1.用jps检验各后台进程是否成功启动
不再折腾-----hadoop-1.2.1完全分布式安装的更多相关文章
- Hadoop生态圈-hbase介绍-伪分布式安装
Hadoop生态圈-hbase介绍-伪分布式安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HBase简介 HBase是一个分布式的,持久的,强一致性的存储系统,具有近似最 ...
- hadoop 2.7.3伪分布式安装
hadoop 2.7.3伪分布式安装 hadoop集群的伪分布式部署由于只需要一台服务器,在测试,开发过程中还是很方便实用的,有必要将搭建伪分布式的过程记录下来,好记性不如烂笔头. hadoop 2. ...
- centos 7下Hadoop 2.7.2 伪分布式安装
centos 7 下Hadoop 2.7.2 伪分布式安装,安装jdk,免密匙登录,配置mapreduce,配置YARN.详细步骤如下: 1.0 安装JDK 1.1 查看是否安装了openjdk [l ...
- hadoop 0.20.2伪分布式安装详解
adoop 0.20.2伪分布式安装详解 hadoop有三种运行模式: 伪分布式不需要安装虚拟机,在同一台机器上同时启动5个进程,模拟分布式. 完全分布式至少有3个节点,其中一个做master,运行名 ...
- Hadoop + Hive + HBase + Kylin伪分布式安装
问题导读 1. Centos7如何安装配置? 2. linux网络配置如何进行? 3. linux环境下java 如何安装? 4. linux环境下SSH免密码登录如何配置? 5. linux环境下H ...
- Hadoop开发第4期---分布式安装
一.复制虚拟机 由于Hadoop的集群安装需要多台机器,由于条件有限,我是用虚拟机通过克隆来模拟多台机器,克隆方式如下图所示
- Hadoop、Zookeeper、Hbase分布式安装教程
参考: Hadoop安装教程_伪分布式配置_CentOS6.4/Hadoop2.6.0 Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS ZooKeeper-3.3 ...
- Centos 6.5 hadoop 2.2.0 全分布式安装
hadoop 2.2.0 cluster setup 环境: 操作系统:Centos 6.5 jdk:jdk1.7.0_51 hadoop版本:2.2.0 hostname ip master ...
- hadoop备战:hbase的分布式安装经验
配置HBase时,首先考虑的肯定是Hbase版本号与你所装的hadoop版本号是否匹配.这一点我在之前 的博客中已经说明清楚,hadoop版本号与hbase版本号的匹配度,那是官方提供的.以下的实验就 ...
- Hadoop简介与分布式安装
Hadoop的基本概念和分布式安装: Hadoop 简介 Hadoop 是Apache Lucene创始人道格·卡丁(Doug Cutting)创建的,Lucene是一个应用广泛的文本搜索库,Hado ...
随机推荐
- iOS:最详细的创建CocoaPods私有库教程
一.感慨 说实话,创建这个CocoaPods私有库,我愣是搞了两个星期,创建的过程中,自己的感情波动是这样的:激情四射---->有点困惑----->极度困惑----->有点失望--- ...
- Python开发【第四章】:Python函数剖析
一.Python函数剖析 1.函数的调用顺序 #!/usr/bin/env python # -*- coding:utf-8 -*- #-Author-Lian #函数错误的调用方式 def fun ...
- Java中Native关键字的作用
初次遇见 native是在 java.lang.Object 源码中的一个hashCode方法: 1 public native int hashCode(); 为什么有个native呢?这是我所要学 ...
- Vcenter server 5.5克隆模板(创建ISO镜像)
1.进入Vcenter server 5.5控制台 --- 选择虚拟机和模版. 2.右键 XP_32 --- 模版 ---- 克隆为模板(Vcenter server 5.5连接的VMware ESX ...
- Python之路-python(paramiko,进程和线程的区别,GIL全局解释器锁,线程)
一.paramiko 二.进程.与线程区别 三.python GIL全局解释器锁 四.线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生 ...
- RDIFramework.NET V2.9版本 WinFom部分新增与修正的功能
RDIFramework.NET V2.9版本 WinFom部分新增与修正的功能 转眼间RDIFramework.NET框架走了快6个年头了,随着一个版本一个版本的升级改造,现在已经越来越完美了.使 ...
- Tomcat6.0+Jdk1.5+Axis1.3搭建java webservice环境,并使用c#调用该服务。
java jdk:jdk1.5.0_17 下载网址:http://pan.baidu.com/s/1gdmAkgV tomcat 6.0 下载地址:http://tomcat.apache.org/d ...
- linux 下搭建svn
Update 程序设计中的“后悔药”——SVN 一.历史起源 1.版本控制软件 答:主要是对源代码版本进行控制与管理 2.版本控制软件起源 CVS:最早期的开源的版本控制软件(开源奇葩) VSS: ...
- innerHTML
对于innerHTML 属性,几乎所有的元素都有innerHTML属性,它是一个字符串,用来设置或获取位于对象起始和结束标签内的HTML.(获取HTML当前标签的起始和结束里面的内容) 下面的例子返回 ...
- matlab中imresize
matlab中函数imresize简介: 函数功能:该函数用于对图像做缩放处理. 调用格式: B = imresize(A, m) 返回的图像B的长宽是图像A的长宽的m倍,即缩放图像. m大于1, 则 ...