Hadoop 详细安装配置指南

1. 安装虚拟机和Linux。我们集群中准备3台机器:

192.168.1.16Master

192.168.1.17Slave1

192.168.1.18Slave2

可参考 http://blog.csdn.net/yg_it/article/details/25472523

2. 网络配置

2.1 修改hostname

a): 执行命令hostname 查看机器名称。

b): 如需修改,使用vi编辑器 vi /etc/sysconfig/network 修改其中的HOSTNAME属性为Master。

c): 执行hostnameMaster ,在当前环境中立即生效。

d): 执行命令hostname验证设置结果。

2.2 配置IP 和hostname 绑定。

a): 编辑文件“vi/etc/hosts” ,增加ip与hostname的映射信息。

192.168.1.16Master

192.168.1.17Slave1

192.168.1.18Slave2

b): 执行pingmaster 验证是否映射成功。

2.3 关闭防火墙。

a): 执行命令service iptables stop 关闭防火墙。

b): 执行命令service iptables status 查看防火墙是否正在运行。

c): 执行命令chkconfig iptables off 关闭防火墙自动运行。

3. 配置ssh免密码登陆(1.ssh-keygen -t rsa -P ''产生公钥私钥文件 2.产生的文件位于~/.ssh目录下 3. cp id_rsa.pub authorized_keys(如果要进行免密码登陆需要把产生的id_rsa.pub 信息复制到其他机器上authorized_keys文件中))

3.1  执行命令ssh-keygen-t rsa -P ''产生公钥私钥文件,产生的文件位于~/.ssh目录下。

3.2 执行命令ssh-copy-id-i master复制公钥文件到master节点的authorized_keys中。

ssh-copy-id-i slave1 复制公钥文件到slave1节点的authorized_keys中。

ssh-copy-id-i slave2  复制公钥文件到slave2节点的authorized_keys中。

 

3.3 执行命令 sshmaster ,验证免密码登陆。

 

4. 安装JDK

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

下载 jdk-7u60-linux-x64.tar.gz

安装好的CentOS会自带OpenJdk,我们先卸载掉OpenJdk,在安装Oracle的JDK。

4.1 执行命令 rpm-qa | grep java 查看jdk。

4.2 分别执行以下命令,卸载OpenJdk。

rpm-e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

rpm -e --nodepsjava-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

rpm-e --nodeps tzdata-java-2013g-1.el6.noarch

4.3 在"/usr"下创建"java"文件夹,将jdk上传到“/usr/java/”目录下,执行命令 tar –zxvf jdk-7u60-linux-x64.tar.gz 解压缩,产生文件夹jdk1.7.0_60  。

4.4 设置Java环境变量

a): 编辑文件 vi/etc/profile 在尾部添加

exportJAVA_HOME=/usr/java/jdk1.7.0_60
export PATH=$PATH:$JAVA_HOME/bin

b): 执行命令source /etc/profile使其立即生效

c): 使用命令 java–version ,如果看到如图所示,则JDK安装成功。

d): 同理,安装Slave1节点和Slave2节点上的JDK。

 

5. 安装Hadoop

下载地址:http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-1.2.1/

下载hadoop-1.2.1.tar.gz

5.1 在master节点上传hadoop-1.2.1.tar.gz到/home/hadoop下。

5.2 执行命令 tar-zxvf ~/home/hadoop/hadoop-1.2.1.tar.gz 进行解压缩,产生文件夹hadoop-1.2.1。

5.3 设置环境变量

a): 编辑文件 vi/etc/profile 在尾部添加

exportHADOOP_HOME=/home/hadoop/hadoop-1.2.1
export PATH=$PATH:$HADOOP _HOME/bin

b): 执行命令 source /etc/profile使其立即生效

5.4 配置文件hadoop-env.sh,增加内容如下

export JAVA_HOME=/usr/java/jdk1.7.0_60

5.5 配置文件core-site.xml,增加内容如下

[plain] view plaincopyprint?

1.     <configuration>  

2.         <property>  

3.             <name>fs.default.name</name>  

4.             <value>hdfs://Master:9000</value>  

5.         </property>  

6.         <property>  

7.             <name>hadoop.tmp.dir</name>  

8.             <value>/home/hadoop/hadoop-1.2.1/tmp</value>  

9.         </property>    

10.   

11.  </configuration>  

  <configuration>
    <property>
      <name>fs.default.name</name>
      <value>hdfs://Master:9000</value>
    </property>
    <property>
      <name>hadoop.tmp.dir</name>
      <value>/home/hadoop/hadoop-1.2.1/tmp</value>
    </property>  
  </configuration>

注意:请先在 /home/hadoop/hadoop-1.2.1/ 目录下建立tmp 文件夹,不然会报tmp目录找不到。

5.6 配置文件hdfs-site.xml,增加内容如下

[plain] view plaincopyprint?

1.     <configuration>  

2.         <property>  

3.             <name>dfs.replication</name>  

4.             <value>2</value>  

5.         </property>  

6.         <property>  

7.             <name>dfs.permissions</name>  

8.             <value>false</value>  

9.         </property>    

10.  </configuration>  

  <configuration>
    <property>
      <name>dfs.replication</name>
      <value>2</value>
    </property>
    <property>
      <name>dfs.permissions</name>
      <value>false</value>
    </property>  
  </configuration>

注意:dfs.replication是数据副本数量,默认为3,slave少于3台就会报错,这里我们有2个slave就设置为2.

5.7 配置文件 mapred-site.xml,增加内容如下

[plain] view plaincopyprint?

1.     <configuration>  

2.         <property>  

3.             <name>mapred.job.tracker</name>  

4.             <value>http://Master:9001</value>  

5.         </property>  

6.     </configuration>  

 <configuration>
  <property>
   <name>mapred.job.tracker</name>
   <value>http://Master:9001</value>
  </property>
 </configuration>

5.8 配置文件masters(hadoop1.1.2/conf目录下),删除localhost增加内容如下

Master

4.9 配置文件slaves(hadoop1.1.2/conf目录下),删除localhost增加内容如下

Slave1

Slave2

5.10 把master上的hadoop-1.2.1复制到其他节点,执行命令

scp-r  ~/hadoop-1.2.1  slave1:~/
scp -r  ~/hadoop-1.2.1  slave2:~/

scp-r xxx  root@主机名:/xxx

5.11 设置其他节点上hadoop的环境变量。(参照5.3)

5.12 在master节点执行命令hadoop namenode -format 进行格式化

5.13 在master节点执行命令start-all.sh 启动集群,并验证集群

查看Slave1和Slave2进程

 

网页查看集群

http://master:50070

http://master:50030

OK,Hadoop1.2.1集群安装成功!

 

 

 

 hadoop在子节点上没有datanode进程

 

经常会有这样的事情发生:在主节点上start-all.sh后,子节点有TaskTracker进程,而没有DataNode进程。
环境:1NameNode   2DataNode三台机器,Hadoop为1.2.1
解决办法:
1.先停止Hadoop,bin/stop-all.sh
2.三台机器都把hadoop1.2.1/tmp下所有文件删除,rm-rf tmp/*
3.重新格式化DFS  bin/hadoop namenode -format
4.再重启bin/start-all.sh
5.查看各节点jps,就有DataNode和TaskTracker了

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值