Linux下搭建Hadoop详细步骤

装好虚拟机+Linux,并且主机网络和虚拟机网络互通。以及Linux上装好JDK


1:在Linux下输入命令vi /etc/profile 添加HADOOP_HOME

export  JAVA_HOME=/home/hadoop/export/jdk
export  HADOOP_HOME=/home/hadoop/export/hadoop
export  PATH=.:$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

2:修改hadoop/conf目录下面hadoop-env.sh第九行

export JAVA_HOME=/home/hadoop/export/jdk

3:修改hadoop/conf目录下面core-site.xml

<configuration>
         <property>
                <name>hadoop.tmp.dir</name>
                <value>/home/.../tmp</value>
        </property>
        <property>
                <name>fs.default.name</name>
                <value>hdfs://127.0.0.1:9000</value>
        </property>
</configuration>

4:修改hadoop/conf目录下面hdfs-site.xml

<configuration>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
</configuration>

5:修改hadoop/conf目录下面mapred-site.xml

<configuration>
        <property>
                <name>mapred.job.tracker</name>
                <value>127.0.0.1:9001</value>
        </property>
</configuration>

修改完成。
转到hadoop/bin下面输入hadoop namenode -format
出现如下:(说明成功)
Warning: $HADOOP_HOME is deprecated.

14/07/15 16:06:27 INFO namenode.NameNode: STARTUP_MSG: 
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = ubuntu/127.0.1.1
STARTUP_MSG:   args = [-format]
STARTUP_MSG:   version = 1.2.1
STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152; compiled by 'mattf' on Mon Jul 22 15:23:09 PDT 2013
STARTUP_MSG:   java = 1.7.0_55
************************************************************/

14/07/15 16:07:09 INFO util.GSet: Computing capacity for map BlocksMap
14/07/15 16:07:09 INFO util.GSet: VM type       = 32-bit
14/07/15 16:07:09 INFO util.GSet: 2.0% max memory = 1013645312
14/07/15 16:07:09 INFO util.GSet: capacity      = 2^22 = 4194304 entries
14/07/15 16:07:09 INFO util.GSet: recommended=4194304, actual=4194304
14/07/15 16:07:10 INFO namenode.FSNamesystem: fsOwner=hadoop
14/07/15 16:07:10 INFO namenode.FSNamesystem: supergroup=supergroup
14/07/15 16:07:10 INFO namenode.FSNamesystem: isPermissionEnabled=true
14/07/15 16:07:10 INFO namenode.FSNamesystem: dfs.block.invalidate.limit=100
14/07/15 16:07:10 INFO namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s)
14/07/15 16:07:10 INFO namenode.FSEditLog: dfs.namenode.edits.toleration.length = 0
14/07/15 16:07:10 INFO namenode.NameNode: Caching file names occuring more than 10 times 
14/07/15 16:07:10 INFO common.Storage: Image file /home/hadoop/tmp/dfs/name/current/fsimage of size 118 bytes saved in 0 seconds.
14/07/15 16:07:10 INFO namenode.FSEditLog: closing edit log: position=4, editlog=/home/hadoop/tmp/dfs/name/current/edits
14/07/15 16:07:10 INFO namenode.FSEditLog: close success: truncate to 4, editlog=/home/hadoop/tmp/dfs/name/current/edits
14/07/15 16:07:10 INFO common.Storage: Storage directory /home/hadoop/tmp/dfs/name has been successfully formatted.
14/07/15 16:07:10 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at ubuntu/127.0.1.1
************************************************************/

在这一部分中有一部分人会出现失败的情况,但是你一定要去查hadoop下面logs里面的输出异常很详细。
第一次失败一定要记住删掉tmp下面的输出。因为有可能会出现不兼容的情况。


然后输入start-all.sh

Warning: $HADOOP_HOME is deprecated.


starting namenode, logging to /home/hadoop/export/hadoop/libexec/../logs/hadoop-hadoop-namenode-ubuntu.out
localhost: starting datanode, logging to /home/hadoop/export/hadoop/libexec/../logs/hadoop-hadoop-datanode-ubuntu.out
localhost: starting secondarynamenode, logging to /home/hadoop/export/hadoop/libexec/../logs/hadoop-hadoop-secondarynamenode-ubuntu.out
starting jobtracker, logging to /home/hadoop/export/hadoop/libexec/../logs/hadoop-hadoop-jobtracker-ubuntu.out
localhost: starting tasktracker, logging to /home/hadoop/export/hadoop/libexec/../logs/hadoop-hadoop-tasktracker-ubuntu.out

