Hadoop2.5.2完全分布式集群部署步骤

第一次部署过程中遇到了很多的问题,查了很多资料和官方文档,下面贴出部署的主要过程和配置文件

1.我搭建的是完全分布式,四个虚拟机相当于四台电脑。搭建好虚拟机后关掉防火墙,防止防火墙与我们后续即将使用的一些端口号起冲突。

2.配置虚拟机的IP地址,在/etc/sysconfig/network-scripts/ifcfg-eth0下配置(具体配置网上很多),配置完后,用ping命令试下是否成功。

3.在/etc/hosts下配置斯台主机的IP和hostname,这是用于将来的机器之间互相传输数据使用的,配置完也要用ping命令试下


10.33.0.100Node1.Hadoop
10.33.0.101Node2.Hadoop
10.33.0.102Node3.Hadoop
10.33.0.104Node4.Hadoop
4.接下来是ssh的免密码登录,首先在本地(Node1.Hadoop)上输入命令,ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa,

生成两个无密码秘钥对id_rsa  和id_rsa.pub,然后把id_rsa.pub的内容追加到authorized_keys里面,本地的无密

码登陆就完成了.用ssh命令尝试连接看是否成功.接下来配置与其他机器的无密码连接,首先把本机(Node1.Hadoop)

刚生成公钥拷贝到其他的机器下,然后把拷贝的公钥追加到authorized_keys里面,接下来在刚才的本机(Node1.Hadoop)用ssh连接刚才拷贝公钥的机器,看是否配置成功,一般只要配置namenode和其他节点就可以了,不需要每台机器之间都能无密码连接.

5.然后现在可以安装jdk,配置他的环境变量.这与在Windows下的配置基本一样.首先找到安装的位置,建立一个Java文件夹,然后将经jdk拷贝过来,我的是rpm格式,直接利用命令

rpm -ivh jdk安装.安装完毕后在/etc/profile下配置Java的环境变量,配置完毕后利用 source /etc/profile 使配置文件生效.利用Java javac命令查看是否配置成功。jps也要试下,这是在hadoop配置中很重要的一个命令.

  6.接下来就是配置我们的hadoop-2.5.2,将你的hadoop解压后,建立软链 ln -sf hadoop目录 /你想要的目录,在hadoop目录下配置你的配置文件,我的配置文件如下

/home/hadoop-2.5/etc/hadoop/hdfs-site.xml 

<span style="font-size:18px;"> </span><pre name="code" class="html"><span style="font-size:18px;"><configuration>
<property>
  <name>dfs.nameservices</name>
  <value>lxj</value>
</property>
<property>
  <name>dfs.ha.namenodes.lxj</name>
  <value>nn1,nn2</value>
</property></span>
<span style="font-size:18px;"><!--配置namenode-->
<property>
  <name>dfs.namenode.rpc-address.lxj.nn1</name>
  <value>Node1.Hadoop:9000</value>
</property>
<property>
  <name>dfs.namenode.rpc-address.lxj.nn2</name>
  <value>Node4.Hadoop:9000</value>
</property></span>
<span style="font-size:18px;"><!--配置namenode的http地址,用于web访问-->
<property>
  <name>dfs.namenode.http-address.lxj.nn1</name>
  <value>Node1.Hadoop:50070</value>
</property>
<property>
  <name>dfs.namenode.http-address.lxj.nn2</name>
  <value>Node4.Hadoop:50070</value>
</property></span>
<span style="font-size:18px;"><!--配置journalnode-->
<property>
  <name>dfs.namenode.shared.edits.dir</name>
  <value>qjournal://Node2.Hadoop:8485;Node3.Hadoop:8485;Node4.Hadoop:8485/lxj</value>
</property></span>
<span style="font-size:18px;"><!--<span style="line-height: 15.59375px; background-color: rgb(230, 236, 249);"><span style="font-family:SimSun;">DFS Client确定NameNode的是当前的激活--></span></span>
<property>
  <name>dfs.client.failover.proxy.provider.lxj</name>
  <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property></span>
<span style="font-size:18px;"><!--namenode故障时切换的方法-->
<property>
  <name>dfs.ha.fencing.methods</name>
  <value>sshfence</value>
</property></span>
<span style="font-size:18px;"><!--namenode故障时切换要利用ssh私钥-->
<property>
  <name>dfs.ha.fencing.ssh.private-key-files</name>
  <value>/root/.ssh/id_rsa</value>
</property></span>
<span style="font-size:18px;"><!--文件夹自己建-->
<property>
  <name>dfs.journalnode.edits.dir</name>
  <value>/opt/JN/Data</value>
</property>
<property>
   <name>dfs.ha.automatic-failover.enabled</name>
   <value>true</value>
 </property>
 
<property>  
  <name>dfs.image.transfer.bandwidthPerSec</name>  
  <value>1048576</value>  
</property>   

<property>
  <name>dfs.permissions</name>
  <value>false</value>
</property>
</span>

 

/home/hadoop-2.5/etc/hadoop/hadoop-env.sh 在这个下面只需要配置Java_Home

/home/hadoop-2.5/etc/hadoop/core-site.xml配置zookeeper和hadoop数据的目录

<span style="font-size:18px;"><configuration>
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://lxj</value>
</property></span>
<span style="font-size:18px;"><!--zookeeper配置-->
<property>
   <name>ha.zookeeper.quorum</name>
   <value>Node1.Hadoop:2181,Node3.Hadoop:2181,Node4.Hadoop:2181</value>
 </property></span>
<span style="font-size:18px;"><!--hadoop临时目录-->
<property>
  <name>hadoop.tmp.dir</name>
  <value>/opt/hadoop-2.5</value>
</property>

<property>  
  <name>ha.failover-controller.cli-check.rpc-timeout.ms</name>  
  <value>60000</value>  
</property>  
<property>  
  <name>ipc.client.connect.timeout</name>  
  <value>60000</value>  
</property> 

</configuration>
</span>
在/home/hadoop-2.5/etc/hadoop/slaves里面配置你的DataNode
Node2.Hadoop
Node3.Hadoop
Node4.Hadoop

7.接下来配置zookeeper

解压zookeeper后,建立软链.

然后在zookeeper的配文件夹里/home/zookeeper3.4.6/conf/  复制zoo_sample.cfg 并重命名为zoo.cfg在这里面配置zookeeper的数据缓存目录和zookeeper在哪个节点上

server.1=Node1.Hadoop:2888:3888
server.3=Node3.Hadoop:2888:3888
server.4=Node4.Hadoop:2888:3888
在zookeeper的缓存目录配置myid文件,要自己创建

这台自己是上面server.1上的1就只写个1

8.接下来把配置好的机器上的文件拷贝到其他的节点上.

9.启动zookeeper,zkServer.sh start  

  启动journalnode,hadoop-daemon.sh  start journalnode

 格式化namenode,hdfs namenode -format(任选一个namenode),格式完毕后启动这个节点的namenode,在另一台没有格式化的namenode的节点上把已经格式化产生元数据的节点上的元数据同步到这个节点上.一定要启动已经格式化的namenode!!!

命令 hdfs namenode -bootstrapStandby(同步数据)

如果是一个非HA集群变为一个HA集群还要利用以下命令

hdfs -initializeSharedEdits

最后格式化ZKFC,在任何一台的namenode节点上hdfs zkfc -formatZK

至此所有配置都已经完毕,利用命令stop-dfs.sh停止集群,然后在利用start-dfs.sh重启集群。利用jps命令在每个节点下查看进程的启动情况。(如有错误,敬请指出!)





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值