Apache Hadoop安装部署模式

单机(本地)模式(Standalone Mode)

伪分布模式(Pseudo-Distributed Mode)

完全分布模式(Fully Distributed Mode)

5个守护进程,

本地一个都不需要,用于测试

分布式,管理层应用层是分开的

伪分布式:一台机器上运行所有的Hadoop服务,5个后台守护进程

单机模式只有一个jvm,hadoop是在java上运行的,不使用hdfs,

通常用于调试

伪分布式模式:只有一台机器,每个Hadoop守护进程都是一个独立的jvm进程,通常用于调试

完全分布式模式:运行于多台机器上,真实环境

Hadoop安装部署:单机模式

Hadoop的默认配置即为本地模式,此时Hadoop使用本地文件系统而非分布式文件系统,

而且

Hadoop安装部署:伪分布式模式

单机模式

用户无需密码可以sudo权限

在root下,修改/etc/sudoers文件

添加一句:

hadoop ALL=(root)NOPASSWD:ALL

关闭防火墙

重启后生效

开启:chkconfig iptables on

关闭:chkconfig iptables off

即时生效,重启后失效

开启:service iptables start

关闭:service iptables stop

安装jdk和环境变量

java -version

解压hadoop1.2.1

http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-1.2.1/

移到/usr/local/下

配置环境变量

测试

配置hadoop中的jdk安装路径

进入到HADOOP_HOME

进入conf目录

vim hadoop-env.sh

配置其中的jkd目录

运行实例,测试mapreduce程序

hadoop jar hadoop-examples-1.2.1.jar grep /home/yangxu/data/input/ /home/yangxu/data/output/ 'dfs[a-z.]+'

java.net.UnknownHostException: centos: centos: unknown error

主机名配置没有配好,解决办法http://lihongchao87.iteye.com/blog/1998347

vim /etc/hosts

vim /etc/

vim /etc/sysconfig/network

Warning: $HADOOP_HOME is deprecated.

解决这个的方案:http://chenzhou123520.iteye.com/blog/1826002

伪分布式安装部署

五个后台的进程

NameNode

DataNode

Secondary NameNode

JobTracker

TaskTracker

这5个进程放在一台机器上,常用于开发测试执行

用户的环境变量

.bash_profile

SSH无密钥通道登录

管理层和应用层之间的通信是通过SSH协议进行通信

关闭防火墙和禁用SELinux

service iptables stop

service iptables status

vim /etc/sysconfig/selinux   设置SELINUX=disabled

设置静态的IP地址

vim /etc/sysconfig/network-scripts/ifcfg-eth0

修改hostname

hostname hadoop-master

vi /etc/sysconfig/network

IP与hostname绑定

vi /etc/hosts

设置SSH登录

ssh-keygen -t rsa

cp id_rsa.pub authorized_keys

ssh localhost

然后yes,exit之后,再次

ssh localhost就不需要密码了

ssh centos

配置hadoop

进入HADOOP_HOME conf

core-site.xml

hdfs-site.xml

vim mapred-site.xml

vim slaves

vim masters

配置完了之后格式化操作

./hadoop namenode -format

启动

start-dfs.sh

2016-05-06 04:15:27,565 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namesp    aceIDs in /home/yangxu/data/tmp/dfs/data: namenode namespaceID = 447595299; datanode namespaceID = 469319110

解决的办法:

1.进入每个datanode的 dfs.data.dir 的 current目录,修改里面的文件VERSION

#Fri Nov 23 15:00:17 CST 2012
namespaceID=246015542
storageID=DS-2085496284-192.168.1.244-50010-1353654017403
cTime=0
storageType=DATA_NODE
layoutVersion=-32

里面有个 namespaceID 将其修改成为报错信息中的

namenode namespaceID = 971169702

相同的 namespaceID  .

然后重新启动 datanode全部都能正常启动了。

2.由于是测试环境,于是产生的第一个想法是 直接删除每个datanode 上面 dfs.data.dir目录下所有的文件

rm -rf *

删除之后

重新启动 也是可以正常的启动所有的datanode

进到dfs.data.dir目录下 所有的datanode又全部重新生成了。

