Hadoop 简单集群搭建

来源:互联网 发布:中国对外贸易数据图表 编辑:程序博客网 时间:2024/05/16 10:06

搭建三个节点的Hadoop环境。

理论上讲,Namenode 和JobTracker都是master节点,分布在不同的机器上。我们这里把两个java的进程放在同一台机器上。然后搭建两个slave机器,每个机器上都作为Datanode和TaskTracker.

1. 准备:

都需要安装Linux的发行版本,一台机器作为master节点,两外两个机器作为slave节点。

修改3台机器的/etc/hosts,让彼此的主机名称和ip都能顺利解析。

如果系统中安装有交换机,在一个子网下已经可以ping通,就不需要配置。我的集群就是这样的情况。配置完后用ping命令检查是否可以通过主机名访问各机器。

2. 安装java环境:

三台机器统一安装java环境,配置环境变量。我的java安装在/usr/java/下,环境变量如下:

JAVA_HOME=/usr/java/jdk1.6.0_34/CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarPATH=$JAVA_HOME/bin:$PATHexport JAVA_HOMEexport PATHexport CLASSPATH

3.新建一个用户组和用户,专门用来做hadoop测试,命令根据linux的版本不同而定,下面的代码是ubuntu

sudo addgroup hadoopsudo adduser --ingroup hadoop hadoopsudo usermod -aG admin hadoop

4.下载hadoop-1.0.4,这个是个稳定的版本。

将其解压在/home/hadoop下,这里可以解压在别的地方,视你的情况而定。但是放在别的地方可能有访问权限的问题

配置hadoop环境变量:

HADOOP_HOME=/home/hadoop/hadoop-1.0.4HADOOP_CONF_DIR=$HADOOP_HOME/confHADOOP_LOG_DIR=/home/hadoop/hadoop-1.0.4/logsPATH=$PATH:$HADOOP_HOME/binexport HADOOP_HOMEexport HADOOP_CONF_DIRexport HADOOP_LOG_DIRexport PATH


以下内容现在master节点上面做

5.安装ssh,并生成公钥和私钥,运行:

ssh-keygen -t rsa

在/home/hadoop/.ssh下生成两个文件, id_rsa   id_rsa.pub,执行以下命令将公钥放在authorized_keys中:

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

以上配置完成后,执行一下ssh localhsot,确认你的每台机器都可以使用ssh

如果不行,自行上网查找解决方法,我的机器在这一步中执行不下去,原因多种多样。

有一个原因可能是因为authorized_keys 的权限问题,需要权限是600才可以。但是不局限这个问题

6. 将master服务器上的authorized_keys的内容加到slave两台机器的authorized_keys文件中。让master也可以不需要密码访问2台slave服务器。

测试ssh 机器名,看是否可以无密码登录slave机器

7. 添加$HADOOP_HOME/conf/hadoop-env.sh

export JAVA_HOME=/usr/java/jdk1.6.0_34/
8. 编辑$HADOOP_HOME/conf/core-site.xml

<property>   <name>hadoop.tmp.dir</name>   <value>/home/hadoop/hadoop-1.0.4/tmp</value>   <description>.</description></property><property>   <name>fs.default.name</name>   <value>hdfs://机器名:54310</value>   <description> </description></property>

9. 编辑$HADOOP_HOME/conf/mapred-site.xml

<property>  <name>mapred.job.tracker</name>  <value>master机器名:54311</value>  <description>.  </description></property>

10. 编辑$HADOOP_HOME/conf/hdfs-site.xml
<property>  <name>dfs.replication</name>  <value>3</value>  <description>. </description></property>

11. 编辑$HADOOP_HOME/conf/masters

编辑$HADOOP_HOME/conf/slaves

12. 拷贝masternode上$HADOOP_HOME文件拷贝到各个节点上

13. 在所有机器上创建/home/hduser/hadoop/tmp

14. 配置结束,启动hadoop

先格式化masternode

bin/hadoop namenode -format

bin/start-all.sh

执行启动Hadoop进程后, 在master服务器会启动3个java进程,分别的NameNode,SecondNameNode,JobTracker,在LOG目录下会产生2个文件,分别对应NameNode的运行日志和JobTracker的运行日志,  在slave服务器会启动2个java进程,分别为DataNode,TaskTracker,,在LOG目录下会产生2个文件,分别对应 DataNode的运行日志和TaskTracker的运行日志,可以通过查看日志分析hadoop的启动是否正确。

通过浏览器可以查看hadoop状态。


原创粉丝点击