Hadoop全分布集群搭建(3)——Hadoop安装与配置

Hadoop全分布集群搭建(3)——Hadoop安装与配置

前期准备工作要完成:
Hadoop全分布集群搭建(1)——设置主机名与域名解析
Hadoop全分布集群搭建(2)——SSH免密码登

1.安装JDK

安装jdk的过程这里不再赘述,先卸载原带的,然后装sun jdk,修改/etc/profile文件来更新环境变量,当然是每个节点都要安装,具体操作见Hadoo伪分布搭建的第二章

2.安装配置Hadoop

下面的两个注意很重要!否则后期容易出错!

注意1:我们的安装、配置,除了系统文件外(比如更改环境变量的/etc/profile文件),可以在Master节点上配置好,直接用scp命令把整个文件夹传到其他的Slave节点就好了,当然,其他的跟系统相关的文件就得一个个配置了。下面的步骤都用hadoop用户、以Master节点为基础进行操作。

注意2:开始之前,在hadoop用户的家目录下面简历一个目录hadoop,里面包含dfs和tmp两个目录,dfs中包含name和data两个目录(配置中会指定这些目录),然后用如下命令保证该目录的所属和权限开放

chown -R hadoop:hadoop /home/hadoop/hadoop  #设置所属
chmod -R 777 /home/hadoop/hadoop    #设置权限

1.从hadoop的官网(http://www.apache.org/dyn/closer.cgi/hadoop/common)选择合适的版本下载(这里选择的是比较稳定的2.6.0)

2.解压之后将生成的文件夹名称改为hadoop-2.6.0(为了后期操作方便),移动到/usr/soft/目录下面(这个目录是自己建的,jdk,hadoop,scala,spark,eclipse等等等都放在这里)

3.更改环境变量,/etc/profile文件中添加Hadoop的环境变量,如下:

#Hadoop环境变量
export HADOOP_HOME=/usr/soft/hadoop-2.6.0
export PATH = $JAVA_HOME/bin:$HADOOP_HOME/bin: $PATH

改完后执行source /etc/profile命令立即生效。

4.修改配置文件(都在hadoop-2.6.0/etc/hadoop下面)

(1)配置core-site.xml,将文件中的 修改,注意file部分是根据自己的路径写:

<configuration>
    <property>  
        <name>hadoop.tmp.dir</name>  
        <value>/home/hadoop/hadoop/tmp</value>  
        <description>Abase for other temporary directories.</description>  
    </property>  
    <property>  
        <name>fs.defaultFS</name>  
        <value>hdfs://Master:9000</value>  
    </property>  
    <property>  
        <name>io.file.buffer.size</name>  
        <value>131072</value>  
</property>  
</configuration>

(2)配置 hdfs-site.xml

<configuration>
<property>
  <name>dfs.http.address</name>
  <value>Master:50070</value>
  <description>The address and the base port where the dfs namenode web ui will listen on.If the port is 0 then the server will start on a free port.
  </description>
</property>
<property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>Slave1:50090</value>                                 
 </property>
  <property>
   <name>dfs.namenode.name.dir</name>
   <value>/home/hadoop/hadoop/dfs/name</value>
 </property>

 <property>
  <name>dfs.datanode.data.dir</name>
  <value>/home/hadoop/hadoop/dfs/data</value>
  </property>

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

 <property>
  <name>dfs.webhdfs.enabled</name>
  <value>true</value>
 </property>
</configuration>

注意: 这里虽然只需要配置 fs.defaultFS 和 dfs.replication 就可以运行(官方教程如此),但是如果没有配置 hadoop.tmp.dir 参数,则默认使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format 才行。所以我们进行了设置,同时也指定 dfs.namenode.name.dir 和 dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。

(3)配置yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
<property>  
    <name>yarn.resourcemanager.hostname</name>  
    <value>Master</value>  
</property>  

<property>  
    <name>yarn.nodemanager.aux-services</name>  
    <value>mapreduce_shuffle</value>  
</property>  
<property>  
    <name>yarn.resourcemanager.address</name>  
    <value>Master:8032</value>  
</property>  
<property>  
    <name>yarn.resourcemanager.scheduler.address</name>  
    <value>Master:8030</value>  
</property>  
<property>  
    <name>yarn.resourcemanager.resource-tracker.address</name>  
    <value>Master:8031</value>  
</property>  
<property>  
    <name>yarn.resourcemanager.admin.address</name>  
    <value>Master:8033</value>  
</property>  
<property>  
    <name>yarn.resourcemanager.webapp.address</name>  
    <value>Master:8088</value>  
</property> 

</configuration>

(4)配置mapred-site.xml
目录中只有一个mapred-site.xml.template文件,复制一个并重命名为mapred-site.xml,然后将文件修改为

<configuration>
<property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
   <final>true</final> 
 </property>
 <property>
   <name>mapreduce.jobtracker.http.address</name>
   <value>Master:50030</value>
 </property>
 <property>
  <name>mapreduce.jobhistory.address</name>
  <value>Master:10020</value>
 </property>
 <property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>Master:19888</value>
 </property>
 <property>
  <name>mapred.job.tracker</name>
  <value>http://Master:9001</value>
 </property>
</configuration>

(5)配置hadoop-env.sh,找到该文件中原本配置JAVA_HOME的语句,修改:

export JAVA_HOME=/usr/soft/jdk       #这里要使用绝对路径

注意3:配置完成之后,就可以将hadoop-2.6.0整个目录拷贝到其他Slave节点下面了,此时需要注意的是,一如注意2中,用命令保证该目录的权限,每个节点都要这样设置!!!

chown -R hadoop:hadoop /usr/soft/hadoop #设置所属
chmod -R 777 /usr/soft/hadoop   #设置权限

(6)到/usr/soft/hadoop/bin目录下,执行如下命令进行namenode 的 format操作,最后出现Exitting with status 0 表示成功,若为 Exitting with status 1 则是出错。如果出错了,可能的原因参见文档刚开始注意部分,其他原因再找资料解决吧。

./hadoop namenode -format

(7)到/usr/soft/hadoop/sbin目录下,执行命令启动hadoop集群

./start-all.sh

启动完成,可以用jps命令查看,是否启动成功。

Mster节点:(没看到有SecondaryNameNode,但是在Slave1节点有,应该是配置的问题,还需研究~)

15872 NodeManager
16144 Jps
15558 DataNode
15421 NameNode
15758 ResourceManager

Slave1节点:

8209 NodeManager
8053 DataNode
8366 Jps
8127 SecondaryNameNode

Slave2节点:

7596 NodeManager
7517 DataNode
7726 Jps

Slave3节点:

7617 Jps
7461 NodeManager
7382 DataNode

(8)向hdfs写入,进行测试

[hadoop@Master hadoop-2.6.0]$ bin/hadoop fs -mkdir /test
[hadoop@Master hadoop-2.6.0]$ bin/hadoop fs -ls /       
Found 1 items
drwxr-xr-x   - sunglee supergroup          0 2017-05-15 18:45 /test

查看hdfs:http://Master:50070/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值