阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux中单机配置Hadoop

115次阅读
没有评论

共计 18767 个字符,预计需要花费 47 分钟才能阅读完成。

Ubuntu:

一、安装 Java。

首先安装 java。因为 Ubuntu 里面默认安装了 OpenJDK, 可以先将其卸载。在终端输入命令:sudo apt-get purge openjdk*。

1、从 sun 主页下载 JDK for linux 版本。我下载的是 jdk-6u37-linux-i586.bin。下载地址: 点击打开

2、切换到 root 用户并切换到想要安装的目录。我的安装目录为 /usr/lib/jvm/java。将下载的文件拷贝到此目录中。并使用命令:chmod a+x jdk-6u37-linux-i586.bin 将此文件权限设置为可执行类型。

3、开始安装。在终端输入:./jdk-6u37-linux-i586.bin,接下来会进行安装过程。安装过程中会提示按 Enter 键继续。

4、安装完成后,会出现 Done。表示完成了 java 环境的安装。安装的位置为当前目录 /usr/java。当然,也可以选择其他的位置。

5、安装完成后,直接在终端输入 java 会出错。此时还需要配置环境变量。如果只使用 export 命令则支队当前 shell 起作用。如果切换 shell 或重启则依旧会失效。可以选择配置.bashr 文件或 /etc/profile,后者修改系统配置文件,对所有用户均有效。

6、使用 vim 打开 /etc/profile 文件。在末尾添加如下内容:

  1. export JAVA_HOME=/usr/lib/jvm/java/jdk1.6.0_37
  2. export JRE_HOME=/usr/lib/jvm/java/jdk1.6.0_37/jre
  3. export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
  4. export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

注: 注意一定不要错误,否则有可能重启后无法进入系统,如果由于输入错误,导致开机之后只有空白的界面,按 ctrl+Alt+F1 进入 tty1 命令行界面,输入命令:sudo vim /etc/profile 检查刚刚的配置是否有错误的地方,改正后重启即可。 注意 export 命令 = 两边没有空格。

 

7、 保存后重新启动计算机。

注: 网上有资料说可以使用 source 更新一下。在终端输入命令:source /etc/profile。经本人测试,这种方法会导致只在一个终端中有效,如果打开新的终端会 java 配置会失效,除非再次使用 source 命令更新。)

8、使用 env 命令查看各环境变量的值。如果各项变量内容都与之前配置的相同,则说明配置成功。也可使用 java -version 命令察看。如果能输出 java version “1.6.0_37″ 则表明配置正确。

二、创建 Hadoop 组和 Hadoop 用户。

1、创建 hadoop 用户组:sudo addgroup hadoop

2、创建 hadoop 用户:sudo adduser -ingroup hadoop hadoopusr。过程中会要求你输入密码和用户信息。输入用户信息的时候,可直接点 Enter(表示默认)。最后输入 y。

3、给刚新建的 hadoop 用户 hadoopusr 添加权限,打开 /etc/sudoers 文件。输入命令:sudo gedit /etc/sudoers。给 hadoopusr 赋予 root 用户同样的权限。在文件末尾添加如下信息:

  1. root ALL=(ALL:ALL) ALL
  2. hadoopusr ALL=(ALL:ALL) ALL

 

三、安装 ssh 服务

ssh 可以实现远程登录和管理,具体可以参考其他相关资料。

输入命令:sudo apt-get install ssh openssh-server,安装 openssh-server。

如果你已经安装好了 ssh,可以直接进行下一步。

四、建立 ssh 无密码登录本机

首先要转换成 hadoop 用户,执行以下命令:su – hadoopusr,再输入密码即可。

ssh 生成密钥有 rsa 和 dsa 两种生成方式,默认情况下采用 rsa 方式。

1、创建 ssh-key,我们采用 rsa 方式。输入命令:ssh-keygen -t rsa -P “”

输入命令后会出现提示信息:“Enter file in which to save the key (/home/hadoopusr/.ssh/id_rsa):”,直接点回车即可。出现如下信息:

  1. Created directory ‘/home/hadoopusr/.ssh’.
  2. Your identification has been saved in /home/hadoopusr/.ssh/id_rsa.
  3. Your public key has been saved in /home/hadoopusr/.ssh/id_rsa.pub.
  4. The key fingerprint is:
  5. d4:29:00:6e:20:f0:d9:c6:a2:9b:cd:22:60:44:af:eb hadoopusr@shan-pc
  6. The key’s randomart image is:
  7. +–[RSA 2048]—-+
  8. |+.. … |
  9. |.o.* . . . |
  10. | .+.* o o |
  11. |…+ . . |
  12. |oo S |
  13. |o=. |
  14. |=.o |
  15. |o. |
  16. | E |
  17. +—————–+

 

