3.Hadoop完全分布式搭建
1.完全分布式搭建
-
配置
#cd /soft/hadoop/etc/
#mv hadoop local
#cp -r local full
#ln -s full hadoop
#cd hadoop -
修改core-site.xml配置文件
#vim core-site.xml
[core-site.xml配置如下]
<?xml version="1.0"?>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop-1</value>
</property>
</configuration> -
修改hdfs-site.xml配置文件
#vim hdfs-site.xml
[hdfs-site.xml配置如下]
<?xml version="1.0"?>
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop-2:50090</value>
</description>
</property>
</configuration> -
修改mapred-site.xml配置文件
#cp mapred-site.xml.template mapred-site.xml
#vim mapred-site.xml
[mapred-site.xml配置如下]
<?xml version="1.0"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration> -
修改yarn-site.xml配置文件
#vim yarn-site.xml
[yarn-site.xml配置如下]
<?xml version="1.0"?>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop-1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration> -
修改slaves配置文件
#vim slaves
[salves]
hadoop-2
hadoop-3
hadoop-4
hadoop-5 -
同步到其他节点
#scp -r /soft/hadoop/etc/full hadoop-2:/soft/hadoop/etc/
#scp -r /soft/hadoop/etc/full hadoop-3:/soft/hadoop/etc/
#scp -r /soft/hadoop/etc/full hadoop-4:/soft/hadoop/etc/
#scp -r /soft/hadoop/etc/full hadoop-5:/soft/hadoop/etc/
#ssh hadoop-2 ln -s /soft/hadoop/etc/full /soft/hadoop/etc/hadoop
#ssh hadoop-3 ln -s /soft/hadoop/etc/full /soft/hadoop/etc/hadoop
#ssh hadoop-4 ln -s /soft/hadoop/etc/full /soft/hadoop/etc/hadoop
#ssh hadoop-5 ln -s /soft/hadoop/etc/full /soft/hadoop/etc/hadoop -
格式化hdfs分布式文件系统
#hadoop namenode -format
-
启动服务
[root@hadoop-1 hadoop]# start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
Starting namenodes on [hadoop-1]
hadoop-1: starting namenode, logging to /soft/hadoop-2.7.3/logs/hadoop-root-namenode-hadoop-1.out
hadoop-2: starting datanode, logging to /soft/hadoop-2.7.3/logs/hadoop-root-datanode-hadoop-2.out
hadoop-3: starting datanode, logging to /soft/hadoop-2.7.3/logs/hadoop-root-datanode-hadoop-3.out
hadoop-4: starting datanode, logging to /soft/hadoop-2.7.3/logs/hadoop-root-datanode-hadoop-4.out
hadoop-5: starting datanode, logging to /soft/hadoop-2.7.3/logs/hadoop-root-datanode-hadoop-5.out
Starting secondary namenodes [hadoop-2]
hadoop-2: starting secondarynamenode, logging to /soft/hadoop-2.7.3/logs/hadoop-root-secondarynamenode-hadoop-2.out
starting yarn daemons
starting resourcemanager, logging to /soft/hadoop-2.7.3/logs/yarn-root-resourcemanager-hadoop-1.out
hadoop-3: starting nodemanager, logging to /soft/hadoop-2.7.3/logs/yarn-root-nodemanager-hadoop-3.out
hadoop-4: starting nodemanager, logging to /soft/hadoop-2.7.3/logs/yarn-root-nodemanager-hadoop-4.out
hadoop-2: starting nodemanager, logging to /soft/hadoop-2.7.3/logs/yarn-root-nodemanager-hadoop-2.out
hadoop-5: starting nodemanager, logging to /soft/hadoop-2.7.3/logs/yarn-root-nodemanager-hadoop-5.out -
查看服务运行状态
[root@hadoop-1 hadoop]# jps
16358 ResourceManager
12807 NodeManager
16011 NameNode
16204 SecondaryNameNode
16623 Jps hadoop-5 | SUCCESS | rc=0 >>
16993 NodeManager
16884 DataNode
17205 Jps hadoop-1 | SUCCESS | rc=0 >>
28520 ResourceManager
28235 NameNode
29003 Jps hadoop-2 | SUCCESS | rc=0 >>
17780 Jps
17349 DataNode
17529 NodeManager
17453 SecondaryNameNode hadoop-4 | SUCCESS | rc=0 >>
17105 Jps
16875 NodeManager
16766 DataNode hadoop-3 | SUCCESS | rc=0 >>
16769 DataNode
17121 Jps
16878 NodeManager -
登陆WEB查看
2. 完全分布式单词统计
-
通过hadoop自带的demo运行单词统计
#mkdir /input
#cd /input/
#echo "hello world" > file1.txt
#echo "hello world" > file2.txt
#echo "hello world" > file3.txt
#echo "hello hadoop" > file4.txt
#echo "hello hadoop" > file5.txt
#echo "hello mapreduce" > file6.txt
#echo "hello mapreduce" > file7.txt
#hadoop dfs -mkdir /input
#hdfs dfs -ls /
#hadoop fs -ls /
#hadoop fs -put /input/* /input
#hadoop fs -ls /input -
开始统计
[root@hadoop-1 ~]# hadoop jar /soft/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /input/ /output
17/05/14 23:01:07 INFO client.RMProxy: Connecting to ResourceManager at hadoop-1/10.31.133.19:8032
17/05/14 23:01:09 INFO input.FileInputFormat: Total input paths to process : 7
17/05/14 23:01:10 INFO mapreduce.JobSubmitter: number of splits:7
17/05/14 23:01:10 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1494773207391_0001
17/05/14 23:01:10 INFO impl.YarnClientImpl: Submitted application application_1494773207391_0001
17/05/14 23:01:11 INFO mapreduce.Job: The url to track the job: http://hadoop-1:8088/proxy/application_1494773207391_0001/
17/05/14 23:01:11 INFO mapreduce.Job: Running job: job_1494773207391_0001
17/05/14 23:01:23 INFO mapreduce.Job: Job job_1494773207391_0001 running in uber mode : false
17/05/14 23:01:23 INFO mapreduce.Job: map 0% reduce 0%
17/05/14 23:01:56 INFO mapreduce.Job: map 43% reduce 0%
17/05/14 23:01:57 INFO mapreduce.Job: map 100% reduce 0%
17/05/14 23:02:04 INFO mapreduce.Job: map 100% reduce 100%
17/05/14 23:02:05 INFO mapreduce.Job: Job job_1494773207391_0001 completed successfully
17/05/14 23:02:05 INFO mapreduce.Job: Counters: 50
File System Counters
FILE: Number of bytes read=184
FILE: Number of bytes written=949365
FILE: Number of read operations=0
FILE: Number of large read operations=0
FILE: Number of write operations=0
HDFS: Number of bytes read=801
HDFS: Number of bytes written=37
HDFS: Number of read operations=24
HDFS: Number of large read operations=0
HDFS: Number of write operations=2
Job Counters
Killed map tasks=1
Launched map tasks=7
Launched reduce tasks=1
Data-local map tasks=7
Total time spent by all maps in occupied slots (ms)=216289
Total time spent by all reduces in occupied slots (ms)=4827
Total time spent by all map tasks (ms)=216289
Total time spent by all reduce tasks (ms)=4827
Total vcore-milliseconds taken by all map tasks=216289
Total vcore-milliseconds taken by all reduce tasks=4827
Total megabyte-milliseconds taken by all map tasks=221479936
Total megabyte-milliseconds taken by all reduce tasks=4942848
Map-Reduce Framework
Map input records=7
Map output records=14
Map output bytes=150
Map output materialized bytes=220
Input split bytes=707
Combine input records=14
Combine output records=14
Reduce input groups=4
Reduce shuffle bytes=220
Reduce input records=14
Reduce output records=4
Spilled Records=28
Shuffled Maps =7
Failed Shuffles=0
Merged Map outputs=7
GC time elapsed (ms)=3616
CPU time spent (ms)=3970
Physical memory (bytes) snapshot=1528823808
Virtual memory (bytes) snapshot=16635846656
Total committed heap usage (bytes)=977825792
Shuffle Errors
BAD_ID=0
CONNECTION=0
IO_ERROR=0
WRONG_LENGTH=0
WRONG_MAP=0
WRONG_REDUCE=0
File Input Format Counters
Bytes Read=94
File Output Format Counters
Bytes Written=37 -
查看
[root@hadoop-1 ~]# hadoop fs -ls /out/put
Found 2 items
-rw-r--r-- 3 root supergroup 0 2017-05-14 23:02 /out/put/_SUCCESS
-rw-r--r-- 3 root supergroup 37 2017-05-14 23:02 /out/put/part-r-00000
[root@hadoop-1 ~]# hadoop fs -cat /out/put/part-r-00000
hadoop 2
hello 7
mapreduce 2
world 3
[root@hadoop-1 ~]#