在上面的过程中可能会提示你输入密码,这时你可以设置个ssh免密码登陆,我博客里面有。
输入jps 出现如下:(少一个datanode,这里我故意设置一个错误)
10666 NameNode
11547 Jps
11445 TaskTracker
11130 SecondaryNameNode
11218 JobTracker

查看logs

2014-07-15 16:13:43,032 INFO org.apache.hadoop.metrics2.impl.MetricsConfig: loaded properties from hadoop-metrics2.properties
2014-07-15 16:13:43,094 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source MetricsSystem,sub=Stats registered.
2014-07-15 16:13:43,098 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Scheduled snapshot period at 10 second(s).
2014-07-15 16:13:43,118 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: DataNode metrics system started
2014-07-15 16:13:43,999 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source ugi registered.
2014-07-15 16:13:44,044 WARN org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Source name ugi already exists!
2014-07-15 16:13:45,484 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in /home/hadoop/tmp/dfs/data: namenode namespaceID = 224603228; datanode namespaceID = 566757162
	at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:232)
	at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:147)
	at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:414)
	at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:321)
	at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1712)
	at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1651)
	at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1669)
	at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:1795)
	at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1812)

这时你只要删除tmp下的文件,问题解决。

然后你可以执行一个实例:具体操作如下

hadoop@ubuntu:~/export/hadoop$ ls
bin          hadoop-ant-1.2.1.jar          ivy          README.txt
build.xml    hadoop-client-1.2.1.jar       ivy.xml      sbin
c++          hadoop-core-1.2.1.jar         lib          share
CHANGES.txt  hadoop-examples-1.2.1.jar     libexec      src
conf         hadoop-minicluster-1.2.1.jar  LICENSE.txt  webapps
contrib      hadoop-test-1.2.1.jar         logs
docs         hadoop-tools-1.2.1.jar        NOTICE.txt

 进行上传hdfs文件操作
 hadoop@ubuntu:~/export/hadoop$ hadoop fs -put README.txt  /
Warning: $HADOOP_HOME is deprecated.

如上说明上传成功。
执行一段wordcount程序(进行对README.txt文件处理)

hadoop@ubuntu:~/export/hadoop$ hadoop jar hadoop-examples-1.2.1.jar word
count /README.txt /wordcountoutput
Warning: $HADOOP_HOME is deprecated.