(注:回车后会在~/.ssh/ 下生成两个文件:id_rsa 和 id_rsa.pub。这两个文件是成对出现的。)

2、进入~/.ssh/ 目录下,将 id_rsa.pub 追加到 authorized_keys 授权文件中,开始没有 authorized_keys 文件。执行命令:

cd ~/.ssh
cat id_rsa.pub >> authorized_keys

完成后即可无密码登录本机。

3、登录 localhost。在终端输入命令:ssh localhost

(注:当 ssh 远程登录到其它机器后,你控制的是远程的机器,需要执行退出命令才能重新控制本地主机。)

4、执行退出命令。输入命令:exit

相关阅读

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

五、安装 Hadoop。

在 Hadoop 官网下载 Hadoop。本次使用的版本为 1.1.0。在官网下载 hadoop-1.1.0.tar.gz。(注:使用非 root 用户)下载地址: 点击打开

1、假设 hadoop-1.1.0.tar.gz 在桌面,将它复制到安装目录 /usr/local/ 下。执行命令:sudo cp hadoop-0.20.203.0rc1.tar.gz /usr/local/

2、解压 hadoop-1.1.0.tar.gz。执行命令:

cd /usr/local
sudo tar -zxf hadoop-1.1.0.tar.gz

3、将解压出的文件夹改名为 hadoop。执行命令:sudo mv hadoop-1.1.0 hadoop

4、将该 hadoop 文件夹的属主用户设为 hadoopusr。执行命令:sudo chown -R hadoopusr:hadoop hadoop

5、打开 hadoop/conf/hadoop-env.sh 文件。执行命令:sudo gedit hadoop/conf/hadoop-env.sh

