首页 > 代码库 > hadoop安装
hadoop安装
cluster setup, 参考官方安装文档,这里仅作记录。
准备三台机器,作为三个节点,假设ip为192.168.1.11, 192.168.1.12,192.168.1.13,192.168.1.14,以下仅使用ip末尾数表示节点编号
下载hadoop安装文件,并解压为hadoop-2.8.0
通常来说,使用一个节点作为NameNode,使用另一个节点作为ResourceManager,这两个节点都为masters,其余节点为DateNode和NodeManager,即,slaves
配置
有两类重要的配置文件
只读default配置:core-default.xml, hdfs-default.xml, yarn-default.xml and mapred-default.xml (当然这些文件我现在还没找到在哪里 -_-!)
site-specific配置:etc/hadoop/core-site.xml, etc/hadoop/hdfs-site.xml, etc/hadoop/yarn-site.xml and etc/hadoop/mapred-site.xml
HDFS守护进程(Daemons)是NameNode,SecondaryNameNode以及DataNode, YARN守护进程是ResourceManager,NodeManager以及WebAppProxy,如果还使用了MapReduce,那么MapReduce Job History Server 也需要运行。如果安装大型集群,这些都需要安装在不同的hosts中
使用Hadoop守护进程配置环境(Environment)
一些环境变量的配置参见官方说明
通常习惯在/etc/profile.d目录下新建一个文件比如hadoop.sh,在其他添加如下内容
export HADOOP_HOME=/root/hadoop-2.8.0 export PATH=$HADOOP_HOME/bin:$PATH
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
配置hadoop守护进程
配置etc/hadoop/core-site.xml文件:
<configuration>
<configuration>
<property>
<name>fs.defaultFS</name> <value>hdfs://192.168.10.14:11111</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/root/hadoop-2.8.0/tmp</value> </property> </configuration>
其中,fs.defaultFS指明文件系统的访问入口,让所有DataNode知道NameNode的所在
配置etc/hadoop/hdfs-site.xml:
<configuration>
<!-- for namenode --> <property> <name>dfs.namenode.secondary.http-address</name> <value>192.168.1.11:50090</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/root/hadoop-2.8.0/hdfs/name</value> </property>
<!-- for datanode --> <property> <name>dfs.datanode.data.dir</name> <value>/root/hadoop-2.8.0/hdfs/data</value> </property> </configuration>
配置etc/hadoop/yarn-site.xml
<configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.acl.enable</name> <value>true</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>192.168.10.14:8032</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>192.168.10.14:8088</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>192.168.10.14:8033</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>192.168.10.14:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>192.168.10.14:8031</value> </property> <property> <name>yarn.resourcemanager.aux-services</name> <value>mapreduce-shuffle</value> </property> <property> <name>yarn.resourcemanager.rm.container-allocation.expiry-interval-ms</name> <value>100000000</value> </property> </configuration>
配置etc/hadoop/mapred-site.xml:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>192.168.10.14:10030</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>192.168.10.14:19899</value> </property> <property> <name>mapreduce.jobhistory.intermediate-done-dir</name> <value>/root/hadoop-2.8.0/hdfs/mr-history/tmp</value> </property> <property> <name>mapreduce.jobhistory.done-dir</name> <value>/root/hadoop-2.8.0/hdfs/mr-history/done</value> </property> </configuration>
根据以上配置,创建相应的目录,如下
mkdir /root/hadoop-2.8.0/tmp
mkdir /root/hadoop-2.8.0/hdfs cd /root/hadoop-2.8.0/hdfs mkdir name data mr-history cd mr-history mkdir tmp done
配置etc/hadoop/slaves文件
在slaves中添加如下内容
192.168.1.12 192.168.1.13
每一行为一个slave节点IP
配置好之后,将/root/hadoop-2.8.0目录以及内部文件和子目录copy到集群的其他节点上,保持路径不变
scp -r $HADOOP_HOME root@192.168.1.11:/root/
hadoop startup
需要分别启动HDFS和YARN集群
第一次启动HDFS需要格式化,使用如下命令
$HADOOP_HOME/bin/hdfs namenode -format cluster_v0
其中cluster_v0为集群名称
配置ssh信任访问(无密码访问)
启动HDFS
$HADOOP_HOME/sbin/start-dfs.sh
启动YARN
$HADOOP_HOME/sbin/start-yarn.sh
或者使用下面这个命令同时执行以上两条命令
$HADOOP_HOME/sbin/start-all.sh
关闭hadoop可使用如下命令
$HADOOP_HOME/sbin/stop-dfs.sh $HADOOP_HOME/sbin/stop-yarn.sh or just $HADOOP_HOME/sbin/stop-all.sh
hadoop安装