配置环境
本文以centos7 64 位虚拟机 1台主节点2G 2核心,3台slave 1G 1核 其中一台充当主备secondaryNamenode
jdk1.8
hadoop2.8集群环境搭建
hadoop的环境搭建其实就是hdfs,yarn的相关集群配置。
hdfs需要namenode(master)和多个dataNode(slave),另外最好用一个物理分开的secondarynamenode用于备份namenode(namenode一挂或数据丢失后果很严重)
yarn需要resourceManager(master)和若干nodeManager(slave)
开始之前先配置环境变量/etc/profile中加入
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP/lib/native
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
#记得 source /etc/profile,hadoop的根目录以$HADOOP表示
hosts域名相关配置如下
eds2 192.168.10.102 # nameNode resourceManager角色
eds3 192.168.10.103 #secondaryNamenode nodeManager角色
eds4 192.168.10.104 $dataNode nodeManager角色
eds5 192.168.10.105 # datanode nodeManager角色
首先建立目录
$HADOOP_HOME/hdfs/data # hdfs文件目录
$HADOOP_HOME/hdfs/node #node相关数据
$HADOOP_HOME/tmp # 临时目录
配置文件在$HADOOP_HOME/etc/hadoop/下主要包含配置
hadoop-env.sh core-site.xml hdfs-site.xml mapred-site.xml slaves yarn-site.xml 这几个文件的修改。
hadoop-env.sh
在开头配置 export JAVA_HOME=具体的javahome目录
core-site.xml
hdfs-site.xml
mapred-site.xml
slaves
该文件配置slave相关信息,换行分割
eds3
eds4
eds5
yarn-site.xml
将这些文件配置好后,分别使用scp 命令将他们复制到各个节点
测试与启动
在namenode节点下先格式化下,cd到$HADOOP_HOME/bin/执行 ./hadoop namenode -format
如果成功在最后会打印相关 shutting down NameNode at ...ip?相关信息
格式化好后,开始启动集群cd到$HADOOP_HOME/sbin下执行./start-all.sh 启动hdfs,yarn等
在这个目录下有相关start/stop hdfs/yarn 相关脚本
#jps 可以查看启动的进程
http://eds2:50070 查看hdfs web页
http://eds2:8088/cluster 查看任务相关web页
hdfs集群启动好后,可以像操作linux文件系统一样操作 基本的前缀加相关命令 例如
#hadoop fs -ls / #查看ls / 目录
#hadoop fs -put ./test.log / #将当前目录的test.log文件上传到/下