HADOOP安装文档(CENTOS6.2)
来源:互联网 发布:思维导图用什么软件 编辑:程序博客网 时间:2024/06/05 03:54
创建三个虚拟机,一个作为master,另外两个作为slave。虚拟机与宿主机采用桥接,虚拟机可以上网,这样所有虚拟机与宿主机在同一个网段,要求宿主机所在网段的网络畅通。如果不要求虚拟机上网的话可以采用host-only的方式。
操作系统Centos 6.2 JDK1.7.0 Hadoop 1.0.1
主机名与IP地址对应关系
master 10.7.6.112
slave1 10.7.6.111
一、修改hosts文件并重启/etc/init.d/network restart,使hosts修改生效
这样以后机器间的访问就是通过域名,如果IP发生变化,则只需修改hosts文件并让所有机器使用相同配置的hosts文件即可
二、关闭防火墙
root权限下
ufwdisable
serviceiptables stop
可以写入/etc/rc.d/rc.local随机启动
三、创建SSH信任关系,使master能够无密码访问slave
确保各虚拟机安装ssh服务,并通过/etc/init.d/sshdstart开启服务。
生成rsa加密的密钥对ssh-keygen –trsa
使master和slave均能无密码访问自己cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
修改authorized_keys文件权限chmod600 authorized_keys
将master上的公钥拷贝给slave
ssh-copy-id -i ~/.ssh/id_rsa.pub slave1
四、搭建JAVA环境
方法一、安装配置新版本JAVA并删除旧版本JAVA(如OpenJDK)
安装新版本的JDK
rpm –ivh jdk-1.7.0_03-fcs.i586.rpm默认安装到/usr/java下面
配置新版本JDK的环境
修改/etc/profile
export JAVA_HOME="/usr/java/jdk1.7.0_03"exportCLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"export PATH="$JAVA_HOME/bin:$PATH"执行source /etc/profile使变化生效
查看系统原来安装的JDK环境
Java-versionrpm–qa | grep javarpm–qa | grep jdk删除系统安装时的openjdk环境。
yum–y remove java java-1.6.0-openjdk-1.6.0.0-1.41.1.10.4.el6.i686
方法二、安装新的JAVA环境,保留系统原JAVA环境,提高新的JAVA环境优先级
使用alternatives或update-alternatives–install命令修改新版本JAVA的优先级高于旧版本
方法三、(不推荐)将新安装的JAVA命令创建链接到/usr/bin替换原来的链接
五、解压下载好的hadoop即可
六、对解压后的hadoop进行配置
1 修改hadoop-env.sh设置java路径(master与slave相同配置)
如果已设置JAVA全局环境变量不用再设置
2 core-site.xml文件(master与slave相同配置)
<configuration><!--- global properties --> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/tmp</value> <description>A base for other temporarydirectories.</description> </property><!-- file system properties --> <property> <name>fs.default.name</name> <value>hdfs://master:9000</value> </property></configuration>
3 hdfs-site.xml文件(master与slave相同配置)
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property></configuration>
4 mapred-site.xml文件(master与slave相同配置)
<configuration> <property> <name>mapred.job.tracker</name> <value>master:9001</value> </property></configuration>5 指定masters与slaves(在master结点配置)
conf/masters文件
master
conf/slaves文件
slave1
七、创建文件系统并启动HADOOP
1 创建分布式文件系统HDFS
[hadoop@master hadoop-1.0.1]$ ./bin/hadoop namenode-format12/04/25 12:59:56 INFO namenode.NameNode:STARTUP_MSG:/************************************************************STARTUP_MSG: Starting NameNodeSTARTUP_MSG: host = master.hadoopdomain/10.7.6.112STARTUP_MSG: args = [-format]STARTUP_MSG: version = 1.0.1STARTUP_MSG: build =https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0 -r 1243785;compiled by 'hortonfo' on Tue Feb 14 08:15:38 UTC 2012************************************************************/12/04/25 12:59:57 INFO util.GSet: VM type = 32-bit12/04/25 12:59:57 INFO util.GSet: 2% max memory =19.33375 MB12/04/25 12:59:57 INFO util.GSet: capacity = 2^22 = 4194304 entries12/04/25 12:59:57 INFO util.GSet:recommended=4194304, actual=419430412/04/25 12:59:58 INFO namenode.FSNamesystem:fsOwner=hadoop12/04/25 12:59:58 INFO namenode.FSNamesystem:supergroup=supergroup12/04/25 12:59:58 INFO namenode.FSNamesystem:isPermissionEnabled=true12/04/25 12:59:58 INFO namenode.FSNamesystem:dfs.block.invalidate.limit=10012/04/25 12:59:58 INFO namenode.FSNamesystem:isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s),accessTokenLifetime=0 min(s)12/04/25 12:59:58 INFO namenode.NameNode: Cachingfile names occuring more than 10 times12/04/25 12:59:59 INFO common.Storage: Image file ofsize 112 saved in 0 seconds.12/04/25 12:59:59 INFO common.Storage: Storagedirectory /home/hadoop/tmp/dfs/name has been successfully formatted.12/04/25 12:59:59 INFO namenode.NameNode:SHUTDOWN_MSG:/************************************************************SHUTDOWN_MSG: Shutting down NameNode atmaster.hadoopdomain/10.7.6.112************************************************************/
2启动hadoop
[hadoop@master hadoop-1.0.1]$ ./bin/start-all.shnamenode running as process 5685. Stop it first.slave1: starting datanode, logging to/home/hadoop/hadoop-1.0.1/libexec/../logs/hadoop-hadoop-datanode-slave1.hadoopdomain.outmaster: starting secondarynamenode, logging to/home/hadoop/hadoop-1.0.1/libexec/../logs/hadoop-hadoop-secondarynamenode-master.hadoopdomain.outjobtracker running as process 5906. Stop it first.slave1: starting tasktracker, logging to/home/hadoop/hadoop-1.0.1/libexec/../logs/hadoop-hadoop-tasktracker-slave1.hadoopdomain.out3 使用jps查看hadoop的各结点的启动状况
4查看文件系统状态hadoopdfsadmin -report
5 使用浏览器查看map/reduce和HDFS的状态
查看HDFS状态http://master:50070
查看map/reduce状态http://master:50030
八、例子
1 在namenode主机本地磁盘创建示例文件
[hadoop@master hadoop-1.0.1]$echo “Hello World Bye World” > ~/input/f1[hadoop@master hadoop-1.0.1]$echo “hello hadoop bye world” > ~/input/f22 在HDFS文件系统上创建文件夹
[hadoop@master hadoop-1.0.1]$hadoop fs –mkdir/testwc注意、/testwc为HDFS文件系统上的目录,并不是本地磁盘上的目录
3 把本地文件拷贝到HDFS文件系统目标文件夹内
[hadoop@master hadoop-1.0.1]$hadoop –put/home/hadoop/input /testwc其中/home/hadoop/input为本地目录,/testwc为HDFS上的目录
或者
hadoop fs –copyFromLocal/home/hadoop/input /testwc3运行例子wordcount
指定结果放到HDFS上的/testwc/output目录下,保证该目录为空
[hadoop@master hadoop-1.0.1]$ hadoop jar hadoop-examples-1.0.1.jar wordcount /testwc/input /testwc/outputWarning: $HADOOP_HOME is deprecated.****hdfs://master:9000/home/hadoop/tmp/input/input/input12/04/26 13:07:40 INFO input.FileInputFormat: Totalinput paths to process : 212/04/26 13:07:42 INFO mapred.JobClient: Running job:job_201204260928_000912/04/26 13:07:43 INFO mapred.JobClient: map 0% reduce 0%12/04/26 13:09:04 INFO mapred.JobClient: map 100% reduce 0%12/04/26 13:09:22 INFO mapred.JobClient: map 100% reduce 100%12/04/26 13:09:27 INFO mapred.JobClient: Jobcomplete: job_201204260928_000912/04/26 13:09:27 INFO mapred.JobClient: Counters: 2912/04/26 13:09:27 INFO mapred.JobClient: Job Counters12/04/26 13:09:27 INFO mapred.JobClient: Launched reduce tasks=112/04/26 13:09:27 INFO mapred.JobClient: SLOTS_MILLIS_MAPS=13120412/04/26 13:09:27 INFO mapred.JobClient: Total time spent by all reduces waitingafter reserving slots (ms)=012/04/26 13:09:27 INFO mapred.JobClient: Total time spent by all maps waiting afterreserving slots (ms)=012/04/26 13:09:27 INFO mapred.JobClient: Launched map tasks=212/04/26 13:09:27 INFO mapred.JobClient: Data-local map tasks=212/04/26 13:09:27 INFO mapred.JobClient: SLOTS_MILLIS_REDUCES=1726312/04/26 13:09:27 INFO mapred.JobClient: File Output Format Counters12/04/26 13:09:27 INFO mapred.JobClient: Bytes Written=4512/04/26 13:09:27 INFO mapred.JobClient: FileSystemCounters12/04/26 13:09:27 INFO mapred.JobClient: FILE_BYTES_READ=8712/04/26 13:09:27 INFO mapred.JobClient: HDFS_BYTES_READ=28512/04/26 13:09:27 INFO mapred.JobClient: FILE_BYTES_WRITTEN=6478412/04/26 13:09:27 INFO mapred.JobClient: HDFS_BYTES_WRITTEN=4512/04/26 13:09:27 INFO mapred.JobClient: File Input Format Counters12/04/26 13:09:27 INFO mapred.JobClient: Bytes Read=4512/04/26 13:09:27 INFO mapred.JobClient: Map-Reduce Framework12/04/26 13:09:27 INFO mapred.JobClient: Map output materialized bytes=9312/04/26 13:09:27 INFO mapred.JobClient: Map input records=212/04/26 13:09:27 INFO mapred.JobClient: Reduce shuffle bytes=5312/04/26 13:09:27 INFO mapred.JobClient: Spilled Records=1412/04/26 13:09:27 INFO mapred.JobClient: Map output bytes=7712/04/26 13:09:27 INFO mapred.JobClient: CPU time spent (ms)=1152012/04/26 13:09:27 INFO mapred.JobClient: Total committed heap usage(bytes)=41346662412/04/26 13:09:27 INFO mapred.JobClient: Combine input records=812/04/26 13:09:27 INFO mapred.JobClient: SPLIT_RAW_BYTES=24012/04/26 13:09:27 INFO mapred.JobClient: Reduce input records=712/04/26 13:09:27 INFO mapred.JobClient: Reduce input groups=612/04/26 13:09:27 INFO mapred.JobClient: Combine output records=712/04/26 13:09:27 INFO mapred.JobClient: Physical memory (bytes) snapshot=33434828812/04/26 13:09:27 INFO mapred.JobClient: Reduce output records=612/04/26 13:09:27 INFO mapred.JobClient: Virtual memory (bytes) snapshot=113051238412/04/26 13:09:27 INFO mapred.JobClient: Map output records=8九、查看结果
[hadoop@master conf]$ hadoop fs -cat/testwc/output/part-r-00000
Bye 1
Hello 1
bye 1
hadoop 1
hello 1
world 3
或者通过web查看
十、其它
(一)如果jps查看namenode与datanode,hadoop启动不全,如没有jobtracker或没有tasktracker
1.在Linux下关闭防火墙:使用service iptables stop命令;
2.再次对namenode进行格式化:在/usr/local/hadoop/hadoop-0.20.2/bin 目录下执行hadoopnamenode -format命令
3.对服务器进行重启
4.查看datanode或是namenode对应的日志文件,日志文件保存 在/usr/local/hadoop/hadoop-0.20.2/logs目录下。仔细查看日志报错的原因,(上次日志报错的信息忘记了)解决方法是进入/usr/local/hadoop/hdfs/name 和usr/local/hadoop/hdfs/data目录下,将目录下的文件全部删除。
5.再次在/bin目录下用start-all.sh命令启动所有进程,通过以上的几个方法应该能解决进程启动不完全的问题了。
http://bjbxy.blog.51cto.com/854497/352692
(二)jps命令说明
JPS(Java Virtual Machine Process StatusTool)是JDK1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。
我想很多人都是用过unix系统里的ps命令,这个命令主要是用来显示当前系统的进程情况,有哪些进程,及其 id。
jps也是一样,它的作用是显示当前系统的java进程情况,及其id号。我们可以通过它来查看我们到底启动了几个java进程(因为每一个java程序都会独占一个java虚拟机实例),和他们的进程号(为下面几个程序做准备),并可通过opt来查看这些进程的详细启动参数。
(三)警告处理Warning:$HADOOP_HOME is deprecated
在hadoop-env.sh中设置HADOOP_HOME_WARN_SUPPRESS=TRUE
https://issues.apache.org/jira/browse/HADOOP-7816
- HADOOP安装文档(CENTOS6.2)
- VMWARE Centos6 安装 hadoop
- centos6 安装配置 hadoop
- 简明的hadoop 2.5 HA 基于centos6.5 安装部署文档(hdfs,mapreduce,hbase)
- Hadoop-2.0.2-alpha安装 CentOs6.2 jdk1.7
- CentOS6.2+MySQL5.5+Nginx+PHP5.3.14安装文档
- Centos6.2(64位)系统VNC安装文档
- Hadoop安装文档
- hadoop安装文档
- hadoop集群安装文档
- Alex 的 Hadoop 菜鸟教程: 第2课 hadoop 安装教程 (CentOS6 CDH分支 yum方式)
- hadoop-2.7.1 For CentOS6.5安装
- centos6 伪分布式模式安装hadoop
- Centos6.4下安装Ganglia监控hadoop
- Centos6.5安装Hadoop配置集群环境
- Hadoop环境之Centos6.6的安装
- centos6.7安装hadoop准备工作-----1
- Hadoop 在centos6.4安装ssh
- 分享31个非常有用的 HTML5 教程
- 纯做技术的人啊你没啥骄傲的,你不过是懒罢了
- 金山界面库分析(3)
- ASP.NET页面间值传递的几种方法
- velocity运算
- HADOOP安装文档(CENTOS6.2)
- GetFileSize
- Myeclipse中SVN的配置与使用
- Drupal 的基本元件和基本概念
- 有关逻辑炸弹方面的问题
- Illegal modifier for parameter *** , only final is permitted”
- zoj 3201 简单树形dp Tree of Tree
- VC静态链接库建立(ZT自MSDN)
- hibernate 基于JPA的事务管理