CentOS 6.5 x64下Hadoop安装
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安装的更多相关文章
- 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 ...
- CentOS 6.4 linux下编译安装MySQL5.6.14
CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.14. 正文: 一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm ...
- Docker版本与centos和ubuntu环境下docker安装介绍
# Docker版本与安装介绍 * Docker-CE 和 Docker-EE * Centos 上安装 Docker-CE * Ubuntu 上安装 Docker-CE ## Docker-CE和D ...
- CentOS 6.5 x64下安装宝塔面板、阿里安骑士
一.安装宝塔: CentOS下命令(https://www.bt.cn/bbs/thread-1186-1-1.html) yum install -y wget && wget -O ...
- CentOS 6.5 x64下查找依赖包,或用YUM安装
查看某个命令YUM上的安装源 1)当某个命令不存时进行查询所依赖的包,如:pstree [root@localhost ~]# yum provides pstree 已加载插件:fastestmir ...
- CentOS 6.5 x64下安装VMware tools
[root@CentOS6 /]# mount /dev/cdrom /mnt mount: block device /dev/sr0 is write-protected, mounting re ...
- 在centos 6.9 x64下安装code::blocks步骤
1.yum groupinstall "Development tools" 2.yum install gtk2* 3.安装wxWidgets 下载地址:https://www. ...
- 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 ...
- Ubuntu16下Hadoop安装
1. 安装Ubuntu 2. 新装Ubuntu常用软件安装和系统设置 (1) 安装vim yum install vim (2) 更改hostname为hadoop_master sudo vim / ...
随机推荐
- Maven学习笔记(二) :Maven的安装与配置
在Windows上安装Maven: 1. 首先检查安装JDK 通过命令行运行命令:echo %JAVA_HOME%和 java -version,能够查看当前java的安装文件夹及java的 ...
- 【微信小程序】用户首次进入小程序拒绝授权,如何再次调用授权页面,获取用户信息userInfo
前言:微信小程序的app.js里面,最少有2个接口,一个wx.login:一个是wx.getUserInfo: 前者得到腾讯给我们的微信用户唯一的code,通过code获取openid,这个不需要用户 ...
- shell脚本死循环判断nginx日志reqest_time时间大于3秒是否增加,若增加发送相关日志信息到开发人员
#!/bin/bash while [ 1 ] do pre_request_time_count=`cat /var/log/nginx/access.log |awk '{print $NF}'| ...
- Android 系统 root 破解原理分析
现在Android系统的root破解基本上成为大家的必备技能!网上也有很多中一键破解的软件,使root破解越来越容易.但是你思考过root破解的 原理吗?root破解的本质是什么呢?难道是利用了Lin ...
- Fusion Tables 图层用于呈现 Google Fusion Tables 中包含的数据
Google Maps API 允许您使用 FusionTablesLayer 对象将 Google Fusion Tables 中包含的数据呈现为地图上的图层.Google Fusion Table ...
- PS_Form个性化复杂需求新增Menu并调用Request(案例)
2014-06-01 Created By BaoXinjian
- LevelDB场景分析2--Open
1.源码 1 Status DB::Open(const Options& options, const std::string& dbname, uint64_t new_ ...
- Linux bash脚本及常用命令--不断更新中
1.如何在向alias命令传递参数: 这种用法的话就需要使用函数来配合使用. 如要cd到指定目录,并且ls当前目录下的文件可以使用: alias cdls='cdls(){ cd $1; ls; } ...
- python新手中常见疑惑及解答
1 lambda函数 函数格式是lambda keys:express 匿名函数lambda是一个表达式函数,接受keys参数,返回表达式的值.所以不用return,也没有函数名,经常用在需要ke ...
- Correlation and Regression
Correlation and Regression Sample Covariance The covariance between two random variables is a statis ...