单机hadoop配置

来源:互联网 发布:土地增值税的算法. 编辑:程序博客网 时间:2024/05/21 11:20

hadoop 0.23开始添加了yarn(MRv2)模块,文件结构也发生了较大的变化。以下就安装部署流程详细记录一下。

安装环境:

  1. 系统:Ubuntu 12.10
  2. hadoop:0.23.6
  3. jdk:sun 1.7.0_21

安装步骤:

一.安装JDK

安装 orcale jdk,并且配置环境以及设置成默认(略)

检查jdk是否正确安装和配置

在主目录下执行java -version

如果出现下面类似结果则ok

hadoop@ubuntu:~$ java -version
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) Server VM (build 23.21-b01, mixed mode)

二.安装hadoop

1.下载:

http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-0.23.6/hadoop-0.23.6.tar.gz

2.安装

tar -zxvf  hadoop-0.23.6.tar.gz

mv hadoop /opt/

cd /opt

sudo ln -s /opt/hadoop-0.23.6 /opt/hadoop

 

 三.安装ssh server

 

sudo apt-get install openssh-server

 四.添加hadoop用户

为了方便hadoop的管理,最好添加一个单独的用户来管理hadoop,例如添加hadoop用户

执行以下命令

sudo adduser hadoop

然后会提示输入密码,设置好密码就可以了

这时候只要执行

su hadoop

输入密码后就可以切换到hadoop用户下

注:

为了使hadoop帐号下能够sudo,建议做以下添加

在:

%sudo    ALL=(ALL:ALL) ALL 后添加
hadoop   ALL=(ALL:ALL) ALL

 

 五.配置本机ssh无密码登录

 

hadoop@ubuntu:~$ ssh-keygen -t rsa -""

hadoop@ubuntu:~$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

测试:

hadoop@ubuntu:~$ ssh localhost
Welcome to Ubuntu 12.10 (GNU/Linux 3.5.0-17-generic i686)

 * Documentation:  https://help.ubuntu.com/

340 packages can be updated.
105 updates are security updates.

Last login: Thu Apr 18 07:18:03 2013 from localhost


 六.配置Hadoop

chown  -R hadoop:hadoop /opt/hadoop

chown  -R hadoop:hadoop /opt/hadoop-0.23.6

su hadoop

1. 配置jdk及hadoop环境变量

在~/.bashrc文件里追加

export JAVA_HOME=/usr/lib/jvm/java-7-sun
export JRE_HOME=${JAVA_HOME}/jre
export HADOOP_HOME=/opt/hadoop
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$HADOOP_HOME/bin:$PATH
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

2. Hadoop文件配置

hadoop@ubuntu:~$ cd /opt/hadoop/etc/hadoop/

hadoop@ubuntu:/opt/hadoop/etc/hadoop$ vi yarn-env.sh

追加以下配置

export HADOOP_FREFIX=/opt/hadoop
export HADOOP_COMMON_HOME=${HADOOP_FREFIX}
export HADOOP_HDFS_HOME=${HADOOP_FREFIX}
export PATH=$PATH:$HADOOP_FREFIX/bin
export PATH=$PATH:$HADOOP_FREFIX/sbin
export HADOOP_MAPRED_HOME=${HADOOP_FREFIX}
export YARN_HOME=${HADOOP_FREFIX}
export HADOOP_CONF_HOME=${HADOOP_FREFIX}/etc/hadoop
export YARN_CONF_DIR=${HADOOP_FREFIX}/etc/hadoop

vi core-site.xml

 

Xml代码  收藏代码
  1. <configuration>  
  2. <property>   
  3.   
  4.     <name>fs.defaultFS</name>   
  5.   
  6.     <value>hdfs://localhost:12200</value>   
  7.   
  8.   </property>  
  9.   
  10.   <property>    
  11.   
  12.     <name>hadoop.tmp.dir</name>   
  13.   
  14.     <value>/opt/hadoop/hadoop-root</value>   
  15.   
  16.   </property>   
  17.   
  18. <property>  
  19.   
  20.   <name>fs.arionfs.impl</name>  
  21.   
  22.   <value>org.apache.hadoop.fs.pvfs2.Pvfs2FileSystem</value>  
  23.   
  24.   <description>The FileSystem for arionfs.</description>  
  25.   
  26. </property>   
  27. </configuration>  
 hadoop@ubuntu:/opt/hadoop/etc/hadoop$ vi hdfs-site.xml

 

 

