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又全部重新生成了。

最新文章

  1. 解决ugui中Image使用iTween的ColorTo、ColorFrom等不生效
  2. (DNS被劫持所导致的)QQ音乐与视频网页打开很慢的解决方法
  3. 安卓3D游戏-神奇宝贝防御战
  4. React-Native测试报告
  5. java 动态编译
  6. “HTTPS”安全在哪里?
  7. PAT 解题报告 1009. Product of Polynomials (25)
  8. CSS - DOM 经常使用方法
  9. 【shell实例】定时21:00-21:05,循环调用DSQL脚本,其它时段自动退出
  10. js循环内0.5s停止
  11. 【Spring】Spring bean的实例化
  12. Javascript-可莱托指数判断
  13. JAVA面试-java虚拟机
  14. log4j日志整合输出(slf4j+commonslog+log4j+jdklogger)
  15. 转:Irrlicht 0.1引擎源码分析与研究(一)
  16. [转载]JDBC/Spring/MyBatis性能比较
  17. 配置静态IP
  18. 国内能用的NTP服务器及和标准源的偏差值
  19. Redis的一些结构
  20. Microsoft Windows XP SP3 官方原版镜像下载,绝对原版加系列号!

热门文章

  1. O(n)复杂度求没有出现的数字(leetcode448)
  2. iOS添加到购物车的简单动画效果
  3. 【LeetCode】13. Roman to Integer (2 solutions)
  4. WSDL格式
  5. List Set Map以及子接口用法总结(转)
  6. 配置Kafka集群和zookeeper集群
  7. python学习笔记—
  8. Workflow_标准控件Wait_For_Flow和Contiune_Flow的用法(案例)
  9. byte[] 转Hex String
  10. gulp#4.0