夜微凉、的博客

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  76 随笔 :: 24 文章 :: 22 评论 :: 24万 阅读

(搭建hadoop集群的前提是服务器已成功安装jdk以及服务器之间已设置免密码登录,服务器之间的免密码登录可参考《linux服务器间ssh免密码登录》)

1、下载hadoop安装包

  wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.0.0/hadoop-3.0.0-src.tar.gz

2、解压安装包

  tar zxvf hadoop-3.0.0-src.tar.gz

3、配置hadoop的环境变量

  vi /etc/profile(三台机器)

  增加以下配置

  

复制代码
复制代码
#Hadoop 3.0
export HADOOP_PREFIX=/home/hadoop/hadoop-3.0.0
export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin

export HADOOP_COMMON_HOME=$HADOOP_PREFIX 
export HADOOP_HDFS_HOME=$HADOOP_PREFIX 
export HADOOP_MAPRED_HOME=$HADOOP_PREFIX
export HADOOP_YARN_HOME=$HADOOP_PREFIX 

export HADOOP_INSTALL=$HADOOP_PREFIX
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_PREFIX/lib/native 
export HADOOP_CONF_DIR=$HADOOP_PREFIX 
export HADOOP_PREFIX=$HADOOP_PREFIX 
export HADOOP_LIBEXEC_DIR=$HADOOP_PREFIX/libexec 
export JAVA_LIBRARY_PATH=$HADOOP_PREFIX/lib/native:$JAVA_LIBRARY_PATH 
export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop
复制代码
复制代码

    source /etc/profile

4、修改配置文件

  vi /etc/hosts(三台机器)

    增加以下配置

10.9.1.101   node101
10.9.1.102   node102
10.9.1.103   node103

 

  vi   /home/hadoop/hadoop-3.0.0/etc/hadoop/core-site.xml(三台机器)

  

复制代码
复制代码
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->

<!-- Put site-specific property overrides in this file. -->

<configuration>
  <property>
     <name>fs.defaultFS</name>
     <value>hdfs://node101:9000</value> 
     <description>HDFS的URI,文件系统://namenode标识:端口</description>
  </property>
  <property>
     <name>hadoop.tmp.dir</name>
     <value>/opt/hadoop</value>
     <description>namenode上传到hadoop的临时文件夹</description>
  </property>
  <property>
       <name>fs.checkpoint.period</name>
       <value>3600</value>
       <description>用来设置检查点备份日志的最长时间</description>
  </property>
</configuration>
复制代码
复制代码

  vi   /home/hadoop/hadoop-3.0.0/etc/hadoop/hdfs-site.xml(三台机器)

  

复制代码
复制代码
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->

<!-- Put site-specific property overrides in this file. -->

<configuration>
 <property>
   <name>dfs.replication</name>
   <value>3</value> 
   <description>副本个数,默认配置是3,应小于datanode机器数量</description>
 </property>
 <property>
    <name>dfs.name.dir</name>
    <value>/home/hadoop/hadoop-3.0.0/hdfs/name</value>
    <description>datanode上存储hdfs名字空间元数据</description>
  </property>
 <property>
    <name>dfs.data.dir</name>
    <value>/home/hadoop/hadoop-3.0.0/hdfs/data</value>
    <description>datanode上数据块的物理存储位置</description>
 </property>
</configuration>
复制代码
复制代码

  vi   /home/hadoop/hadoop-3.0.0/etc/hadoop/hadoop-env.sh (三台机器)

  设置java_home(54行左右)

  export JAVA_HOME=/usr/java/jdk1.8.0_11

  vi   /home/hadoop/hadoop-3.0.0/etc/hadoop/worker(namenode节点机器)

node101
node102
node103

    备注:node101、node102、node103分别是三台服务器设置的名称

5、初始化namenode节点

  /home/hadoop/hadoop-3.0.0/bin/hadoop namenode -format

6、启动hdfs

  /home/hadoop/hadoop-3.0.0/sbin/start-dfs.sh

7、检查hdfs集群启动情况

  jps

  在namenode节点的机器上能看到namenode和datanode两个进程,在datanode节点的机器上只能看到datanode进程,我安装的namenode在node101机器上,datanode是101~103

 

备注:当启动出错的时候可以去hadoop安装的根目录下的logs目录下查看错误日志

 (因为我只需要使用hdfs文件存储,所以暂时只配置这么多,如果还需要map-reduce等其他的功能还要配置其他的东西,这个只能以后有机会再整理了)

 

posted on   夜、微凉  阅读(187)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示