Xml代码  收藏代码
  1. <configuration>  
  2.  <property>  
  3.   
  4.     <name>dfs.namenode.name.dir</name>  
  5.   
  6.     <value>file:/opt/hadoop/data/dfs/name</value>  
  7.   
  8.     <final>true</final>  
  9.   
  10.     </property>  
  11.   
  12.     <property>  
  13.   
  14.     <name>dfs.namenode.data.dir</name>  
  15.   
  16.     <value>file:/opt/hadoop/data/dfs/data</value>  
  17.   
  18.     <final>true</final>  
  19.   
  20.     </property>  
  21.   
  22.     <property>    
  23.   
  24.     <name>dfs.replication</name>  
  25.   
  26.     <value>1</value>  
  27.   
  28.     </property>  
  29.   
  30.     <property>  
  31.   
  32.     <name>dfs.permission</name>  
  33.   
  34.     <value>false</value>  
  35.   
  36.     </property>  
  37. </configuration>  
 hadoop@ubuntu:/opt/hadoop/etc/hadoop$ vi mapred-site.xml

 

 

Xml代码  收藏代码
  1. <configuration>  
  2. <property>  
  3.   
  4.     <name>mapreduce.framework.name</name>  
  5.   
  6.     <value>yarn</value>  
  7.   
  8.     </property>  
  9.   
  10.     <property>  
  11.   
  12.     <name>mapreduce.job.tracker</name>  
  13.   
  14.     <value>hdfs://localhost:9001</value>  
  15.   
  16.     <final>true</final>  
  17.   
  18.     </property>  
  19.   
  20.     <property>  
  21.   
  22.     <name>mapreduce.map.memory.mb</name>  
  23.   
  24.     <value>1536</value>  
  25.   
  26.     </property>  
  27.   
  28.     <property>  
  29.   
  30.     <name>mapreduce.map.java.opts</name>  
  31.   
  32.     <value>-Xmx1024M</value>  
  33.   
  34.     </property>  
  35.   
  36.     <property>  
  37.   
  38.     <name>mapreduce.reduce.memory.mb</name>  
  39.   
  40.     <value>3072</value>  
  41.   
  42.     </property>  
  43.   
  44.     <property>  
  45.   
  46.     <name>mapreduce.reduce.java.opts</name>  
  47.   
  48.     <value>-Xmx2560M</value>  
  49.   
  50.     </property>  
  51.   
  52.     <property>  
  53.   
  54.     <name>mapreduce.task.io.sort.mb</name>  
  55.   
  56.     <value>512</value>  
  57.   
  58.     </property>  
  59.  <property>  
  60.   
  61.     <name>mapreduce.task.io.sort.factor</name>  
  62.   
  63.     <value>100</value>  
  64.   
  65.     </property>      
  66.   
  67.     <property>  
  68.   
  69.     <name>mapreduce.reduce.shuffle.parallelcopies</name>  
  70.   
  71.     <value>50</value>  
  72.   
  73.     </property>  
  74.   
  75.     <property>  
  76.   
  77.     <name>mapreduce.system.dir</name>  
  78.   
  79.     <value>file:/opt/hadoop/data/mapred/system</value>  
  80.   
  81.     </property>  
  82.   
  83.     <property>  
  84.   
  85.     <name>mapreduce.local.dir</name>  
  86.   
  87.     <value>file:/opt/hadoop/data/mapred/local</value>  
  88.   
  89.     <final>true</final>  
  90.   
  91.     </property>  
  92. </configuration>  
 hadoop@ubuntu:/opt/hadoop/etc/hadoop$ vi yarn-site.xml

 

 

Xml代码  收藏代码
  1. <configuration>  
  2.   
  3. <!-- Site specific YARN configuration properties -->  
  4. <property>   
  5.   
  6.     <name>yarn.nodemanager.aux-services</name>   
  7.   
  8.     <value>mapreduce.shuffle</value>   
  9.   
  10.   </property>   
  11.   
  12.   <property>   
  13.   
  14.     <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>   
  15.   
  16.     <value>org.apache.hadoop.mapred.ShuffleHandler</value>   
  17.   
  18.   </property>   
  19.   
  20.   <property>   
  21.   
  22.     <name>mapreduce.framework.name</name>   
  23.   
  24.     <value>yarn</value>   
  25.   
  26.   </property>   
  27.   
  28.   <property>   
  29.   
  30.     <name>user.name</name>   
  31.   
  32.     <value>hadoop</value>   
  33.   
  34.   </property>   
  35.   
  36.   <property>   
  37.   
  38.     <name>yarn.resourcemanager.address</name>   
  39.   
  40.     <value>localhost:54311</value>   
  41.   
  42.   </property>   
  43.   
  44.   <property>   
  45.   
  46.     <name>yarn.resourcemanager.scheduler.address</name>   
  47.   
  48.     <value>localhost:54312</value>   
  49.   
  50.   </property>   
  51. <property>   
  52.   
  53.     <name>yarn.resourcemanager.webapp.address</name>   
  54.   
  55.     <value>localhost:54313</value>   
  56.   
  57.   </property>   
  58.   
  59.   <property>   
  60.   
  61.     <name>yarn.resourcemanager.resource-tracker.address</name>   
  62.   
  63.     <value>localhost:54314</value>   
  64.   
  65.   </property>   
  66.   
  67.   <property>   
  68.   
  69.     <name>yarn.web-proxy.address</name>   
  70.   
  71.     <value>localhost:54315</value>   
  72.   
  73.   </property>   
  74.   
  75.   <property>   
  76.   
  77.     <name>mapred.job.tracker</name>   
  78.   
  79.     <value>localhost</value>   
  80.   
  81.   </property>  
  82. </configuration>  
 到此所有配置完成,其中上述的localhost可以改成成本机的ip或者host,至于配置里面的属性待后续相关文章叙述。

 

 七.启动并运行wordcount程序