6、配置 conf/hadoop-env.sh(找到 #export Java_HOME=…, 去掉 #,然后加上本机 jdk 的路径):export JAVA_HOME=/usr/lib/jvm/java/jdk1.6.0_37

7、打开 conf/core-site.xml 文件。输入命令 sudo gedit hadoop/conf/core-site.xml,修改为:( 注:如果直接复制此处代码,会有行号。请去掉行号。下同。

  1. <?xmlversion=“1.0”?>
  2. <?xml-stylesheettype=“text/xsl”href=“configuration.xsl”?>
  3. <!– Put site-specific property overrides in this file. –>
  4. <configuration>
  5. <property>
  6. <name>fs.default.name</name>
  7. <value>hdfs://localhost:9000</value>
  8. </property>
  9. </configuration>

8. 打开 conf/mapred-site.xml 文件。输入命令:sudo gedit hadoop/conf/mapred-site.xml,修改为:

  1. <?xmlversion=“1.0”?>
  2. <?xml-stylesheettype=“text/xsl”href=“configuration.xsl”?>
  3. <!– Put site-specific property overrides in this file. –>
  4. <configuration>
  5. <property>
  6. <name>mapred.job.tracker</name>
  7. <value>localhost:9001</value>
  8. </property>
  9. </configuration>

9. 打开 conf/hdfs-site.xml 文件。输入命令:sudo gedit hadoop/conf/hdfs-site.xml,修改为:

  1. <?xmlversion=“1.0”?>
  2. <?xml-stylesheettype=“text/xsl”href=“configuration.xsl”?>
  3. <!– Put site-specific property overrides in this file. –>
  4. <configuration>
  5. <property>
  6. <name>dfs.name.dir</name>
  7. <value>/usr/local/hadoop/datalog1,/usr/local/hadoop/datalog2</value>
  8. </property>
  9. <property>
  10. <name>dfs.data.dir</name>
  11. <value>/usr/local/hadoop/data1,/usr/local/hadoop/data2</value>
  12. </property>
  13. <property>
  14. <name>dfs.replication</name>
  15. <value>2</value>
  16. </property>
  17. </configuration>

 

10. 打开 conf/masters 文件,添加作为 secondarynamenode 的主机名,作为单机版环境,这里只需填写 localhost 就 Ok 了。sudo gedit hadoop/conf/masters

11. 打开 conf/slaves 文件,添加作为 slave 的主机名,一行一个。作为单机版,这里也只需填写 localhost 就 Ok 了。sudo gedit hadoop/conf/slaves

六、在单机上运行 hadoop

1. 进入 hadoop 目录下,格式化 hdfs 文件系统,初次运行 hadoop 时一定要有该操作,

cd /usr/local/hadoop/

bin/hadoop namenode -format

2. 当你看到如下信息时,就说明你的 hdfs 文件系统格式化成功了。

  1. ****************** 省略信息 **********************************/
  2. 12/11/19 14:13:14 INFO namenode.FSEditLog: closing edit log: position=4, editlog=/usr/local/hadoop/datalog2/current/edits
  3. 12/11/19 14:13:14 INFO namenode.FSEditLog: close success: truncate to 4, editlog=/usr/local/hadoop/datalog2/current/edits
  4. 12/11/19 14:13:14 INFO common.Storage: Storage directory /usr/local/hadoop/datalog2 has been successfully formatted.
  5. 12/11/19 14:13:14 INFO namenode.NameNode: SHUTDOWN_MSG:
  6. /************************************************************
  7. SHUTDOWN_MSG: Shutting down NameNode at shan-pc/127.0.1.1
  8. ************************************************************/

 

 

3、启动 bin/start-all.sh。输入命令:bin/start-all.sh

4、检测 hadoop 是否启动成功。输入命令:jps

如果有 Namenode,SecondaryNameNode,TaskTracker,DataNode,JobTracker 五个进程,就说明你的 hadoop 单机版环境已经配置完成。

OK,一个 hadoop 的单机版环境已经搭建完成~ 接下来我们运行一个实例测试一下~

七、测试

1、进入 hadoop 目录下(cd /usr/local/hadoop),输入启动命令:bin/start-all.sh。启动 hadoop。

2、输入如下命令执行 wordcount 程序计算过程:

echo “hello world” > /home/hadoopusr/file01
echo “hello hadoop” > /home/hadoopusr/file02
bin/hadoop fs -mkdir input
bin/hadoop fs -copyFromLocal /home/hadoopusr/file0* input
bin/hadoop jar hadoop-examples-1.1.0.jar wordcount input output

  1. hadoopusr@shan-pc:/usr/local/hadoop$ echo “hello world” > /home/hadoopusr/file01
  2. hadoopusr@shan-pc:/usr/local/hadoop$ echo “hello hadoop” > /home/hadoopusr/file02
  3. hadoopusr@shan-pc:/usr/local/hadoop$ bin/hadoop fs -mkdir input
  4. hadoopusr@shan-pc:/usr/local/hadoop$ bin/hadoop fs -copyFromLocal /home/hadoopusr/file0* input
  5. hadoopusr@shan-pc:/usr/local/hadoop$ bin/hadoop jar hadoop-examples-1.1.0.jar wordcount input output
  6. 12/11/19 15:34:15 INFO input.FileInputFormat: Total input paths to process : 2
  7. 12/11/19 15:34:15 INFO util.NativeCodeLoader: Loaded the native-hadoop library
  8. 12/11/19 15:34:15 WARN snappy.LoadSnappy: Snappy native library not loaded
  9. 12/11/19 15:34:15 INFO mapred.JobClient: Running job: job_201211191500_0006
  10. 12/11/19 15:34:16 INFO mapred.JobClient: map 0% reduce 0%
  11. 12/11/19 15:34:21 INFO mapred.JobClient: map 100% reduce 0%
  12. 12/11/19 15:34:29 INFO mapred.JobClient: map 100% reduce 33%
  13. 12/11/19 15:34:30 INFO mapred.JobClient: map 100% reduce 100%
  14. 12/11/19 15:34:31 INFO mapred.JobClient: Job complete: job_201211191500_0006
  15. 12/11/19 15:34:31 INFO mapred.JobClient: Counters: 29
  16. 12/11/19 15:34:31 INFO mapred.JobClient: Job Counters
  17. 12/11/19 15:34:31 INFO mapred.JobClient: Launched reduce tasks=1
  18. 12/11/19 15:34:31 INFO mapred.JobClient: SLOTS_MILLIS_MAPS=7520
  19. 12/11/19 15:34:31 INFO mapred.JobClient: Total time spent by all reduces waiting after reserving slots (ms)=0
  20. 12/11/19 15:34:31 INFO mapred.JobClient: Total time spent by all maps waiting after reserving slots (ms)=0
  21. 12/11/19 15:34:31 INFO mapred.JobClient: Launched map tasks=2
  22. 12/11/19 15:34:31 INFO mapred.JobClient: Data-local map tasks=2
  23. 12/11/19 15:34:31 INFO mapred.JobClient: SLOTS_MILLIS_REDUCES=9406
  24. 12/11/19 15:34:31 INFO mapred.JobClient: File Output Format Counters
  25. 12/11/19 15:34:31 INFO mapred.JobClient: Bytes Written=25
  26. 12/11/19 15:34:31 INFO mapred.JobClient: FileSystemCounters
  27. 12/11/19 15:34:31 INFO mapred.JobClient: FILE_BYTES_READ=55
  28. 12/11/19 15:34:31 INFO mapred.JobClient: HDFS_BYTES_READ=253
  29. 12/11/19 15:34:31 INFO mapred.JobClient: FILE_BYTES_WRITTEN=71884
  30. 12/11/19 15:34:31 INFO mapred.JobClient: HDFS_BYTES_WRITTEN=25
  31. 12/11/19 15:34:31 INFO mapred.JobClient: File Input Format Counters
  32. 12/11/19 15:34:31 INFO mapred.JobClient: Bytes Read=25
  33. 12/11/19 15:34:31 INFO mapred.JobClient: Map-Reduce Framework
  34. 12/11/19 15:34:31 INFO mapred.JobClient: Map output materialized bytes=61
  35. 12/11/19 15:34:31 INFO mapred.JobClient: Map input records=2
  36. 12/11/19 15:34:31 INFO mapred.JobClient: Reduce shuffle bytes=61
  37. 12/11/19 15:34:31 INFO mapred.JobClient: Spilled Records=8
  38. 12/11/19 15:34:31 INFO mapred.JobClient: Map output bytes=41
  39. 12/11/19 15:34:31 INFO mapred.JobClient: CPU time spent (ms)=1250
  40. 12/11/19 15:34:31 INFO mapred.JobClient: Total committed heap usage (bytes)=336338944
  41. 12/11/19 15:34:31 INFO mapred.JobClient: Combine input records=4
  42. 12/11/19 15:34:31 INFO mapred.JobClient: SPLIT_RAW_BYTES=228
  43. 12/11/19 15:34:31 INFO mapred.JobClient: Reduce input records=4
  44. 12/11/19 15:34:31 INFO mapred.JobClient: Reduce input groups=3
  45. 12/11/19 15:34:31 INFO mapred.JobClient: Combine output records=4
  46. 12/11/19 15:34:31 INFO mapred.JobClient: Physical memory (bytes) snapshot=326197248
  47. 12/11/19 15:34:31 INFO mapred.JobClient: Reduce output records=3
  48. 12/11/19 15:34:31 INFO mapred.JobClient: Virtual memory (bytes) snapshot=1128873984
  49. 12/11/19 15:34:31 INFO mapred.JobClient: Map output records=4

 

 

3、wordcount 程序执行完毕,运行命令 bin/hadoop fs -ls output。查看输出结果。如下:

  1. hadoopusr@shan-pc:/usr/local/hadoop$ bin/hadoop fs -ls output
  2. Found 3 items
  3. -rw-r–r– 2 hadoopusr supergroup 0 2012-11-19 15:34 /user/hadoopusr/output/_SUCCESS
  4. drwxr-xr-x – hadoopusr supergroup 0 2012-11-19 15:34 /user/hadoopusr/output/_logs
  5. -rw-r–r– 2 hadoopusr supergroup 25 2012-11-19 15:34 /user/hadoopusr/output/part-r-00000

4、输入命令 bin/hadoop fs -cat /user/hadoopusr/output/part-r-00000 查看最后统计结果。结果如下:

  1. hadoopusr@shan-pc:/usr/local/hadoop$ bin/hadoop fs -cat /user/hadoopusr/output/part-r-00000
  2. hadoop 1
  3. hello 2
  4. world 1

更多 Hadoop 相关信息见 Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

Ubuntu:

一、安装 Java。

首先安装 java。因为 Ubuntu 里面默认安装了 OpenJDK, 可以先将其卸载。在终端输入命令:sudo apt-get purge openjdk*。

1、从 sun 主页下载 JDK for linux 版本。我下载的是 jdk-6u37-linux-i586.bin。下载地址: 点击打开

2、切换到 root 用户并切换到想要安装的目录。我的安装目录为 /usr/lib/jvm/java。将下载的文件拷贝到此目录中。并使用命令:chmod a+x jdk-6u37-linux-i586.bin 将此文件权限设置为可执行类型。

3、开始安装。在终端输入:./jdk-6u37-linux-i586.bin,接下来会进行安装过程。安装过程中会提示按 Enter 键继续。

4、安装完成后,会出现 Done。表示完成了 java 环境的安装。安装的位置为当前目录 /usr/java。当然,也可以选择其他的位置。

5、安装完成后,直接在终端输入 java 会出错。此时还需要配置环境变量。如果只使用 export 命令则支队当前 shell 起作用。如果切换 shell 或重启则依旧会失效。可以选择配置.bashr 文件或 /etc/profile,后者修改系统配置文件,对所有用户均有效。

6、使用 vim 打开 /etc/profile 文件。在末尾添加如下内容:

  1. export JAVA_HOME=/usr/lib/jvm/java/jdk1.6.0_37
  2. export JRE_HOME=/usr/lib/jvm/java/jdk1.6.0_37/jre
  3. export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
  4. export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

注: 注意一定不要错误,否则有可能重启后无法进入系统,如果由于输入错误,导致开机之后只有空白的界面,按 ctrl+Alt+F1 进入 tty1 命令行界面,输入命令:sudo vim /etc/profile 检查刚刚的配置是否有错误的地方,改正后重启即可。 注意 export 命令 = 两边没有空格。

 

7、 保存后重新启动计算机。

注: 网上有资料说可以使用 source 更新一下。在终端输入命令:source /etc/profile。经本人测试,这种方法会导致只在一个终端中有效,如果打开新的终端会 java 配置会失效,除非再次使用 source 命令更新。)

8、使用 env 命令查看各环境变量的值。如果各项变量内容都与之前配置的相同,则说明配置成功。也可使用 java -version 命令察看。如果能输出 java version “1.6.0_37″ 则表明配置正确。

二、创建 Hadoop 组和 Hadoop 用户。

1、创建 hadoop 用户组:sudo addgroup hadoop

2、创建 hadoop 用户:sudo adduser -ingroup hadoop hadoopusr。过程中会要求你输入密码和用户信息。输入用户信息的时候,可直接点 Enter(表示默认)。最后输入 y。

3、给刚新建的 hadoop 用户 hadoopusr 添加权限,打开 /etc/sudoers 文件。输入命令:sudo gedit /etc/sudoers。给 hadoopusr 赋予 root 用户同样的权限。在文件末尾添加如下信息:

  1. root ALL=(ALL:ALL) ALL
  2. hadoopusr ALL=(ALL:ALL) ALL

 

三、安装 ssh 服务

ssh 可以实现远程登录和管理,具体可以参考其他相关资料。

输入命令:sudo apt-get install ssh openssh-server,安装 openssh-server。

如果你已经安装好了 ssh,可以直接进行下一步。

四、建立 ssh 无密码登录本机

首先要转换成 hadoop 用户,执行以下命令:su – hadoopusr,再输入密码即可。

ssh 生成密钥有 rsa 和 dsa 两种生成方式,默认情况下采用 rsa 方式。

1、创建 ssh-key,我们采用 rsa 方式。输入命令:ssh-keygen -t rsa -P “”

输入命令后会出现提示信息:“Enter file in which to save the key (/home/hadoopusr/.ssh/id_rsa):”,直接点回车即可。出现如下信息:

  1. Created directory ‘/home/hadoopusr/.ssh’.
  2. Your identification has been saved in /home/hadoopusr/.ssh/id_rsa.
  3. Your public key has been saved in /home/hadoopusr/.ssh/id_rsa.pub.
  4. The key fingerprint is:
  5. d4:29:00:6e:20:f0:d9:c6:a2:9b:cd:22:60:44:af:eb hadoopusr@shan-pc
  6. The key’s randomart image is:
  7. +–[RSA 2048]—-+
  8. |+.. … |
  9. |.o.* . . . |
  10. | .+.* o o |
  11. |…+ . . |
  12. |oo S |
  13. |o=. |
  14. |=.o |
  15. |o. |
  16. | E |
  17. +—————–+

 

(注:回车后会在~/.ssh/ 下生成两个文件:id_rsa 和 id_rsa.pub。这两个文件是成对出现的。)

2、进入~/.ssh/ 目录下,将 id_rsa.pub 追加到 authorized_keys 授权文件中,开始没有 authorized_keys 文件。执行命令:

cd ~/.ssh
cat id_rsa.pub >> authorized_keys

完成后即可无密码登录本机。

3、登录 localhost。在终端输入命令:ssh localhost

(注:当 ssh 远程登录到其它机器后,你控制的是远程的机器,需要执行退出命令才能重新控制本地主机。)

4、执行退出命令。输入命令:exit

相关阅读

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计18767字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中