共计 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 文件。在末尾添加如下内容:
- export JAVA_HOME=/usr/lib/jvm/java/jdk1.6.0_37
- export JRE_HOME=/usr/lib/jvm/java/jdk1.6.0_37/jre
- export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
- 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 用户同样的权限。在文件末尾添加如下信息:
- root ALL=(ALL:ALL) ALL
- 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):”,直接点回车即可。出现如下信息:
- Created directory ‘/home/hadoopusr/.ssh’.
- Your identification has been saved in /home/hadoopusr/.ssh/id_rsa.
- Your public key has been saved in /home/hadoopusr/.ssh/id_rsa.pub.
- The key fingerprint is:
- d4:29:00:6e:20:f0:d9:c6:a2:9b:cd:22:60:44:af:eb hadoopusr@shan-pc
- The key’s randomart image is:
- +–[RSA 2048]—-+
- |+.. … |
- |.o.* . . . |
- | .+.* o o |
- |…+ . . |
- |oo S |
- |o=. |
- |=.o |
- |o. |
- | E |
- +—————–+
(注:回车后会在~/.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,修改为:( 注:如果直接复制此处代码,会有行号。请去掉行号。下同。)
- <?xmlversion=“1.0”?>
- <?xml-stylesheettype=“text/xsl”href=“configuration.xsl”?>
- <!– Put site-specific property overrides in this file. –>
- <configuration>
- <property>
- <name>fs.default.name</name>
- <value>hdfs://localhost:9000</value>
- </property>
- </configuration>
8. 打开 conf/mapred-site.xml 文件。输入命令:sudo gedit hadoop/conf/mapred-site.xml,修改为:
- <?xmlversion=“1.0”?>
- <?xml-stylesheettype=“text/xsl”href=“configuration.xsl”?>
- <!– Put site-specific property overrides in this file. –>
- <configuration>
- <property>
- <name>mapred.job.tracker</name>
- <value>localhost:9001</value>
- </property>
- </configuration>
9. 打开 conf/hdfs-site.xml 文件。输入命令:sudo gedit hadoop/conf/hdfs-site.xml,修改为:
- <?xmlversion=“1.0”?>
- <?xml-stylesheettype=“text/xsl”href=“configuration.xsl”?>
- <!– Put site-specific property overrides in this file. –>
- <configuration>
- <property>
- <name>dfs.name.dir</name>
- <value>/usr/local/hadoop/datalog1,/usr/local/hadoop/datalog2</value>
- </property>
- <property>
- <name>dfs.data.dir</name>
- <value>/usr/local/hadoop/data1,/usr/local/hadoop/data2</value>
- </property>
- <property>
- <name>dfs.replication</name>
- <value>2</value>
- </property>
- </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 文件系统格式化成功了。
- ****************** 省略信息 **********************************/
- 12/11/19 14:13:14 INFO namenode.FSEditLog: closing edit log: position=4, editlog=/usr/local/hadoop/datalog2/current/edits
- 12/11/19 14:13:14 INFO namenode.FSEditLog: close success: truncate to 4, editlog=/usr/local/hadoop/datalog2/current/edits
- 12/11/19 14:13:14 INFO common.Storage: Storage directory /usr/local/hadoop/datalog2 has been successfully formatted.
- 12/11/19 14:13:14 INFO namenode.NameNode: SHUTDOWN_MSG:
- /************************************************************
- SHUTDOWN_MSG: Shutting down NameNode at shan-pc/127.0.1.1
- ************************************************************/
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
- hadoopusr@shan-pc:/usr/local/hadoop$ echo “hello world” > /home/hadoopusr/file01
- hadoopusr@shan-pc:/usr/local/hadoop$ echo “hello hadoop” > /home/hadoopusr/file02
- hadoopusr@shan-pc:/usr/local/hadoop$ bin/hadoop fs -mkdir input
- hadoopusr@shan-pc:/usr/local/hadoop$ bin/hadoop fs -copyFromLocal /home/hadoopusr/file0* input
- hadoopusr@shan-pc:/usr/local/hadoop$ bin/hadoop jar hadoop-examples-1.1.0.jar wordcount input output
- 12/11/19 15:34:15 INFO input.FileInputFormat: Total input paths to process : 2
- 12/11/19 15:34:15 INFO util.NativeCodeLoader: Loaded the native-hadoop library
- 12/11/19 15:34:15 WARN snappy.LoadSnappy: Snappy native library not loaded
- 12/11/19 15:34:15 INFO mapred.JobClient: Running job: job_201211191500_0006
- 12/11/19 15:34:16 INFO mapred.JobClient: map 0% reduce 0%
- 12/11/19 15:34:21 INFO mapred.JobClient: map 100% reduce 0%
- 12/11/19 15:34:29 INFO mapred.JobClient: map 100% reduce 33%
- 12/11/19 15:34:30 INFO mapred.JobClient: map 100% reduce 100%
- 12/11/19 15:34:31 INFO mapred.JobClient: Job complete: job_201211191500_0006
- 12/11/19 15:34:31 INFO mapred.JobClient: Counters: 29
- 12/11/19 15:34:31 INFO mapred.JobClient: Job Counters
- 12/11/19 15:34:31 INFO mapred.JobClient: Launched reduce tasks=1
- 12/11/19 15:34:31 INFO mapred.JobClient: SLOTS_MILLIS_MAPS=7520
- 12/11/19 15:34:31 INFO mapred.JobClient: Total time spent by all reduces waiting after reserving slots (ms)=0
- 12/11/19 15:34:31 INFO mapred.JobClient: Total time spent by all maps waiting after reserving slots (ms)=0
- 12/11/19 15:34:31 INFO mapred.JobClient: Launched map tasks=2
- 12/11/19 15:34:31 INFO mapred.JobClient: Data-local map tasks=2
- 12/11/19 15:34:31 INFO mapred.JobClient: SLOTS_MILLIS_REDUCES=9406
- 12/11/19 15:34:31 INFO mapred.JobClient: File Output Format Counters
- 12/11/19 15:34:31 INFO mapred.JobClient: Bytes Written=25
- 12/11/19 15:34:31 INFO mapred.JobClient: FileSystemCounters
- 12/11/19 15:34:31 INFO mapred.JobClient: FILE_BYTES_READ=55
- 12/11/19 15:34:31 INFO mapred.JobClient: HDFS_BYTES_READ=253
- 12/11/19 15:34:31 INFO mapred.JobClient: FILE_BYTES_WRITTEN=71884
- 12/11/19 15:34:31 INFO mapred.JobClient: HDFS_BYTES_WRITTEN=25
- 12/11/19 15:34:31 INFO mapred.JobClient: File Input Format Counters
- 12/11/19 15:34:31 INFO mapred.JobClient: Bytes Read=25
- 12/11/19 15:34:31 INFO mapred.JobClient: Map-Reduce Framework
- 12/11/19 15:34:31 INFO mapred.JobClient: Map output materialized bytes=61
- 12/11/19 15:34:31 INFO mapred.JobClient: Map input records=2
- 12/11/19 15:34:31 INFO mapred.JobClient: Reduce shuffle bytes=61
- 12/11/19 15:34:31 INFO mapred.JobClient: Spilled Records=8
- 12/11/19 15:34:31 INFO mapred.JobClient: Map output bytes=41
- 12/11/19 15:34:31 INFO mapred.JobClient: CPU time spent (ms)=1250
- 12/11/19 15:34:31 INFO mapred.JobClient: Total committed heap usage (bytes)=336338944
- 12/11/19 15:34:31 INFO mapred.JobClient: Combine input records=4
- 12/11/19 15:34:31 INFO mapred.JobClient: SPLIT_RAW_BYTES=228
- 12/11/19 15:34:31 INFO mapred.JobClient: Reduce input records=4
- 12/11/19 15:34:31 INFO mapred.JobClient: Reduce input groups=3
- 12/11/19 15:34:31 INFO mapred.JobClient: Combine output records=4
- 12/11/19 15:34:31 INFO mapred.JobClient: Physical memory (bytes) snapshot=326197248
- 12/11/19 15:34:31 INFO mapred.JobClient: Reduce output records=3
- 12/11/19 15:34:31 INFO mapred.JobClient: Virtual memory (bytes) snapshot=1128873984
- 12/11/19 15:34:31 INFO mapred.JobClient: Map output records=4
3、wordcount 程序执行完毕,运行命令 bin/hadoop fs -ls output。查看输出结果。如下:
- hadoopusr@shan-pc:/usr/local/hadoop$ bin/hadoop fs -ls output
- Found 3 items
- -rw-r–r– 2 hadoopusr supergroup 0 2012-11-19 15:34 /user/hadoopusr/output/_SUCCESS
- drwxr-xr-x – hadoopusr supergroup 0 2012-11-19 15:34 /user/hadoopusr/output/_logs
- -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 查看最后统计结果。结果如下:
- hadoopusr@shan-pc:/usr/local/hadoop$ bin/hadoop fs -cat /user/hadoopusr/output/part-r-00000
- hadoop 1
- hello 2
- 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 文件。在末尾添加如下内容:
- export JAVA_HOME=/usr/lib/jvm/java/jdk1.6.0_37
- export JRE_HOME=/usr/lib/jvm/java/jdk1.6.0_37/jre
- export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
- 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 用户同样的权限。在文件末尾添加如下信息:
- root ALL=(ALL:ALL) ALL
- 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):”,直接点回车即可。出现如下信息:
- Created directory ‘/home/hadoopusr/.ssh’.
- Your identification has been saved in /home/hadoopusr/.ssh/id_rsa.
- Your public key has been saved in /home/hadoopusr/.ssh/id_rsa.pub.
- The key fingerprint is:
- d4:29:00:6e:20:f0:d9:c6:a2:9b:cd:22:60:44:af:eb hadoopusr@shan-pc
- The key’s randomart image is:
- +–[RSA 2048]—-+
- |+.. … |
- |.o.* . . . |
- | .+.* o o |
- |…+ . . |
- |oo S |
- |o=. |
- |=.o |
- |o. |
- | E |
- +—————–+
(注:回车后会在~/.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