1.设置JAVA_HOME

 

Java代码  收藏代码
  1. hadoop@ubuntu:/opt/hadoop$ vi libexec/hadoop-config.sh  
  2. 在  
  3. if [[ -z $JAVA_HOME ]]; then  
  4.   # On OSX use java_home (or /Library for older versions)  
  5.   if [ "Darwin" == "$(uname -s)" ]; then  
  6.     if [ -x /usr/libexec/java_home ]; then  
  7.       export JAVA_HOME=($(/usr/libexec/java_home))  
  8.     else  
  9.       export JAVA_HOME=(/Library/Java/Home)  
  10.     fi  
  11.   fi  
  12.   
  13.   # Bail if we did not detect it  
  14.   if [[ -z $JAVA_HOME ]]; then  
  15.     echo "Error: JAVA_HOME is not set and could not be found." 1>&2  
  16.     exit 1  
  17.   fi  
  18. fi  
  19.   
  20. 之前添加  
  21. export JAVA_HOME=/usr/lib/jvm/java-7-sun  
 2. 格式化namenode

 

 

Java代码  收藏代码
  1. hadoop@ubuntu:/opt/hadoop$ hadoop namenode -format  
 3.启动

 

 

Java代码  收藏代码
  1. hadoop@ubuntu:/opt/hadoop/sbin$ ./start-dfs.sh  
  2. Starting namenodes on [localhost]  
  3. localhost: starting namenode, logging to /opt/hadoop-0.23.6/logs/hadoop-hadoop-namenode-ubuntu.out  
  4. localhost: starting datanode, logging to /opt/hadoop-0.23.6/logs/hadoop-hadoop-datanode-ubuntu.out  
  5. Starting secondary namenodes [0.0.0.0]  
  6. 0.0.0.0: starting secondarynamenode, logging to /opt/hadoop-0.23.6/logs/hadoop-hadoop-secondarynamenode-ubuntu.out  
  7.   
  8. hadoop@ubuntu:/opt/hadoop/sbin$ ./start-yarn.sh   
  9. starting yarn daemons  
  10. starting resourcemanager, logging to /opt/hadoop-0.23.6/logs/yarn-hadoop-resourcemanager-ubuntu.out  
  11. localhost: starting nodemanager, logging to /opt/hadoop-0.23.6/logs/yarn-hadoop-nodemanager-ubuntu.out  
 4.检查启动是否成功

 

 

Java代码  收藏代码
  1. hadoop@ubuntu:/opt/hadoop/sbin$ jps  
  2. 5036 DataNode  
  3. 5246 SecondaryNameNode  
  4. 5543 NodeManager  
  5. 5369 ResourceManager  
  6. 4852 NameNode  
  7. 5816 Jps  
 5.试着运行wordcount

 

1)构造输入数据

生成一个字符文本文件

Java代码  收藏代码
  1. hadoop@ubuntu:/opt/hadoop$ cat tmp/test.txt   
  2. a c b a b d f f e b a c c d g i s a b c d e a b f g e i k m m n a b d g h i j a k j e  

 2)上传到hdfs

Java代码  收藏代码
  1. hadoop@ubuntu:/opt/hadoop$  hadoop fs -mkdir /test  
  2. hadoop@ubuntu:/opt/hadoop$  hadoop fs -copyFromLocal tmp/test.txt /test  
  3. hadoop@ubuntu:/opt/hadoop$ hadoop fs -ls  /test  
  4. Found 1 items  
  5. -rw-r--r--   1 hadoop supergroup         86 2013-04-18 07:47 /test/test.txt  

 3)执行程序

