hadoop3.0.0-alpha1+jdk1.8.0_121+ubuntu16.04LTS分布式搭建

本文详细介绍了如何在Ubuntu 16.04 LTS系统上,使用hadoop-3.0.0-alpha1和jdk1.8.0_121搭建Hadoop分布式环境。步骤包括安装配置JDK,设置SSH免密登录,以及配置和启动Hadoop集群,确保NameNode和DataNode之间的通信,并通过Web界面验证集群状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hadoop:Hadoop-3.0.0-alpha1     http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.0.0-alpha1/hadoop-3.0.0-alpha1.tar.gz

jdk:jdk_1.8.0_121     http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Ubuntu16.04LTS(未在root权限下搭建)

节点:namenode  192.168.1.121

datanode  192.168.1.124

datanode  192.168.1.125


第一步:安装jdk 

(1)选择一个路径(/usr/lib/jvm 其中jvm是我自己创建)将jdk的gz包移动到该目录下

(2)然后在该目录下:tar zxvf jdk-*-tar.gz

(3)配置环境变量vim  ~/.bashrc

export JAVA_HOME=/usr/lib/jvm/java1.8.0_121(相应的jdk版本号)

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib

export PATH=$JAVA_HOME/bin:$PATH

(4)source  ~/.bashrc 使配置生效

(5)使用java -version 检查是否成功

 

第二步先配置好ssh免密登录

(1)首先设置好主机名称在/etc/hostname里面设置

     设置好hosts 在/etc/hosts下设置  (设置 hostname-ip的映射)

注意:在每个节点下我都不是在root权限下操作。

用户名   主机名(hostname)     IP

Leename Lee-Master  192.168.1.121

Leedata1 Lee-Slaves1  192.168.1.124

Leedata2 Lee-Slaves2  192.168.1.125

(用户名在配置workersssh使用)

 

(2)使用检查ssh是否已经安装否则使用apt-get install ssh

(3)执行命令生成密钥:ssh-keygen –t rsa 一直回车

(4)cd ~/.ssh文件夹中观察生成的文件

(5)将生成的公钥id_rsa.pub内容追加到authorized_keys (执行命令:cat id_rsa.pub >> authorized_keys)

(6)可使用ssh localhost判断是否成功

(7)节点间的互相免密登录:

     前面步骤一样,后面在DataNode中将生成的公钥都发送到名称节点NameNode中执行命令:scp id_rsa.pub 用户名@主机名(或者ip):/tmp/id_rsa.pub.d1(d1是在传过       来后命名,表示是节点一的,自己设置,传输到tmp是因为不能直接传输到相应文件夹下)

     然后 mv /tmp/id_rsa.pub.d1~/.ssh

     同样 catid_rsa.pub.d1 >> authorized_keys

     这样就完成了一个节点的免密访问

     其他节点均是如此。

(8)将NameNode的authorized_keys 文件通过scp复制到所有的节点上,就实现了所有节点之间的免密登录。

 

第三步:配置Hadoop

1.core-site.xml文件配置(均为vim)

<configuration> 

 <property> 

   <name>fs.defaultFS</name>  

    <value>hdfs://192.168.1.121:9000</value> 

 </property> 

 

 <property> 

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

      <value>/opt/hadoop-3.0.0-alpha1/hdfs/tmp</value>  //(hdfs/tmp是自己创建)

 </property> 

</configuration>

 

2.hdfs-site.xml 配置

 

<configuration> 

 <property> 

  <name>dfs.replication</name> 

  <value>3</value> 

 </property> 

 <property> 

  <name>dfs.namenode.name.dir</name> 

  <value>/opt/hadoop-3.0.0-alpha1/hdfs/name</value>  //hdfs/name自己创建的

 </property> 

 <property> 

  <name>dfs.datanode.data.dir</name> 

  <value>/opt/hadoop-3.0.0-alpha1hdfs/data</value> 

 </property> 

 

 <property> 

     <name>dfs.permissions</name> 

      <value>false</value>  //不检查文件权限,有可能是我没使用root问题,如果加上权限检查总是显示无权访问,即使在DataNode中检测到数据节点已经正确启动(jps后有                                                     datanode线程),NameNode也检测不到。加上这句,去掉权限检查就好了

 </property> 

 

</configuration> 

 

3.workers配置

leename@Lee-Master

leedata1@Lee-Slaves1 

leedata2@Lee-Slaves2

 

4.配置 mapred-site.xml

该步参考博客:http://blog.youkuaiyun.com/u010499619/article/details/52886872

先执行:cp mapred-site.xml.template mapred-site.xml 

<configuration> 

   <property> 

       <name>mapreduce.framework.name</name> 

       <value>yarn</value> 

   </property> 

 

<property> 

 <name>mapreduce.application.classpath</name> 

 <value> 

  /opt/hadoop-3.0.0-alpha1/etc/hadoop, 

  /opt/hadoop-3.0.0-alpha1/share/hadoop/common/*, 

  /opt/hadoop-3.0.0-alpha1/share/hadoop/common/lib/*, 

  /opt/hadoop-3.0.0-alpha1/share/hadoop/hdfs/*, 

  /opt/hadoop-3.0.0-alpha1/share/hadoop/hdfs/lib/*, 

  /opt/hadoop-3.0.0-alpha1/share/hadoop/mapreduce/*, 

  /opt/hadoop-3.0.0-alpha1/share/hadoop/mapreduce/lib/*, 

  /opt/hadoop-3.0.0-alpha1/share/hadoop/yarn/*, 

  /opt/hadoop-3.0.0-alpha1/share/hadoop/yarn/lib/* 

 </value> 

</property> 

</configuration> 

 

5.yarn.site.xml

<configuration> 

 

<!-- Site specific YARN configurationproperties --> 

   <property> 

       <name>yarn.nodemanager.aux-services</name> 

       <value>mapreduce_shuffle</value> 

   </property> 

   <property> 

       <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> 

       <value>org.apache.hadoop.mapred.ShuffleHandle</value> 

   </property> 

   <property> 

       <name>yarn.resourcemanager.resource-tracker.address</name> 

       <value>192.168.1.121:8025</value> 

   </property> 

   <property> 

       <name>yarn.resourcemanager.scheduler.address</name> 

       <value>192.168.1.121:8030</value> 

   </property> 

   <property> 

       <name>yarn.resourcemanager.address</name> 

       <value>192.168.1.121:8040</value> 

   </property> 

</configuration> 

 

6.hadoop-env.sh配置

   export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_121

 

第四步:

将配置好的Hadoop发送到各个节点下。

执行命令:scp hadoop-3.0.0-alpha1 用户名@主机名(或者ip):/tmp

然后mv hadoop-3.0.0-alpha1 /opt

 

配置完成

 

第五步测试:

1.格式化namenode

bin/hdfs namenode –format

2. 启动dfs和yarn

sbin/start-dfs.sh 

sbin/start-yarn.sh

3.打开页面http://192.168.1.121:8088及http://192.168.1.121:9870 查看是否成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值