




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Hadoop安装配置一、 环境配置:jdk版本:1.6以上二、 安装jdk1.JDK下载: 下载自解压包: jdk-6u13-linux-i586.bin $sh jdk-6u13-linux-i586.bin 按提示选择yes. 或者 $chmod 755 jdk-6u13-linux-i586.bin 755权限修改非常重要$./jdk-6u13-linux-i586.bin 解压后 $mv jdk1.6.0_13 /usr/local/ /将其移到相应目录下 到此JDK已经安装完成 ( 如果安装用的apt-get install java,那么卸载的话可以采用synaptic 选择install,然后查询java,卸载即可。)2.删除原有的JDK (如果之前安装过) $ update-alternatives remove java /usr/share/java/libgcj-java-placeholder.sh $ alternatives -remove javac /usr/share/java/libgcj-javac-placeholder.sh$ alternatives -remove jar /usr/bin/fastjar $ alternatives -remove jar.1.gz /usr/share/man/man1/fastjar.1.gz 3.创建软连接,方便使用a、删去原有链接(如果之前安装过) 到/usr/bin目录下,把原用的java, javac文件删除: $rm rf java $rm rf javac b、在/usr/bin 下建立软连接 java $ sudo ln s jdk1.6.0_13/bin/java /usr/bin/java $ sudo ln -s jdk1.6.0_13/bin/javac /usr/bin/javac c、为了方便后面的工作建立两个软链接: $ cd /usr/local/ $ ln -s jdk1.6.0_13 /usr/local/jdk $ ln -s jdk1.6.0_13/jre /usr/local/jre 4.编写环境变量: 编辑/etc/profile: $ sudo vi /etc/profile 增加以下内容:JAVA_HOME=/usr/local/jdk JRE_HOME=/usr/local/jre PATH=$PATH:$JAVA_HOME/bin:JRE_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib: export JAVA_HOME JRE_HOME PATH CLASSPATH 5.使环境变量生效: $ source /etc/profile $ java -version /结果 java version 1.6.0_35 Java(TM) 2 Runtime Environment, Standard Edition (build 1.6.0_35) Java HotSpot(TM) Client VM (build 1.6.0_35, mixed mode, sharing 6.编写程序测试 写一个测试程序test.javaimport java.*class test public static void main(String args) System.out.println(hello world!); javac test.java Java test Hello world!7. 如果要使某用户具备java 命令的权限,只要修改去bash初始化文件即可。 譬如要给用户longware以运行java命令的权限。nano /home/longware/.bashrc set JAVA_HOME=/usr/local/jdk export JAVA_HOME set PATH=$PATH:$JAVA_HOME/bin export PATH set CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export CLASSPATH修改完成后,logout当前用户再重新登录,环境变量方可生效 三、 安装配置ssh1、 下载安装$ sudo apt-get install ssh 自动下载安装$ sudo apt-get install rsync 升级2、 设置无密码访问a、在NameNode 上实现无密码登录本机:$ ssh-keygen -t dsa -P -f /.ssh/id_dsa ,直接回车,完成后会在/.ssh/生成两个文件:id_dsa 和id_dsa.pub。这两个是成对出现的,类似钥匙和锁。再把id_dsa.pub 追加到授权key 里面(当前并没有authorized_keys文件):$ cat /.ssh/id_dsa.pub /.ssh/authorized_keys完成后可以实现无密码,登录本机:$ ssh localhost。如果输出agent admitted failure to sign using the keyps Af查看有无ssh-agent有无运行: $ ssh-agent若没有,添加id_rsa到ssh-agent:$ ssh-add id_rsab、实现NameNode 无密码登录其他DataNode: 在DataNode中执行一次a步骤把NameNode 上的id_dsa.pub 文件追加到dataNode 的authorized_keys 内( 以 节点为例):首先,拷贝NameNode 的id_dsa.pub 文件:$ scp id_dsa.pub cloudian:/home/cloudian然后,登录,执行$ cat id_dsa.pub .ssh/authorized_keys其他的dataNode 执行同样的操作。注意:配置完毕,如果namenode 依然不能访问datanode,可以修改datanode 的authorized_keys:$ chmod 600 authorized_keysNameNode中也需要cat DataNode中的id_dsa.pub四、 配置/etc/hosts注意:Namenode和Datanode上面配置要一样,格式为:ip 计算机名 localhost cloudian-service cloudian-node1 cloudian-node2五、 关闭防火墙$ sudo ufw disable注意:这步非常重要。如果不关闭,会出现找不到datanode 问题六、 安装cloudera hadoop注:此版本hadoop使用的jdk必须为sun jdk1、Cloudera的源 生成Cloudera源文件(这里采用的是Hadoop-0.20版本): $ sudo vi /etc/apt/sources.list.d/cloudera.list在文件中添加以下内容后保存:#稳定版(Hadoop-0.18)#deb /debian hardy-stable contrib#deb-src /debian hardy-stable contrib/lucid-cdh3/#测试版(Hadoop-0.20)deb /debian hardy-testing contribdeb-src /debian hardy-testing contrib#squeeze debian 6.0(Hadoop-0.20)deb /debian/ squeeze-cdh3 contribdeb-src /debian/ squeeze-cdh3 contrib2、 生成源的密钥: $ sudo apt-get install curl$ curl -s /debian/archive.key | sudo apt-key add 3、安装Hadoop 更新源包索引: $ sudo apt-get update$ sudo apt-get dist-upgrade安装Hadoop: $ sudo apt-get install hadoop-0.20 hadoop-0.20-conf-pseudo4、部署 安装好这几台主机的Hadoop环境之后,就要对它们进行分布式运行模式的部署了,首先是设置它们之间的互联。主机互联:步骤五 已经完成此设置计算帐号设置: Hadoop要求所有机器上hadoop的部署目录结构要相同,并且都有一个相同用户名的帐户。由于这里采用的是Cloudera发布的 Hadoop包,所以并不需要这方面的设置,了解一下即可。5、设置主节点的Hadoop1)、设置JAVA_HOME:Hadoop的JAVA_HOME是在文件/etc/hadoop/conf/hadoop-env.sh中设置,具体设置如下:$ sudo vi /etc/hadoop/conf/hadoop-env.sh 增加以下内容:export JAVA_HOME=/usr/lib/jvm/java-6-sun注意:这里要改为自己的jdk安装位置 此处为/usr/local/jdk 2)、Hadoop的核心配置:Hadoop的核心配置文件是/etc/hadoop/conf/core-site.xml,具体配置如下:!-hdfs:/localhost:8020-hdfs:/:8020hadoop.tmp.dir/var/lib/hadoop-0.20/cache/$3)、设置Hadoop的分布式存储环境:Hadoop的分布式环境设置主要是通过文件/etc/hadoop/conf/hdfs-site.xml来实现的,具体配置如下:dfs.replication!-1-3.dir/var/lib/hadoop-0.20/cache/hadoop/dfs/name4)、设置Hapoop的分布式计算环境:Hadoop的分布式计算是采用了Map/Reduce算法,该算法环境的设置主要是通过文件/etc/hadoop/conf/mapred- site.xml来实现的,具体配置如下:mapred.job.tracker!-localhost:8021-:80215)、设置Hadoop的主从节点首先设置主节点:编辑/etc/hadoop/conf/masters文件,如下所示:然后是设置从节点,编辑/etc/hadoop/conf/slaves文件,如下所示:6)、设置Datanode从节点上的Hadoop:从节点上的Hadoop设置很简单,只需要设置好hadoop-env.sh中的JAVA_HOME后,将主节点上的core-site.xml、hdfs-site.xml、mapred-site.xml替换每个从节点的相应文件6、启动Hadoop:1)、格式化分布式文件系统: 在启动Hadoop之前还要做最后一个准备工作,那就是格式化分布式文件系统,这个只需要在主节点做就行了,具体如下:$ /usr/lib/hadoop-0.20/bin/hadoop namenode format2)、启动Hadoop服务:启动Hadoop可以通过以下命令来实现:$ /usr/lib/hadoop-0.20/bin/start-all.sh注意:由于cloudera hadoop默认是用root用户安装的,该命令执行时会出现不能进行无密码登录的错误7、测试HadoopHadoop架设好了,接下来就是要对其进行测试,看看它是否能正常工作,具体代码如下:hadoophadoop-01:$ hadoop-0.20 fs -mkdir inputhadoophadoop-01:$ hadoop-0.20 fs -put /etc/hadoop-0.20/conf/*.xml inputhadoophadoop-01:$ hadoop-0.20 fs -ls inputFound 6 items-rw-r-r- 3 hadoop supergroup 3936 2010-03-11 08:55 /user/hadoop/input/capacity-scheduler.xml-rw-r-r- 3 hadoop supergroup 400 2010-03-11 08:55 /user/hadoop/input/core-site.xml-rw-r-r- 3 hadoop supergroup 3032 2010-03-11 08:55 /user/hadoop/input/fair-scheduler.xml-rw-r-r- 3 hadoop supergroup 4190 2010-03-11 08:55 /user/hadoop/input/hadoop-policy.xml-rw-r-r- 3 hadoop supergroup 536 2010-03-11 08:55 /user/hadoop/input/hdfs-site.xml-rw-r-r- 3 hadoop supergroup 266 2010-03-11 08:55 /user/hadoop/input/mapred-site.xml测试:$ hadoop-0.20 jar /usr/lib/hadoop-0.20/hadoop-*-examples.jar grep input output dfsa-z.+10/03/11 08:55:43 INFO mapred.FileInputFormat: Total input paths to process: 610/03/11 08:55:44 INFO mapred.JobClient: Running job: job_201003110836_000110/03/11 08:55:45 INFO mapred.JobClient: map 0% reduce 0%10/03/11 08:55:57 INFO mapred.JobClient: map 33% reduce 0%10/03/11 08:56:06 INFO mapred.JobClient: map 33% reduce 11%10/03/11 08:56:07 INFO mapred.JobClient: map 66% reduce 11%10/03/11 08:56:12 INFO mapred.JobClient: map 100% reduce 11%10/03/11 08:56:21 INFO mapred.JobClient: map 100% reduce 22%10/03/11 09:04:22 INFO mapred.JobClient: map 100% reduce 27%10/03/11 09:07:03 INFO mapred.JobClient: map 100% reduce 100%10/03/11 09:07:05 INFO mapred.JobClient: Job complete: job_201003110836_000110/03/11 09:07:05 INFO mapred.JobClient: Counters: 1810/03/11 09:07:05 INFO mapred.JobClient: Job Counters10/03/11 09:07:05 INFO mapred.JobClient: Launched reduce tasks=110/03/11 09:07:05 INFO mapred.JobClient: Launched map tasks=810/03/11 09:07:05 INFO mapred.JobClient: Data-local map tasks=810/03/11 09:07:05 INFO mapred.JobClient: FileSystemCounters10/03/11 09:07:05 INFO mapred.JobClient: FILE_BYTES_READ=10010/03/11 09:07:05 INFO mapred.JobClient: HDFS_BYTES_READ=1236010/03/11 09:07:05 INFO mapred.JobClient: FILE_BYTES_WRITTEN=42210/03/11 09:07:05 INFO mapred.JobClient: HDFS_BYTES_WRITTEN=20410/03/11 09:07:05 INFO mapred.JobClient: Map-Reduce Framework10/03/11 09:07:05 INFO mapred.JobClient: Reduce input groups=410/03/11 09:07:05 INFO mapred.JobClient: Combine output records=410/03/11 09:07:05 INFO mapred.JobClient: Map input records=31510/03/11 09:07:05 INFO mapred.JobClient: Reduce shuffle bytes=4910/03/11 09:07:05 INFO mapred.JobClient: Reduce output records=410/03/11 09:07:05 INFO mapred.JobClient: Spilled Records=810/03/11 09:07:05 INFO mapred.JobClient: Map output bytes=8610/03/11 09:07:05 INFO mapred.JobClient: Map input bytes=1236010/03/11 09:07:05 INFO mapred.JobClient: Combine input records=410/03/11 09:07:05 INFO mapred.JobClient: Map output records=410/03/11 09:07:05 INFO mapred.JobClient: Reduce input records=410/03/11 09:07:05 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.10/03/11 09:07:05 INFO mapred.FileInputFormat: Total input paths to process: 110/03/11 09:07:05 INFO mapred.JobClient: Running job: job_201003110836_000210/03/11 09:07:06 INFO mapred.JobClient: map 0% reduce 0%10/03/11 09:07:13 INFO mapred.JobClient: map 100% reduce 0%10/03/11 09:07:19 INFO mapred.JobClient: map 100% reduce 100%10/03/11 09:07:21 INFO mapred.JobClient: Job complete: job_201003110836_000210/03/11 09:07:21 INFO mapred.JobClient: Counters: 1810/03/11 09:07:21 INFO mapred.JobClient: Job Counters10/03/11 09:07:21 INFO mapred.JobClient: Launched reduce tasks=110/03/11 09:07:21 INFO mapred.JobClient: Launched map tasks=110/03/11 09:07:21 INFO mapred.JobClient: Data-local map tasks=110/03/11 09:07:21 INFO mapred.JobClient: FileSystemCounters10/03/11 09:07:21 INFO mapred.JobClient: FILE_BYTES_READ=10010/03/11 09:07:21 INFO mapred.JobClient: HDFS_BYTES_READ=20410/03/11 09:07:21 INFO mapred.JobClient: FILE_BYTES_WRITTEN=23210/03/11 09:07:21 INFO mapred.JobClient: HDFS_BYTES_WRITTEN=6210/03/11 09:07:21 INFO mapred.JobClient: Map-Reduce Framework10/03/11 09:07:21 INFO mapred.JobClient: Reduce input groups=110/03/11 09:07:21 INFO mapred.JobClient: Combine output records=010/03/11 09:07:21 INFO mapred.JobClient: Map input records=410/03/11 09:07:21 INFO mapred.JobClient: Reduce shuffle bytes=010/03/11 09:07:21 INFO mapred.JobClient: Reduce output records=410/03/11 09:07:21 INFO mapred.JobClient: Spilled Records=810/03/11 09:07:21 INFO mapred.JobClient: Map output bytes=8610/03/11 09:07:21 INFO mapred.JobClient: Map input bytes=11810/03/11 09:07:21 INFO mapred.JobClient: Combine input records=010/03/11 09:07:21 INFO mapred.JobClient: Map output records=410/03/11 09:07:21 INFO mapred.JobClient: Reduce input records=4不难看出,上述测试已经成功,这说明Hadoop部署成功,能够在上面进行Map/Reduce分布性计算了。七、 安装普通hadoop1、下载解压hadoop-0.20.2.tar.gz $ tar xzvf hadoop-0.20.2.tar.gz 2、把Hadoop的安装路径添加到/etc/profile中export HADOOP_HOME=/home/cuijj/hadoop-0.20.2export PATH=$HADOOP_HOME/bin:$PATH3、为了让/etc/profile生效,source一下$ source /etc/profile4、配置hadoophadoop的配置文件在/conf目录下1) 配置Java环境$ vim hadoop-0.20.2/conf/hadoop-env.shexport JAVA_HOME=/home/cuijj/jdk1.6.0_18注意:ubuntu中自带的jdk路径为:/usr/lib/jvm/java-6-openjdk/jre/,这里没有要求必须使用sun jdk2) 配置conf/core-site.xml、conf/hdfs-site.xml、conf/mapred-site.xml文件$ vi hadoop-0.20.2/conf/core-site.xml$ vi hadoop-0.20.2/conf/mapred-site.xml$ vi hadoop-0.20.2/conf/hdfs-site.xml3)将NameNode上的conf/core-site.xml、conf/hdfs-site.xml、conf/mapred-site.xml替换每个DataNode的相应文件4)配置NameNode上的conf/masters和conf/slavesmasters:1slaves:235、运行hadoop1)格式化文件系统cuijjstation1 hadoop-0.20.2$ hadoop namenode format2)启动Hadoopcuijjstation1 hadoop-0.20.2$ bin/start-all.shstart-all.sh 启动所有的Hadoop守护。包括namenode, datanode, jobtracker, tasktrack * stop-all.sh 停止所有的Hadoop * start-mapred.sh 启动Map/Reduce守护。包括Jobtracker和Tasktrack * stop-mapred.sh 停止Map/Reduce守护 * start-dfs.sh 启动Hadoop DFS守护.Namenode和Datanode * stop-dfs.sh 停止DFS守护3)用jps命令查看进程,NameNode上的结果如下:4)查看集群状态cuijjstation1 hadoop-0.20.2$ hadoop dfsadmin -report5)用hadoop的web方式查看cuijjstation1 hadoop-0.20.2$ links 1:500706、运行wordcount.java程序1)先在本地磁盘建立两个文件file01和file02$ echo Hello cuijj bye cuijj file01$ echo Hello Hadoop Goodbye Hadoop file022)在hdfs中建立一个input目录$ hadoop dfs -mkdir input3)将file01和file02拷贝到hdfs的input目录下$ hadoop dfs -copyFromLocal /home/cuijj/file0* input4)查看hdfs中有没有input目录cuijjstation1 $ hadoop dfs ls5)查看input目录下有没有复制成功file01和file026)执行wordcount(确保hdfs上没有output目录)cuijjstation1 hadoop-0.20.2$ hadoop jar hadoop-0.20.2-examples.jar wordcount input output7)运行完成,查看结果重新测试时,要删除 output 目录以便在测试时重新创建它: $ hadoop fs -rmr output八、异常处理:在logs目录下查看日志记录1、hadoop启动失败:典型异常信息:2010-11-02 14:49:27,784 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: /06:9000. Already tried 0 time(s).处理方法:建立连接失败,出现的原因可能有:一、conf目录中配置文件中有路径的地方配置错误。二、/etc/hosts配置失败。三、异常处理2)没有进行处理2、Datanode启动失败:典型异常信息:org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in /home/cloudian/tmp/dfs/data: namenode namespaceID = 1478676691; datanode namespaceID = 1554921853处理方法:这个异常出现最多的是在重新启动hadoop时,出现原因是先前启动时产生在datanode中的tmp/dfs/data目录临时文件存在,namenode执行上hadoop namenode format只能清理namenode上的临时文件,所以只需将此目录清空即可3、测试时执行hadoop dfs copyFromLocal异常:典型异常信息:java.io.IOException: File /home/cloudian/tmp/mapred/system/ could only be replicated to 0 nodes, instead of 1处理方法:有两种情况:一是防火墙未关闭,二是没有建立起连接,处理方式与异常处理1)相同4、启动测试过程中由于网络等原因,操作太快也可能出现上面的异常附录:1、由于CDH3默认没法用root启动,会报错“May not run daemons as root. Please specify HADOOP_NAMENODE_USER “,所以需要创建新用户。2、Hadoop要求所有机器上hadoop的部署目录结构要相同,并且都有一个相同的用户名的帐户,所以需要每台机器建一个同名的用户。3、新建系统hadoop用户。4、每台机器的用户名和密码都为hadoop。5、命令:#adduser hadoop;#passwd hadoop,回车输入hadoop。6、三台机器都拷贝一份hadoop-0.20.2-CDH3B4.tar.gz到hadoop用户下。7、解压hadoop-0.20.2-CDH3B4.tar.gz。 tar zxvf hadoop-0.20.2-CDH3B4.tar.gz C /home/hadoop/cdh3。8、在master上用户hadoop配置无密码登录本机和每个slave。9、首先用hadoop用户登录每台机器(包括namenode),在/home/hadoop/目录下建立.ssh目录。10、将目录.ssh权限设为:drwxr-xr-x,设置命令: chmod 755 .ssh。11、用hadoop用户登录每台机器,修改/home/hadoop/.ssh/authorized_keys文件的权限为:-rw-rr,设置命令:$ cd /home/hadoop/.ssh,$ chmod 644 authorized_keys。12、ssh-keygen -t dsa -P -f /.ssh/id_dsa,直接回车,完成后会在/.ssh/生成两个文件:id_dsa 和id_dsa.pub。这两个是成对出现,类似钥匙和锁。13、$ cat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业设计与制造中的机器学习辅助设计
- 工业设计与新型建材的融合实践
- 工作中的跨文化沟通与合作
- 工业风与现代室内设计的融合
- 工业风教育空间设计创新案例
- 工业风格办公室装修设计案例剖析
- 工作环境改善与员工工作效率的关联性研究
- 工程塑料在机械中的应用研究
- 工厂厂区绿化策略
- 工厂节能减排的实践与经验分享
- 人教版数学三年级下册期末考试试卷及答案
- 2024年涉密人员考试试题库保密基本知识试题附答案(考试直接用)
- 遗传学智慧树知到答案2024年吉林师范大学
- DB11T 765.4-2010 档案数字化规范 第4部分:照片档案数字化加工
- PTC Windchill:Windchill-系统架构与组件教程.Tex.header
- 物业消防安全管理培训【共54张课件】
- 2024福建金皇环保科技公司校园招聘(高频重点提升专题训练)共500题附带答案详解
- DL∕T 5766-2018 20KV及以下配电网工程工程量清单计算规范
- 【正版授权】 ISO/IEC 15421:2010 EN Information technology - Automatic identification and data capture techniques - Bar code master test specifications
- 云南省昆明市官渡区2023-2024学年五年级下学期7月期末道德与法治试题
- GB/T 43988-2024滑板课程学生运动能力测评规范
评论
0/150
提交评论