Shell代码  收藏代码
  1. hadoop@ubuntu:/opt/hadoop$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-0.23.6.jar wordcount /test/test.txt /test/out                 #其中/test/out 为输出目录  
  2.   
  3. 13/04/18 22:41:11 INFO input.FileInputFormat: Total input paths to process : 1  
  4. 13/04/18 22:41:11 INFO util.NativeCodeLoader: Loaded the native-hadoop library  
  5. 13/04/18 22:41:11 WARN snappy.LoadSnappy: Snappy native library not loaded  
  6. 13/04/18 22:41:12 INFO mapreduce.JobSubmitter: number of splits:1  
  7. 13/04/18 22:41:12 WARN conf.Configuration: mapred.jar is deprecated. Instead, use mapreduce.job.jar  
  8. 13/04/18 22:41:12 WARN conf.Configuration: mapred.output.value.class is deprecated. Instead, use mapreduce.job.output.value.class  
  9. 13/04/18 22:41:12 WARN conf.Configuration: mapreduce.combine.class is deprecated. Instead, use mapreduce.job.combine.class  
  10. 13/04/18 22:41:12 WARN conf.Configuration: mapreduce.map.class is deprecated. Instead, use mapreduce.job.map.class  
  11. 13/04/18 22:41:12 WARN conf.Configuration: mapred.job.name is deprecated. Instead, use mapreduce.job.name  
  12. 13/04/18 22:41:12 WARN conf.Configuration: mapreduce.reduce.class is deprecated. Instead, use mapreduce.job.reduce.class  
  13. 13/04/18 22:41:12 WARN conf.Configuration: mapred.input.dir is deprecated. Instead, use mapreduce.input.fileinputformat.inputdir  
  14. 13/04/18 22:41:12 WARN conf.Configuration: mapred.output.dir is deprecated. Instead, use mapreduce.output.fileoutputformat.outputdir  
  15. 13/04/18 22:41:12 WARN conf.Configuration: mapred.map.tasks is deprecated. Instead, use mapreduce.job.maps  
  16. 13/04/18 22:41:12 WARN conf.Configuration: mapred.output.key.class is deprecated. Instead, use mapreduce.job.output.key.class  
  17. 13/04/18 22:41:12 WARN conf.Configuration: mapred.working.dir is deprecated. Instead, use mapreduce.job.working.dir  
  18. 13/04/18 22:41:13 INFO mapred.ResourceMgrDelegate: Submitted application application_1366295287642_0001 to ResourceManager at localhost/127.0.0.1:54311  
  19. 13/04/18 22:41:13 INFO mapreduce.Job: The url to track the job: http://localhost:54315/proxy/application_1366295287642_0001/  
  20. 13/04/18 22:41:13 INFO mapreduce.Job: Running job: job_1366295287642_0001  
  21. 13/04/18 22:41:21 INFO mapreduce.Job: Job job_1366295287642_0001 running in uber mode : false  
  22. 13/04/18 22:41:21 INFO mapreduce.Job:  map 0% reduce 0%  
  23. 13/04/18 22:41:36 INFO mapreduce.Job:  map 100% reduce 0%  
  24. 13/04/18 22:41:36 INFO mapreduce.Job: Task Id : attempt_1366295287642_0001_m_000000_0, Status : FAILED  
  25.   
  26. Killed by external signal  
  27.   
  28. 13/04/18 22:41:37 INFO mapreduce.Job:  map 0% reduce 0%  
  29. 13/04/18 22:42:11 INFO mapreduce.Job:  map 100% reduce 0%  
  30. 13/04/18 22:42:26 INFO mapreduce.Job:  map 100% reduce 100%  
  31. 13/04/18 22:42:26 INFO mapreduce.Job: Job job_1366295287642_0001 completed successfully  
  32. 13/04/18 22:42:27 INFO mapreduce.Job: Counters: 45  

  4)查看结果

Shell代码  收藏代码
  1. hadoop@ubuntu:/opt/hadoop$ hadoop fs -ls /test  
  2. Found 2 items  
  3. drwxr-xr-x   - hadoop supergroup          0 2013-04-18 22:42 /test/out  
  4. -rw-r--r--   1 hadoop supergroup         86 2013-04-18 07:47 /test/test.txt  
  5. hadoop@ubuntu:/opt/hadoop$ hadoop fs -ls /test/out  
  6. Found 2 items  
  7. -rw-r--r--   1 hadoop supergroup          0 2013-04-18 22:42 /test/out/_SUCCESS  
  8. -rw-r--r--   1 hadoop supergroup         56 2013-04-18 22:42 /test/out/part-r-00000  
  9. hadoop@ubuntu:/opt/hadoop$ hadoop fs -cat /test/out/part-r-00000  
  10. 13/04/18 22:45:25 INFO util.NativeCodeLoader: Loaded the native-hadoop library  
  11. a   7  
  12. b   6  
  13. c   4  
  14. d   4  
  15. e   4  
  16. f   3  
  17. g   3  
  18. h   1  
  19. i   3  
  20. j   2  
  21. k   2  
  22. m   2  
  23. n   1  
  24. s   1  
原创粉丝点击