3
23
2014
2

[MapReduce学习]01.Ubuntu下配置Hadoop 2.3.0单节点模式

以下操作在32位Ubuntu 12.04版本下测试通过,64位系统配置64位版本Hadoop请自行搜索源代码编译相关内容。

 

--- 分隔线神圣不可侵犯 -------------------------------------------------------------

  1. 安装Ubuntu

安装过程略……不想折腾的,直接在虚拟机里跑一跑好了……

  1. 在Ubuntu下创建Hadoop用户组和用户

这里考虑的是以后涉及到Hadoop应用时,专门用该用户操作。用户组名和用户名都设为:Hadoop。可以理解为该Hadoop用户是属于一个名为Hadoop的用户组,这是Linux操作系统的知识,如果不清楚可以查看Linux相关的书籍。

1、创建Hadoop用户组,按ctrl+alt+T调出Terminal,输入以下命令:

sudo addgroup Hadoop

2、创建Hadoop用户,在Terminal中输入以下命令:

sudo adduser -ingroup Hadoop Hadoop

过程中需要给该用户创建一个密码,剩余信息全部直接按回车使用默认值

3、给Hadoop用户添加权限,打开/etc/sudoers文件,在Terminal中输入以下命令:

sudo gedit /etc/sudoers

回车后会打开一个文本编辑器,找到“root ALL=(ALL:ALL) ALL”这一行,在下面添加一行:

Hadoop  ALL=(ALL:ALL) ALL

设置完成后注销,以下均使用Hadoop账户登录进行设置。

  1. 安装SSH

由于Hadoop用ssh通信,先安装ssh

sudo apt-get install openssh-server

ssh安装完成以后,先启动服务:

sudo /etc/init.d/ssh start 

启动后,可以通过如下命令查看服务是否正确启动:

ps -e | grep ssh

作为一个安全通信协议,使用时需要密码,因此我们要设置成免密码登录,生成私钥和公钥:

ssh-keygen -t rsa -P ""

第一次操作时会提示输入密码,按Enter直接过,这时会在~/home/{username}/.ssh下生成两个文件:id_rsa和id_rsa.pub,前者为私钥,后者为公钥,现在我们将公钥追加到authorized_keys中(authorized_keys用于保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容):

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

现在可以登入ssh确认以后登录时不用输入密码:

ssh localhost
  1. 安装JDK

运行以下命令可以安装JDK:

# Add the Ferramosca Roberto's repository to your apt repositories
# See https://launchpad.net/~ferramroberto/
#
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ferramroberto/java

# Update the source list
sudo apt-get update

# Install Sun Java 7 JDK
sudo apt-get install sun-java7-jdk

# Select Sun's Java as the default on your machine.
# See 'sudo update-alternatives --config java' for more information.
#
sudo update-java-alternatives -s java-7-sun

据说此方法速度很慢,也可自行前往Oracle下载安装包进行安装。

根据系统选择合适的软件包下载。

这里简单地阐述一下rpm、tar.gz的区别。rpm格式的软件包适用于基于Red Hat发行版的系统,如Red Hat Linux、SUSE、Fedora。类似地,有一种deb格式的软件包则是适用于基于Debian发行版的系统,如Debian、Ubuntu、Mint。 而tar.gz格式只是一个压缩包,里面一般是源码,因此只要使用tar命令或解压软件解压到相应路径就可以了。本文使用的是32位Ubuntu系统,故选择jdk-8-linux-i586.tar.gz,下载后解压到任意目录下,如/home/hadoop/java(需要root权限)。

JDK环境变量配置如下: 

执行命令 

sudo gedit /etc/environment

在打开的编辑器中PATH变量上面两行新建两个变量

#set JDK environment
export JAVA_HOME=/home/Hadoop/java/jdk1.x.0_xx(jdk的安装路径,x改为具体版本号)
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre

在PATH中添加 

$JAVA_HOME/bin

注意与PATH原有的值之间用英文冒号:分隔,切勿把原来的值删除。

然后保存关闭,使用命令

source /etc/envrionment

更新。

Ubuntu系统默认安装并使用OpenJDK(usr/lib/jvm/),因此需要手动修改系统默认的JDK,

sudo update-alternatives --install /home/hadoop/java/jdk1.x.0_xx/bin/javac 300
sudo update-alternatives --install /home/hadoop/java/jdk1.x.0_xx/bin/java 300
sudo update-alternatives --config javac

再选择相应的Priority 300

sudo update-alternatives --config java

再选择相应的Priority 300

至此配置完成,输入java -version、javac或java检查是否配置成功。

看到如下类似的输出:

java version "1.7.0_51"

Java(TM) SE Runtime Environment (build 1.7.0_51-b13)

Java HotSpot(TM) Client VM (build 24.51-b03, mixed mode)

表示JDK已经安装成功。

  1. 安装Hadoop

确定Hadoop安装版本。Hadoop现在最新版本为2.3.0,稳定版本为2.2.0,经典版本为1.x.0。其中2.x版本的安装方法基本类似,1.x版本的安装方法与2.x不同,安装1.x版本自行搜索相关教程。

另外,Hadoop官网有些版本没有提供64位的binary文件,需要自行下载源码编译。相关内容请自行搜索相关教程。

