查看是否安装成功
java -version配置好每台机子的免密通信,并能实现三台机子互相通信
下载hadoop地址:http://archive.apache.org/dist/hadoop/common/
# 下载后解压到指定目录 tar -zxvf hadoop-2.7.6.tar.gz -C /opt/apps配置hadoop环境变量
vim /etc/profile export HADOOP_HOME=/opt/apps/hadoop-2.7.6 export PATH=$PATH:$HADOOP_HOME/bin查看是否安装成功
source /etc/profile hadoop version首先,进入文件目录
cd /opt/apps/hadoop-2.7.6/etc/hadoop1、hadoop-env.sh:用来配置hadoop所需要的jdk的环境,是hadoop可以调用本机的jdk。 2、core-site.xml :里面的参数 fs.defaultFS,用来说明hadoop使用什么文件系统。 hadoop.tmp.dir,hadoop文件存储目录。 还有两个参数一般不做修改, fs.checkpoint.period,表示多长时间记录一次hdfs的镜像,默认是1小时。 fs.checkpoint.size,表示镜像文件快大小,默认64M。
3、hdfs-site.xml:用来指定namenode和datanode的存放目录,还有存放数据的副本数,一般默认为3。 4、mapred-site.xml:mapreduce的参数。 5、yarn-site.xml :集群资源管理系统参数。 6、slaves:需要启动datanode和nodemanager的虚拟机 修改内容如下:
hadoop-env.sh
vim hadoop-env.sh #设置JAVA环境core-site.xml
vim core-site.xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://slave1:9000</value> <description>指定HDFS的(NameNode)的地址</description> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/opt/apps/hadoop-2.7.6/dfs/tmp</value> <description>指定hadoop运行时产生文件的存储目录</description> </property> </configuration>hdfs-site.xml
vim hdfs-site.xml <configuration> <property> <name>dfs.replication</name> <value>3</value> <description>指定HDFS副本的数量</description> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/opt/apps/hadoop-2.7.6/dfs/name</value> <description>namenode的存储路径</description> </property> <property> <name>dfs.datenode.date.dir</name> <value>file:/opt/apps/hadoop-2.7.6/dfs/date</value> <description>指定datenode的路径</description> </property> </configuration>mapred-site.xml
mv mapred-site.xml.template mapred-site.xml vim mapred-site.xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>yarn-site.xml
vim yarn-site.xml <configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>slave1</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>slaves
vim slaves slave1 slave2 slave3这里三台机子都是这样的配置
首次启动时,只在slave1主节点格式化文件系统。执行完后可以看到在~/apps/hadoop-2.7.6/dfs/下面会自动生成一个叫name的文件夹
./bin/hdfs namenode -format方法1查看进程数据
在主节点上可以看到下面5个进程 NodeManager ResourceManager DataNode NameNode SecondaryNameNode 在从节点只有2个 DataNode NodeManager方法2 在浏览器访问console页面
访问hadoop页面: http://192.168.0.118:50070 访问yarn页面: http://192.168.0.118:8088注意事项: 如果DataNode没有启动,那就说明你可能原本DataNode的目录被使用过了,里面的对于NameNode的编号与现在的不一致。解决方法:如果DataNode文件夹里存在数据,那么你需要修改Current下的version,使其与DataNode上的保持一致。如果DataNode里面没有数据,是刚搭建的,那么可以先将HDFS关闭,然后删除DataNode文件夹,再次打开HDFS,这样的话,DataNode就会重新获取NameNode的信息,就可以连接上了。
查看是否上传成功
其中 wordcount为程序的主类名, /data 输入目录,/data /wordresult 输出目录,且输出目录不能存在,否则会报错.
通过管理界面查看效果: 可以看到成功输出到hdfs输出目录,yarm界面也记录这个Job成功运行
希望文章能对你有帮助