在Ubuntu系统上搭建Hadoop 2.x(2.6.2)

简介:

前提条件

(1)Ubuntu操作系统(本教程使用的是Ubuntu 14.04)

(2)安装JDK

复制代码
$ sudo apt-get install openjdk-7-jdk
$ java -version
java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.12) (7u25-2.3.12-4ubuntu3)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
$ cd /usr/lib/jvm
$ ln -s java-7-openjdk-amd64 jdk
复制代码

(3)安装ssh

$ sudo apt-get install openssh-server

添加Hadoop用户组和用户(可选)

$ sudo addgroup hadoop
$ sudo adduser --ingroup hadoop hduser
$ sudo adduser hduser sudo

创建用户之后,使用hduser重新登陆ubuntu

安装SSH证书

复制代码
$ ssh-keygen -t rsa -P ''
...
Your identification has been saved in /home/hduser/.ssh/id_rsa.
Your public key has been saved in /home/hduser/.ssh/id_rsa.pub.
...
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ ssh localhost
复制代码

下载Hadoop 2.6.2

复制代码
$ cd ~
$ wget http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.6.2/hadoop-2.6.2.tar.gz
$ sudo tar vxzf hadoop-2.6.2.tar.gz -C /home/hduser
$ cd /home/hduser
$ sudo mv hadoop-2.6.2 hadoop
$ sudo chown -R hduser:hadoop hadoop
复制代码

配置Hadoop环境变量

(1)修改系统环境变量

复制代码
$cd ~
$vi .bashrc
 
把下边的代码复制到vi打开的.bashrc文件末尾,如果JAVA_HOME已经配置过,那就不需要再配置了。
 
#Hadoop variables
#begin of paste
export JAVA_HOME=/usr/lib/jvm/jdk/
export HADOOP_INSTALL=/home/hduser/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
#end of paste
复制代码

(2)修改hadoop环境变量

$ cd /home/hduser/hadoop/etc/hadoop
$ vi hadoop-env.sh
 
#必改的就一个,那就是修改JAVA_HOME,其他的可以不修改
export JAVA_HOME=/usr/lib/jvm/jdk/

配置完成后,重新登陆Ubuntu(把terminal关掉,再打开)

输入下边的命令检查是否安装成功

$ hadoop version
Hadoop 2.6.2
...
...
...

配置Hadoop

(1)core-site.xml

复制代码
$ cd /home/hduser/hadoop/etc/hadoop
$ vi core-site.xml
#把下边的代码复制到
<configuration>和</configuration>中间 <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property>
复制代码

(2)yarn-site.xml

复制代码
$ vi yarn-site.xml
#把下边的代码复制到
<configuration>和</configuration>中间 <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property>
复制代码

(3)mapred-site.xml

复制代码
$ mv mapred-site.xml.template mapred-site.xml
$ vi mapred-site.xml
#把下边的代码复制到
<configuration>和</configuration>中间 <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
复制代码

(4)hdfs-site.xml

复制代码
$ cd ~
$ mkdir -p mydata/hdfs/namenode
$ mkdir -p mydata/hdfs/datanode
$ cd /home/hduser/hadoop/etc/hadoop
$ vi hdfs-site.xml

#把下边的代码复制到<configuration>和</configuration>中间 
<property>
   <name>dfs.replication</name>
   <value>1</value>
 </property>
 <property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/home/hduser/mydata/hdfs/namenode</value>
 </property>
 <property>
   <name>dfs.datanode.data.dir</name>
   <value>file:/home/hduser/mydata/hdfs/datanode</value>
 </property>
复制代码

格式化一个新的分布式文件系统:

$ cd ~
$ hdfs namenode -format

启动Hadoop服务

复制代码
$ start-dfs.sh
....
$ start-yarn.sh
....
 
$ jps
#如果配置成功的话,你会看到类似下边的信息
2583 DataNode
2970 ResourceManager
3461 Jps
3177 NodeManager
2361 NameNode
2840 SecondaryNameNode
复制代码

运行Hadoop示例

复制代码
hduser@ubuntu: cd /home/dhuser/hadoop
hduser@ubuntu:/home/dhuser/hadoop$ hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.2.jar pi 2 5
#然后你会看到类似下边的信息
Number of Maps  = 2
Samples per Map = 5
15/10/21 18:41:03 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Wrote input for Map #0
Wrote input for Map #1
Starting Job
15/10/21 18:41:04 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
15/10/21 18:41:04 INFO input.FileInputFormat: Total input paths to process : 2
15/10/21 18:41:04 INFO mapreduce.JobSubmitter: number of splits:2
15/10/21 18:41:04 INFO Configuration.deprecation: user.name is deprecated. Instead, use mapreduce.job.user.name
...
复制代码

 


本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/p/5051135.html,如需转载请自行联系原作者

相关文章
|
3月前
|
Ubuntu Linux
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
779 3
|
23天前
|
Ubuntu Linux 测试技术
Linux系统之Ubuntu安装cockpit管理工具
【10月更文挑战第13天】Linux系统之Ubuntu安装cockpit管理工具
84 4
Linux系统之Ubuntu安装cockpit管理工具
|
1月前
|
Ubuntu 测试技术 网络安全
Ubuntu系统下部署flatpress轻量级博客系统
【10月更文挑战第3天】Ubuntu系统下部署flatpress轻量级博客系统
44 3
Ubuntu系统下部署flatpress轻量级博客系统
|
17天前
|
Ubuntu 编译器 计算机视觉
Ubuntu系统编译OpenCV4.8源码
【10月更文挑战第17天】只要三步即可搞定,第一步是下载指定版本的源码包;第二步是安装OpenCV4.8编译需要的编译器与第三方库支持;第三步就是编译OpenCV源码包生成安装文件并安装。
|
29天前
|
Ubuntu Linux Python
Ubuntu学习笔记(六):ubuntu切换Anaconda和系统自带Python
本文介绍了在Ubuntu系统中切换Anaconda和系统自带Python的方法。方法1涉及编辑~/.bashrc和/etc/profile文件,更新Anaconda的路径。方法2提供了详细的步骤指导,帮助用户在Anaconda和系统自带Python之间进行切换。
69 1
|
10天前
|
消息中间件 Ubuntu Java
Ubuntu系统上安装Apache Kafka
Ubuntu系统上安装Apache Kafka
|
1月前
|
Ubuntu Shell API
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
|
1月前
|
Ubuntu jenkins 持续交付
Ubuntu系统 用docker安装jenkins
Ubuntu系统 用docker安装jenkins
|
2月前
|
存储 Prometheus 监控
在Ubuntu系统上安装与配置Prometheus的步骤
通过以上步骤,您应该已经成功在Ubuntu系统上安装并配置了Prometheus。您现在可以开始使用Prometheus收集和分析您的系统和应用程序的指标数据了。
145 1
|
2月前
|
监控 Ubuntu API
Python脚本监控Ubuntu系统进程内存的实现方式
通过这种方法,我们可以很容易地监控Ubuntu系统中进程的内存使用情况,对于性能分析和资源管理具有很大的帮助。这只是 `psutil`库功能的冰山一角,`psutil`还能够提供更多关于系统和进程的详细信息,强烈推荐进一步探索这个强大的库。
42 1
下一篇
无影云桌面