把下载的压缩包解压缩,比如放至如下目录:/home/Hadoop/Hadoop-2.3.0

解压缩完毕,按ctrl+alt+T打开Terminal,输入以下命令验证解压缩后文件目录:

cd Hadoop-2.3.0
ls

看到如下结果说明解压缩成功

bin  include   LICENSE.txt   share   lib   logs   README.txt

etc   libexec   NOTICE.txt   sbin

  1. 配置单节点(Single Node)模式

接下来需要配置core-site.xml,hdfs-site.xml,yarn-site.xml三个文件。以上文件均位于Hadoop安装文件夹的/etc/Hadoop目录下。

1、配置core-site.xml

ctrl+alt+T打开Terminal,输入以下命令:

cd Hadoop-2.3.0
gedit etc/Hadoop/core-site.xml

在打开的窗口中,按如下修改代码:

<configuration>
       <property>
               <name>fs.defaultFS</name>
               <value>hdfs://localhost:8020</value>
               <description>The name of the defaultfile system. Either the literal string "local" or a host:port forNDFS.
               </description>
               <final>true</final>
       </property>
</configuration>

保存并关闭文本编辑器。

2、配置hdfs-site.xml

继续在Terminal中输入:

gedit etc/Hadoop/hdfs-site.xml

在打开的窗口中,按如下修改代码:

<configuration>
     <property>
         <name>dfs.namenode.name.dir</name>
         <value>/home/Hadoop/Hadoop-2.3.0/dfs/name</value>
     </property>
     <property>
         <name>dfs.datanode.data.dir</name>
         <value>/home/Hadoop/Hadoop-2.3.0/dfs/data</value>
     </property>
</configuration>

保存并关闭文本编辑器。

3、配置yarn-site.xml

Hadoop 2.x有了YARN所以原来的mapred配置都转向yarn-site.xml文件中了,这里也就指定YARN。继续在Terminal中输入:

gedit etc/Hadoop/yarn-site.xml

在打开的窗口中,按如下修改代码:

<configuration>
<!-- Site specific YARN configuration properties -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

4、配置日志输出方式,便于调试错误

export HADOOP_ROOT_LOGGER=INFO,console

5、格式化文件系统

cd hadoop-2.3.0
mkdir dfs/
mkdir dfs/name
mkdir dfs/data
./bin/Hadoop namenode -format

6、启动服务

./sbin/Hadoop-daemon.sh start namenode
./sbin/Hadoop-daemon.sh start datanode
./sbin/Hadoop-daemon.sh start dfs
./sbin/start-yarn.sh

7、查看状态

./bin/Hadoop dfsadmin -report

看到以下字样表示一个数据节点OK

Datanodes available: 1 (1 total, 0 dead)

在浏览器里输入http://127.0.0.1:50070/

能看到 Hadoop 服务启动

8、WordCount测试

构造数据文件(file1.txt,file2.txt)
在Hadoop-2.3.0文件夹下面新建一个input文件夹,然后新建一个文本文件file1.txt,随便写上一些内容:

hello   world
hello   ray
hello   Hadoop

再新建一个file2.txt,再随便写上一些内容:

Hadoop  ok
Hadoop  fail
Hadoop  2.3

把数据文件加入到 Hadoop 系统。

./bin/Hadoop fs -mkdir /data
./bin/Hadoop fs -put -f input/file1.txt input/file2.txt /data

运行 WordCount(java) 版本。

./bin/Hadoop jar ./share/Hadoop/mapreduce/sources/Hadoop-mapreduce-examples-2.3.0-sources.jar org.apache.Hadoop.examples.WordCount /data /output

查看结果。

./bin/Hadoop fs -cat /output/part-r-00000

看到如下结果说明配置成功
2.3     1
fail    1
Hadoop  4
hello   3
ray     1
ok      1
world   1


参考资料:

http://blog.csdn.net/hitwengqi/article/details/8008203

http://blog.csdn.net/sx451087750/article/details/20550093

http://www.cnblogs.com/zhangwenjing/p/3583350.html

 

 

Category: MapReduce | Tags: ubuntu 配置 Hadoop | Read Count: 6714
Avatar_small
NCERT GK Sample Pape 说:
2022年9月17日 00:29

GK stands for General knowledge which was introduced as one of the subjects. It is beginning from the foundation education to help the students by getting minimum knowledge. GK also play a key role in competitive examinations, NCERT GK Sample Paper Class 2 that’s the way NCERT included General knowledge is a subject that everyone should know and learn from Primary Education.Downloading NCERT GK Sample Paper 2023 Class 2 utilizes candidates who have to know the new examination pattern and want to get high scores smoothly for all formats of exams conducted in Term-1, Term-2 such as SA-1, SA-2, FA-1, FA-2, FA-3, FA-4, Assignments and other types of exams to Hindi Medium, English medium and Urdu Medium students.

Avatar_small
Emma 说:
2023年1月20日 19:21

This thread shares the step by step procedure for that and thank you so much for sharing the details over here. It explains the details regarding CBD Topical Configuring Hadoop 2.3.0 single node mode under Ubuntu. I am looking here to more updates regarding that and keep sharing more details over here.


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter

Host by is-Programmer.com | Power by Chito 1.3.3 beta | Theme: Aeros 2.0 by TheBuckmaker.com