虚拟机伪分布式安装hadoop的配置
1. java -> jdk-7u67-linux-x64.tar.gz
2. hadoop -> hadoop-2.5.0.tar.gz
3. IP/host -> 192.168.47.100/bigdata.001.com
4. CentOS -> 6.73
1
1. java -> jdk-7u67-linux-x64.tar.gz2
2. hadoop -> hadoop-2.5.0.tar.gz3
3. IP/host -> 192.168.47.100/bigdata.001.com4
4. CentOS -> 6.7- 设置IP。
虚拟机 -> 编辑 -> 虚拟网络编辑器。
- 虚拟机必须NAT模式。在虚拟机设置界面去设置。
- 本虚拟机的IP的网段,本虚拟机可以设置本IP网段的任意地址。 192.168.47.XXX(000, 2这两个地址不可以)

3. /etc/sysconfig/network-scripts/ifcfg-XXX 在该文件中设置IP地址 ![]()

- hostname的配置
1. 在/etc/hosts 添加本机的IP与对应的域名

2. 配置HOSTNAME

3. 重启,并将 192.168.47.105 bigdata.001.com

4. 可以使用 ping 命令来 ping 通虚拟机与实体机。
- 环境配置
禁用selinux
vi /etc/sysconfig/selinux
SELINUX=disabled
关闭防火墙
看状态service iptables status
设置关闭service iptables stop
自启关闭chkconfig iptables off8
1
禁用selinux2
vi /etc/sysconfig/selinux3
SELINUX=disabled4
5
关闭防火墙6
看状态service iptables status7
设置关闭service iptables stop8
自启关闭chkconfig iptables off- 安装Oracle的JDK
查看自带的JDK
rpm -qa | grep java
卸载自带的JDK
rpm -e --nodeps 卸载内容(卸载多文件使用空格)
解压JDK
tar -zxf jdk-7u67-linux-x64.tar.gz -C /opt/moduels/
配置java环境
vi /etc/profile
##JAVA_HOME
export JAVA_HOME=/opt/moduels/jdk1.7.0_67
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
java -version18
1
查看自带的JDK2
rpm -qa | grep java3
卸载自带的JDK4
rpm -e --nodeps 卸载内容(卸载多文件使用空格)5
6
解压JDK7
tar -zxf jdk-7u67-linux-x64.tar.gz -C /opt/moduels/8
9
配置java环境10
vi /etc/profile11
12
##JAVA_HOME13
export JAVA_HOME=/opt/moduels/jdk1.7.0_6714
export PATH=$JAVA_HOME/bin:$PATH15
16
source /etc/profile17
18
java -version- Hadoop配置 --- HDFS
解压Hadoop
tar -zxf hadoop-2.5.0.tar.gz -C /opt/moduels/
可清理文档: hadoop-2.5.0/share/doc目录
确保环境正确;
路径:/opt/moduels/hadoop-2.5.0
命令:bin/hadoop
Hadoop指定的java安装路径
etc/hadoop/hadoop-env.sh
//虽然官方文档没有写,但是同目录下mapred-env.sh和yarn-env.sh也做相同修改
export JAVA_HOME=/opt/moduels/jdk1.7.0_67
Hadoop三种运行模式
本地单机模式:使用本地文件系统
伪分布式模式:HDFS文件系统
完全分布式模式:HDFS文件系统(真实集群)
修改 etc/hadoop/core-site.xml
//默认文件系统访问入口,1.x系列端口号为9000
//hadoop.tmp.dir为hadoop系统生成文件的临时目录
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata.001.com:8020</value><!--可以用IP来代替主机名-->
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/moduels/hadoop-2.5.0/data/tmp</value>
</property>
</configuration>
修改 hdfs-site.xml
//修改副本数量
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
修改slaves, 配置本机的主机名
//从节点机器位置主机名
bigdata.001.com
格式化namenode
命令:bin/hdfs namenode -format
查看结果:data/tmp文件夹生成文件
//只能格式化一次,如果有需求,将tmp文件夹下内容删除再格式化
//多次格式化会导致集群ID不一致,手动修改集群ID也可以修复多次格式化问题
可以通过下列两个路径下的文件进行对比
/opt/app/hadoop-2.5.0/data/tmp/dfs/data/current
/opt/moduels/hadoop-2.5.0/data/tmp/dfs/name/current
启动 namenode和datanode
命令:
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
验证:
使用jps查看
浏览器界面
http://bigdata.001.com:50070/
http://192.168.47.105:50070/
使用命令
/user/root 是hadoop 内部创建的一个根目录地址,可以在浏览器上看到
创建: bin/hdfs dfs -mkdir -p /user/root/lee
上传: bin/hdfs dfs -put etc/hadoop/core-site.xml /user/root/lee
读取: bin/hdfs dfs -text /user/root/lee/core-site.xml
下载: bin/hdfs dfs -get /user/root/lee/core-site.xml /home/cniao/core-site.xml
启动 SecondaryNameNode
//文件操作记录会进行存储为编辑日志edits文件
//namenode格式化之后生成镜像文件,namenode启动时会读取镜像文件
//SecondaryNameNode用于合并这两个文件,减少namenode启动时间
文件地址:hadoop-2.5.0/data/tmp/dfs/name/current
流程:SecondaryNameNode读取两种文件 -> 合并为fsimage文件 -> 生成新的edits文件
修改hdfs-site.xml文件,指定secondarynamenode机器位置和交互端口号:50090
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>192.168.47.105:50090</value>
</property>
启动:sbin/hadoop-daemon.sh start secondarynamenode
检验:jps
外部访问界面:http://lee.cniao5.com:50090
//无法防止数据丢失,后续会介绍95
1
解压Hadoop2
tar -zxf hadoop-2.5.0.tar.gz -C /opt/moduels/3
4
可清理文档: hadoop-2.5.0/share/doc目录5
6
确保环境正确;7
路径:/opt/moduels/hadoop-2.5.08
命令:bin/hadoop9
10
11
Hadoop指定的java安装路径12
etc/hadoop/hadoop-env.sh13
//虽然官方文档没有写,但是同目录下mapred-env.sh和yarn-env.sh也做相同修改14
export JAVA_HOME=/opt/moduels/jdk1.7.0_6715
16
Hadoop三种运行模式17
本地单机模式:使用本地文件系统18
伪分布式模式:HDFS文件系统19
完全分布式模式:HDFS文件系统(真实集群)20
21
修改 etc/hadoop/core-site.xml22
//默认文件系统访问入口,1.x系列端口号为900023
//hadoop.tmp.dir为hadoop系统生成文件的临时目录24
25
<configuration>26
<property>27
<name>fs.defaultFS</name>28
<value>hdfs://bigdata.001.com:8020</value><!--可以用IP来代替主机名-->29
</property>30
<property>31
<name>hadoop.tmp.dir</name>32
<value>/opt/moduels/hadoop-2.5.0/data/tmp</value>33
</property>34
</configuration>35
36
37
修改 hdfs-site.xml38
//修改副本数量39
<configuration>40
<property>41
<name>dfs.replication</name>42
<value>1</value>43
</property>44
</configuration>45
46
修改slaves, 配置本机的主机名47
//从节点机器位置主机名48
bigdata.001.com49
50
格式化namenode51
命令:bin/hdfs namenode -format52
查看结果:data/tmp文件夹生成文件53
//只能格式化一次,如果有需求,将tmp文件夹下内容删除再格式化 54
//多次格式化会导致集群ID不一致,手动修改集群ID也可以修复多次格式化问题55
可以通过下列两个路径下的文件进行对比56
/opt/app/hadoop-2.5.0/data/tmp/dfs/data/current57
/opt/moduels/hadoop-2.5.0/data/tmp/dfs/name/current58
59
60
启动 namenode和datanode61
命令:62
sbin/hadoop-daemon.sh start namenode 63
sbin/hadoop-daemon.sh start datanode64
验证:65
使用jps查看66
67
浏览器界面68
http://bigdata.001.com:50070/69
http://192.168.47.105:50070/70
71
72
73
使用命令74
/user/root 是hadoop 内部创建的一个根目录地址,可以在浏览器上看到75
创建: bin/hdfs dfs -mkdir -p /user/root/lee76
上传: bin/hdfs dfs -put etc/hadoop/core-site.xml /user/root/lee77
读取: bin/hdfs dfs -text /user/root/lee/core-site.xml78
下载: bin/hdfs dfs -get /user/root/lee/core-site.xml /home/cniao/core-site.xml 79
80
启动 SecondaryNameNode81
//文件操作记录会进行存储为编辑日志edits文件82
//namenode格式化之后生成镜像文件,namenode启动时会读取镜像文件83
//SecondaryNameNode用于合并这两个文件,减少namenode启动时间84
文件地址:hadoop-2.5.0/data/tmp/dfs/name/current85
流程:SecondaryNameNode读取两种文件 -> 合并为fsimage文件 -> 生成新的edits文件 86
87
修改hdfs-site.xml文件,指定secondarynamenode机器位置和交互端口号:5009088
<property>89
<name>dfs.namenode.secondary.http-address</name>90
<value>192.168.47.105:50090</value>91
</property>92
启动:sbin/hadoop-daemon.sh start secondarynamenode93
检验:jps94
外部访问界面:http://lee.cniao5.com:5009095
//无法防止数据丢失,后续会介绍- Hadoop配置——YARN与MapReduce
修改mapred-site.xml.template //.template表示不生效
删除.template
mv mapred-site.xml.template mapred-site.xml
修改mapred-site.xml
//使MapReduce运行YARN上面
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
修改yarn-site.xml
//MapReduce运行服务
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
//resourcemanager默认为启动的机器
//伪分布式可以不进行配置,配置一般使用主机名
<property>
<name>yarn.resourcemanager.hostname</name>
<value>192.168.47.105</value>
</property>
启动YARN
命令:
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
//MapReduce不需要启动
//使用jps查看
外部管理界面
192.168.47.105:8088
MapReduce历史服务器
修改mapred-site.xml
//内部交互地址
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.47.105:10020</value>
</property>
//外部交互地址
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.47.105:19888</value>
</property>
启动:sbin/mr-jobhistory-daemon.sh start historyserver
检验:jps
//历史服务器需要重启HDFS与YARN
58
1
修改mapred-site.xml.template //.template表示不生效2
删除.template3
mv mapred-site.xml.template mapred-site.xml4
5
修改mapred-site.xml6
//使MapReduce运行YARN上面7
<configuration>8
<property>9
<name>mapreduce.framework.name</name>10
<value>yarn</value>11
</property>12
</configuration>13
14
15
16
修改yarn-site.xml17
//MapReduce运行服务18
<configuration>19
<!-- Site specific YARN configuration properties -->20
<property>21
<name>yarn.nodemanager.aux-services</name>22
<value>mapreduce_shuffle</value>23
</property>24
</configuration>25
26
//resourcemanager默认为启动的机器27
//伪分布式可以不进行配置,配置一般使用主机名28
<property>29
<name>yarn.resourcemanager.hostname</name>30
<value>192.168.47.105</value>31
</property>32
33
启动YARN34
命令:35
sbin/yarn-daemon.sh start resourcemanager36
sbin/yarn-daemon.sh start nodemanager 37
//MapReduce不需要启动38
//使用jps查看39
40
外部管理界面41
192.168.47.105:808842
43
MapReduce历史服务器44
修改mapred-site.xml45
//内部交互地址46
<property>47
<name>mapreduce.jobhistory.address</name>48
<value>192.168.47.105:10020</value>49
</property>50
//外部交互地址51
<property>52
<name>mapreduce.jobhistory.webapp.address</name>53
<value>192.168.47.105:19888</value>54
</property>55
启动:sbin/mr-jobhistory-daemon.sh start historyserver56
检验:jps57
//历史服务器需要重启HDFS与YARN58
- 检验
使用单词统计进行检验
创建input文件夹 bin/hdfs dfs -mkdir -p mapreduce/input
上传统计文件 bin/hdfs dfs -put /opt/datas/file.input /user/root/mapreduce/input
//输出目录不需要提前存在,任务运行完自动创建,防止任务结果覆盖
//在yarn运行job时候都必须要打jar包
单词统计命令
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/root/mapreduce/input /user/root/mapreduce/output
查看结果
//_SUCCESS表示成功 结果在part-r-00000
bin/hdfs dfs -text /user/root/mapreduce/output/part-r-0000014
1
使用单词统计进行检验2
创建input文件夹 bin/hdfs dfs -mkdir -p mapreduce/input3
上传统计文件 bin/hdfs dfs -put /opt/datas/file.input /user/root/mapreduce/input4
5
//输出目录不需要提前存在,任务运行完自动创建,防止任务结果覆盖6
7
//在yarn运行job时候都必须要打jar包8
9
单词统计命令 10
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/root/mapreduce/input /user/root/mapreduce/output11
12
查看结果13
//_SUCCESS表示成功 结果在part-r-0000014
bin/hdfs dfs -text /user/root/mapreduce/output/part-r-00000- 常见问题
集群ID不一致
删除data/tmp,重新格式化
进程启动失败
这个问题需要分析log,log位置/logs
尽量用IP来代替主机名7
1
集群ID不一致2
删除data/tmp,重新格式化3
4
进程启动失败5
这个问题需要分析log,log位置/logs6
7
尽量用IP来代替主机名- 使用到的命令
ervice iptables stop
chkconfig iptables off
rpm -qa | grep java
rpm -e --nodeps
tar -zxf jdk-7u67-linux-x64.tar.gz -C /opt/moduels/
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
bin/hdfs dfs -mkdir -p /user/root/lee
bin/hdfs dfs -put etc/hadoop/core-site.xml /user/root/lee
bin/hdfs dfs -text /user/root/lee/core-site.xml
bin/hdfs dfs -get /user/root/lee/core-site.xml /home/cniao/core-site.xml
sbin/hadoop-daemon.sh start secondarynamenode
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
sbin/mr-jobhistory-daemon.sh start historyserver
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/root/mapreduce/input /user/root/mapreduce/output
bin/hdfs dfs -text /user/root/mapreduce/output/part-r-0000017
1
ervice iptables stop2
chkconfig iptables off3
rpm -qa | grep java4
rpm -e --nodeps5
tar -zxf jdk-7u67-linux-x64.tar.gz -C /opt/moduels/6
sbin/hadoop-daemon.sh start namenode 7
sbin/hadoop-daemon.sh start datanode8
bin/hdfs dfs -mkdir -p /user/root/lee9
bin/hdfs dfs -put etc/hadoop/core-site.xml /user/root/lee10
bin/hdfs dfs -text /user/root/lee/core-site.xml11
bin/hdfs dfs -get /user/root/lee/core-site.xml /home/cniao/core-site.xml12
sbin/hadoop-daemon.sh start secondarynamenode13
sbin/yarn-daemon.sh start resourcemanager14
sbin/yarn-daemon.sh start nodemanager15
sbin/mr-jobhistory-daemon.sh start historyserver16
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/root/mapreduce/input /user/root/mapreduce/output17
bin/hdfs dfs -text /user/root/mapreduce/output/part-r-00000
浙公网安备 33010602011771号