Hadoop2.6.5分布式集群搭建和测试
vmware虚拟机环境:
192.168.60.128 master 192.168.60.129 node129 192.168.60.130 node130
1、修改每台虚拟机的/etc/sysconfig/network和/etc/hosts
#修改hostname:vim /etc/sysconfig/network
#修改hosts内容如下:vim /etc/hosts
192.168.60.128 master 192.168.60.129 node129 192.168.60.130 node130
2、配置三台机器互信(以128机器为例):
2.1 ssh-keygen -t rsa2.2 ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] 剩下的每台机器上都要重复上面的操作
3.安装jdk和配置环境变量
分别在每台主机上安装jdk,并配置环境变量。(嫌麻烦的前面可以安装完jdk后再克隆)
1)下载jdk安装包(自行百度),并将安装包拖入到虚拟机当中
2)通过cd命令进入到安装包的当前目录,利用如下命令进行解压缩。
tar -zxvf jdk.....(安装包名称)
3)利用如下命令将解压后的文件夹移到/usr目录下
#注意,这样移动到/usr以后就没有jdk1.8...这个目录了,是将这个目录下的所有文件全部移动到/usr/java下,mv jdk1.8...(文件夹名称) /usr/java
4)配置环境变量
sudo vim /etc/profile
在末尾加上四行:
#java
export JAVA_HOME=/usr/java
export JRE_HOME=/usr/java/jre
export CLASSPATH=$JAVA_HOME/lib
export PATH=:$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
输入如下命令使配置生效:source /etc/profile
4.master配置hadoop,然后将master的hadoop文件传送给node节点
1)解包移动
#解压hadoop包 tar -zxvf hadoop... #将安装包移到/home/hadoop目录下 mv hadoop... /home/hadoop/hadoop
2)新建文件夹
#在/home/hadoop目录下新建如下目录 mkdir dfs mkdir dfs/name mkdir dfs/data mkdir tmp
修改JAVA_HOME值(export JAVA_HOME=/usr/java)
4)配置文件:yarn-env.sh
修改JAVA_HOME值(export JAVA_HOME=/usr/java)
5)配置文件:slaves
将内容修改为:
node129node130
6)配置文件:core-site.xml
<configuration>
<property>
<name>fs.defaultFSname>
<value>hdfs://master:9000value>
property>
<property>
<name>io.file.buffer.sizename>
<value>131072value>
property>
<property>
<name>hadoop.tmp.dirname>
<value>file:/home/hadoop/tmpvalue>
<description>Abase for other temporary directories.description>
property>
configuration>
7)配置文件:hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-addressname>
<value>master:9001value>
property>
<property>
<name>dfs.namenode.name.dirname>
<value>file:/home/hadoop/dfs/namevalue>
property>
<property>
<name>dfs.datanode.data.dirname>
<value>file:/home/hadoop/dfs/datavalue>
property>
<property>
<name>dfs.replicationname>
<value>2value>
property>
<property>
<name>dfs.webhdfs.enabledname>
<value>truevalue>
property>
configuration>
8)配置文件:mapred-site.xml
先创建然后编辑
cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
<property>
<name>mapreduce.jobhistory.addressname>
<value>master:10020value>
property>
<property>
<name>mapreduce.jobhistory.webapp.addressname>
<value>master:19888value>
property>
configuration>
9)配置文件:yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.classname>
<value>org.apache.hadoop.mapred.ShuffleHandlervalue>
property>
<property>
<name>yarn.resourcemanager.addressname>
<value>master:8032value>
property>
<property>
<name>yarn.resourcemanager.scheduler.addressname>
<value>master:8030value>
property>
<property>
<name>yarn.resourcemanager.resource-tracker.addressname>
<value>master:8031value>
property>
<property>
<name>yarn.resourcemanager.admin.addressname>
<value>master:8033value>
property>
<property>
<name>yarn.resourcemanager.webapp.addressname>
<value>master:8088value>
property>
configuration>
10)将hadoop传输到node129和node130 /home/hadoop目录
scp -r /home/hadoop/hadoop hadoop@node129:/home/hadoop scp -r /home/hadoop/hadoop hadoop@node130:/home/hadoop
5、配置环境变量,并启动hadoop,检查是否安装成功
1)配置环境变量
#编辑/etc/profilesudo vim /etc/profile#以上已经添加过java的环境变量,在后边添加就可以export HADOOP_HOME=/home/hadoop/hadoopexport PATH=$PATH:$HADOOP_HOME/sbinexport PATH=$PATH:$HADOOP_HOME/bin
执行
source /etc/profile
使文件生效。
2)启动hadoop,进入hadoop安装目录
bin/hdfs namenode -formatsbin/start-all.sh
3)启动后分别在master, node下输入jps查看进程
看到下面的结果,则表示成功。
Master:
node:
6.向hadoop集群系统提交第一个mapreduce任务(wordcount)
1、 hdfs dfs -mkdir -p /data/input在虚拟分布式文件系统上创建一个测试目录/data/input
2、 hdfs dfs -put README.txt /data/input 将当前目录下的README.txt 文件复制到虚拟分布式文件系统中
3、 hdfs dfs-ls /data/input 查看文件系统中是否存在我们所复制的文件
4、 运行如下命令向hadoop提交单词统计任务
进入jar文件目录,执行下面的指令。
hadoop jar /home/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /data/input /data/output/result
查看result,结果在result下面的part-r-00000中
hdfs dfs -cat /data/output/result/part-r-00000
自此,hadoop集群搭建成功!