centos单机部署hadoop伪集群


简介

Hadoop能在单台机器上以伪分布式模式运行,即每一个Hadoop模块运行在单独的java进程里 node

版本

centos:5.8 apache

hadoop:2.2.0 vim

建立hadoop用户

不是必须的,但从安全和运维的角度,建议隔离在一个专门的用户下 centos

 
  1. sudo groupadd hadoop
  2. sudo useradd -g hadoop hadoop
  3. sudo passwd hadoop

切换到hadoop用户: 安全

su hadoop bash

设置SSH无密码登录localhost

 
  1. ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
  2. cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

测试: 运维

ssh localhost ssh

若是不用输入密码,则设置成功 maven

若是仍然须要输入密码,能够参考本站另外一篇博文《ssh无密码登录》,修改相应文件夹的权限

下载hadoop

官网下载hadoop-2.2.0.tar.gz

tar -xvzf hadoop-2.2.0.tar.gz -C /var/

cd /var/hadoop-2.2.0/

设置环境变量

$ vim ~/.bashrc

添加:
export HADOOP_PREFIX=/var/hadoop-2.2.0
export HADOOP_COMMON_HOME=$HADOOP_PREFIX
export HADOOP_HDFS_HOME=$HADOOP_PREFIX
export HADOOP_MAPRED_HOME=$HADOOP_PREFIX
export HADOOP_YARN_HOME=$HADOOP_PREFIX
export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop
export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin

配置hadoop

hadoop配置文件默认在安装目录的etc/hadoop文件夹下面

配置hadoop-env.sh

vim hadoop-env.sh

主要是配置JAVA_HOME,设置正确的JDK位置

配置HDFS

vim core-site.xml

 
  1. <configuration>
  2. <property>
  3. <name>fs.defaultFS</name>
  4. <value>hdfs://localhost</value>
  5. </property>
  6. </configuration>

vim hdfs-site.xml

 
  1. <configuration>
  2. <property>
  3. <name>dfs.datanode.data.dir</name>
  4. <value>file:///home/hadoop/hdfs/datanode</value>
  5. </property>
  6. <property>
  7. <name>dfs.namenode.name.dir</name>
  8. <value>file:///home/hadoop/hdfs/namenode</value>
  9. </property>
  10. <property>
  11. <name>dfs.namenode.checkpoint.dir</name>
  12. <value>file:///home/hadoop/hdfs/namesecondary</value>
  13. </property>
  14. <property>
  15. <name>dfs.replication</name>
  16. <value>1</value>
  17. </property>
  18. </configuration>

hadoop会自动建立相应的目录

yarn-site.xml

添加:

 
  1. <property>
  2. <name>yarn.nodemanager.aux-services</name>
  3. <value>mapreduce_shuffle</value>
  4. </property>

mv mapred-site.xml.template mapred-site.xml

vim mapred-site.xml

添加:

 
  1. <property>
  2. <name>mapreduce.framework.name</name>
  3. <value>yarn</value>
  4. </property>

测试hadoop

hdfs namenode -format

start-dfs.sh

start-yarn.sh

一些注意

若是使用maven引用hadoop的jar包方式,必定注意hadoop集群的版本,是1.0仍是2.0

不然会出现相似“Server IPC version 7 cannot communicate with client version 4”的错误

若是是hadoop1版本,在pom.xml下添加相似下面依赖:

<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>1.2.0</version>
</dependency>

注意的是这个依赖并不全,若是写mr任务或者写hdfs,还须要引入其余依赖

若是是hadoop2,添加相似下面依赖:

<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.4.0</version>
</dependency>

这个依赖基本会把因此相关jar包都包含了

相关文章
相关标签/搜索