CentOS 6.5 x64下Hadoop安装的更多相关文章

  1. CentOS 5.8 x64 源码安装 samba-3.6.9

    环境 CentOS 5.8 X64      wget http://www.samba.org/samba/ftp/stable/samba-3.6.9.tar.gz   tar zxvf samb ...

  2. CentOS 6.4 linux下编译安装MySQL5.6.14

    CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.14. 正文: 一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm ...

  3. Docker版本与centos和ubuntu环境下docker安装介绍

    # Docker版本与安装介绍 * Docker-CE 和 Docker-EE * Centos 上安装 Docker-CE * Ubuntu 上安装 Docker-CE ## Docker-CE和D ...

  4. CentOS 6.5 x64下安装宝塔面板、阿里安骑士

    一.安装宝塔: CentOS下命令(https://www.bt.cn/bbs/thread-1186-1-1.html) yum install -y wget && wget -O ...

  5. CentOS 6.5 x64下查找依赖包,或用YUM安装

    查看某个命令YUM上的安装源 1)当某个命令不存时进行查询所依赖的包,如:pstree [root@localhost ~]# yum provides pstree 已加载插件:fastestmir ...

  6. CentOS 6.5 x64下安装VMware tools

    [root@CentOS6 /]# mount /dev/cdrom /mnt mount: block device /dev/sr0 is write-protected, mounting re ...

  7. 在centos 6.9 x64下安装code::blocks步骤

    1.yum groupinstall "Development tools" 2.yum install gtk2* 3.安装wxWidgets 下载地址:https://www. ...

  8. centos/rhel 6.5下rabbitmq安装(最简单方便的方式)

    wget -c http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.x86_64.r ...

  9. Ubuntu16下Hadoop安装

    1. 安装Ubuntu 2. 新装Ubuntu常用软件安装和系统设置 (1) 安装vim yum install vim (2) 更改hostname为hadoop_master sudo vim / ...

随机推荐

  1. JavaScript-jQuery插件开发全解析

    摘自:http://www.iteye.com/topic/545971 jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法 ...

  2. HDUOJ-----1085Holding Bin-Laden Captive!

    Holding Bin-Laden Captive! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Ja ...

  3. Python中 append 和 extend 的区别

    Python中Lists 的两个方法: append 和 extend : list.append(object) 向列表中添加一个对象object.append 接受一个参数,这个参数可以是任何数据 ...

  4. 最新最全的iOS手机支付总结

    关于手机支付,我想简单总结一下,我想主要分成三大类: 第一类,就是我们最常见的应用内支付(IAP),例如APPStore里面我们可以付费下载一些APP或者游戏. 第二类,就是我们经常使用第三方支付,例 ...

  5. eclipse容易卡死或者较慢的解决方案

    http://blog.sina.com.cn/s/blog_5c6c4dc90100lg8n.html 问题: Eclipse经常卡住或Building workspace等待,感觉很不爽,很多朋友 ...

  6. Eclipse折叠代码 coffee bytes code folding

    提供一个插件下载地址,博客园的: http://files.cnblogs.com/wucg/com.cb.eclipse.folding_1.0.6.jar.zip  将下载的zip文件解压出来的j ...

  7. Linux下发布javaWeb项目,配置环境变量,tomcat,和安装mysql数据库

    如果不懂,可以联系微博本人:QQ:3111901846 (原创) 1.配置java中jdk 注意一切操作,都是在root这个目录下进行的,不要选择其他目录,不然会出现一些小问题的 第一步: 你需要一个 ...

  8. 两个变量交换的四种方法(Java) 七种方法(JS)

    两个变量交换的四种方法(Java)   对于两种变量的交换,我发现四种方法,下面我用Java来演示一下. 1.利用第三个变量交换数值,简单的方法. (代码演示一下) 1 class TestEV 2 ...

  9. OAF_OAF编译代码至应用详解(案例)

    201-06-01 Created By BaoXinjian

  10. [Android开发那点破事]解决android.os.NetworkOnMainThreadException

    [Android开发那点破事]解决android.os.NetworkOnMainThreadException 昨天和女朋友换了手机,我的iPhone 4S 换了她得三星I9003.第一感觉就是好卡 ...