14/07/15 15:23:01 INFO input.FileInputFormat: Total input paths to process : 1
14/07/15 15:23:01 INFO util.NativeCodeLoader: Loaded the native-hadoop library
14/07/15 15:23:01 WARN snappy.LoadSnappy: Snappy native library not loaded
14/07/15 15:23:02 INFO mapred.JobClient: Running job: job_201407141636_0001
14/07/15 15:23:03 INFO mapred.JobClient:  map 0% reduce 0%
14/07/15 15:23:15 INFO mapred.JobClient:  map 100% reduce 0%
14/07/15 15:23:30 INFO mapred.JobClient:  map 100% reduce 100%
14/07/15 15:23:32 INFO mapred.JobClient: Job complete: job_201407141636_0001
14/07/15 15:23:32 INFO mapred.JobClient: Counters: 29
14/07/15 15:23:32 INFO mapred.JobClient:   Job Counters 
14/07/15 15:23:32 INFO mapred.JobClient:     Launched reduce tasks=1
14/07/15 15:23:32 INFO mapred.JobClient:     SLOTS_MILLIS_MAPS=12563
14/07/15 15:23:32 INFO mapred.JobClient:     Total time spent by all reduces waiting after reserving slots (ms)=0
14/07/15 15:23:32 INFO mapred.JobClient:     Total time spent by all maps waiting after reserving slots (ms)=0
14/07/15 15:23:32 INFO mapred.JobClient:     Launched map tasks=1
14/07/15 15:23:32 INFO mapred.JobClient:     Data-local map tasks=1
14/07/15 15:23:32 INFO mapred.JobClient:     SLOTS_MILLIS_REDUCES=14550
14/07/15 15:23:32 INFO mapred.JobClient:   File Output Format Counters 
14/07/15 15:23:32 INFO mapred.JobClient:     Bytes Written=1306
14/07/15 15:23:32 INFO mapred.JobClient:   FileSystemCounters
14/07/15 15:23:32 INFO mapred.JobClient:     FILE_BYTES_READ=1836
14/07/15 15:23:32 INFO mapred.JobClient:     HDFS_BYTES_READ=1463
14/07/15 15:23:32 INFO mapred.JobClient:     FILE_BYTES_WRITTEN=120839
14/07/15 15:23:32 INFO mapred.JobClient:     HDFS_BYTES_WRITTEN=1306
14/07/15 15:23:32 INFO mapred.JobClient:   File Input Format Counters 
14/07/15 15:23:32 INFO mapred.JobClient:     Bytes Read=1366
14/07/15 15:23:32 INFO mapred.JobClient:   Map-Reduce Framework
14/07/15 15:23:32 INFO mapred.JobClient:     Map output materialized bytes=1836
14/07/15 15:23:32 INFO mapred.JobClient:     Map input records=31
14/07/15 15:23:32 INFO mapred.JobClient:     Reduce shuffle bytes=1836
14/07/15 15:23:32 INFO mapred.JobClient:     Spilled Records=262
14/07/15 15:23:32 INFO mapred.JobClient:     Map output bytes=2055
14/07/15 15:23:32 INFO mapred.JobClient:     Total committed heap usage (bytes)=212611072
14/07/15 15:23:32 INFO mapred.JobClient:     CPU time spent (ms)=2430
14/07/15 15:23:32 INFO mapred.JobClient:     Combine input records=179
14/07/15 15:23:32 INFO mapred.JobClient:     SPLIT_RAW_BYTES=97
14/07/15 15:23:32 INFO mapred.JobClient:     Reduce input records=131
14/07/15 15:23:32 INFO mapred.JobClient:     Reduce input groups=131
14/07/15 15:23:32 INFO mapred.JobClient:     Combine output records=131
14/07/15 15:23:32 INFO mapred.JobClient:     Physical memory (bytes) snapshot=177545216
14/07/15 15:23:32 INFO mapred.JobClient:     Reduce output records=131
14/07/15 15:23:32 INFO mapred.JobClient:     Virtual memory (bytes) snapshot=695681024
14/07/15 15:23:32 INFO mapred.JobClient:     Map output records=179

hadoop@ubuntu:~/export/hadoop$ hadoop fs -ls /
Warning: $HADOOP_HOME is deprecated.

Found 3 items
-rw-r--r--   1 hadoop supergroup       1366 2014-07-15 15:21 /README.txt
drwxr-xr-x   - hadoop supergroup          0 2014-07-14 16:36 /home
drwxr-xr-x   - hadoop supergroup          0 2014-07-15 15:23 /wordcountoutput
hadoop@ubuntu:~/export/hadoop$ hadoop fs -get  /wordcountoutput  /home/hadoop/
Warning: $HADOOP_HOME is deprecated.

你可以下载下来看看这个文件
如下:

(see	1
5D002.C.1,	1
740.13)	1
<http://www.wassenaar.org/>	1
Administration	1
Apache	1
BEFORE	1
BIS	1
Bureau	1
Commerce,	1
Commodity	1
Control	1
Core	1
Department	1
ENC	1
Exception	1
Export	2
For	1
Foundation	1
Government	1
Hadoop	1
Hadoop,	1
Industry	1
Jetty	1
License	1
Number	1
Regulations,	1
SSL	1
Section	1
Security	1
See	1
Software	2
Technology	1
The	4
This	1
U.S.	1
Unrestricted	1
about	1
algorithms.	1
and	6
and/or	1
another	1
any	1
as	1
asymmetric	1
at:	2
both	1
by	1
check	1
classified	1
code	1
code.	1
concerning	1
country	1
country's	1
country,	1
cryptographic	3
currently	1
details	1
distribution	2
eligible	1
encryption	3
exception	1
export	1
following	1
for	3
form	1
from	1
functions	1
has	1
have	1


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值