CentOS搭建hadoop的步骤

本文详细介绍Hadoop的安装步骤,包括JDK和Hadoop的下载与配置,环境变量设置,以及Hadoop核心配置文件的调整等内容。

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

1. 下载jdk和hadoop

  • 下载jdk-7u7-linux-i586.tar.gz和hadoop-2.6.0.tar.gz
http://www.apache.org/dyn/closer.cgi/hadoop/common/ 
http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk7-downloads-1880260.html
  • 解压包到想要安装的路径中
sudo tar zxvf jdk-7u7-linux-i586.tar.gz /home
sudo tar zxvf hadoop-2.6.0.tar.gz /home/hadoop001

2. 配置环境变量

sudo gedit /etc/profile
  • 把jdk和hadoop路径加入到profile文件
export JAVA_HOME=/home/jdk1.7.0_07
export HADOOP_HOME=/home/hadoop001/hadoop-2.6.0
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:
  • 使环境变量生效
source /etc/profile
  • 检测java、hadoop环境配置是否成功
java version
hadoop version

3. 配置hadoop

  • /home/hadoop001/hadoop-2.6.0/etc/hadoop/hadoop-env.sh
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/home/jdk1.7.0_07
  • /home/hadoop001/hadoop-2.6.0/etc/hadoop/yarn-env.sh
#export JAVA_HOME=/home/y/libexec/jdk1.6.0/
export JAVA_HOME=/home/jdk1.7.0_07
  • /home/hadoop001/hadoop-2.6.0/etc/hadoop/core-site.xml
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop001/hadoop2data/tmp</value>
        <description></description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://192.168.1.242:9000</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>4096</value>
    </property>
</configuration>
  • /home/hadoop001/hadoop-2.6.0/etc/hadoop/mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
        <final>true</final>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>192.168.1.242:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>192.168.1.242:19888</value>
    </property>
</configuration>
  • /home/hadoop001/hadoop-2.6.0/etc/hadoop/hdfs-site.xml
<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/hadoop001/hadoop2data/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/home/hadoop001/hadoop2data/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
        <description>这个地方小心了,数值要小于集群机器,单机填1就好了</description>
    </property>
    <property>
        <name>dfs.nameservices</name>
        <value>hadoop-cluster1</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>192.168.1.242:50090</value>
    </property>
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
</configuration>
  • /home/hadoop001/hadoop-2.6.0/etc/hadoop/yarn-site.xml
<configuration>

 <!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>192.168.1.242</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>192.168.1.242:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>192.168.1.242:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>192.168.1.242:8031</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>192.168.1.242:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>192.168.1.242:8088</value>
    </property>
    <property>
        <name>yarn.log.dir</name>
        <value>/home/hadoop001/hadoop2data/yarn_log</value>
    </property>

</configuration>
  • 格式化盘
hdfs namenode -format
hadoop namenode -format
  • 启动hadoop
start-all.sh
  • 停止hadoop
stop-all.sh

4. 遇到的问题

我碰到这个问题是因为没有使用命令格式化文件系统,使用: hadoop namenode -format格式化后就可以访问了
  • /lib/ld-linux.so.2: bad ELF interpreter No such file or directory解决
是因为64位系统中安装了32位程序
解决方法: yum install glibc.i686
  • yum出错Error: Cannot find a valid baseurl for repo: base
sudo gedit /etc/resolv.conf
在文件最后配置: nameserver 8.8.8.8
  • 用户不在sudoers文件中的解决方法
chmod 777 /etc/sudoers
在root用户下面添加你的用户的权限
root    ALL=(ALL)       ALL
你的用户名    ALL=(ALL)       ALL
chmod 440 /etc/sudoers
### 安装和配置Hadoop集群 #### 准备工作 为了在 CentOS 上成功搭建 Hadoop 集群,需先确保所有节点的操作系统已更新至最新版本并安装必要的依赖包[^1]。 ```bash sudo yum update -y sudo yum install java-1.8.0-openjdk-devel -y ``` #### 下载与解压 Hadoop 前往 Apache 官方网站下载适合的 Hadoop 版本,并将其放置于合适目录下完成解压缩操作。 ```bash wget https://archive.apache.org/dist/hadoop/core/hadoop-3.3.4/hadoop-3.3.4.tar.gz tar zxvf hadoop-3.3.4.tar.gz -C /usr/local/ ln -s /usr/local/hadoop-3.3.4 /usr/local/hadoop ``` #### 修改环境变量 编辑 `~/.bashrc` 文件,在文件末尾追加如下内容以便设置 Hadoop 的环境变量: ```bash export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64 export HADOOP_INSTALL=/usr/local/hadoop export PATH=$PATH:$HADOOP_INSTALL/bin export PATH=$PATH:$HADOOP_INSTALL/sbin export HADOOP_MAPRED_HOME=${HADOOP_INSTALL} export HADOOP_COMMON_HOME=${HADOOP_INSTALL} export HADOOP_HDFS_HOME=${HADOOP_INSTALL} export YARN_HOME=${HADOOP_INSTALL} source ~/.bashrc ``` #### 编辑核心配置文件 进入 `/usr/local/hadoop/etc/hadoop/` 目录修改以下四个主要配置文件:core-site.xml, hdfs-site.xml, yarn-site.xml 和 mapred-site.xml。这些文件用于定义整个分布式系统的参数设定以及各组件之间的交互方式。 对于单 Master 多 Slave 架构而言,具体调整如下所示(假设 IP 地址分别为 master: 192.168.1.100; slave1: 192.168.1.101; slave2: 192.168.1.102) ##### core-site.xml ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> </configuration> ``` ##### hdfs-site.xml ```xml <configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.http-address</name> <value>master:50070</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/data/hdfs/datanode</value> </property> </configuration> ``` ##### yarn-site.xml ```xml <configuration> <!-- ResourceManager --> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <!-- NodeManager local directories --> <property> <name>yarn.nodemanager.local-dirs</name> <value>/data/yarn/local</value> </property> <!-- Log aggregation settings --> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration> ``` ##### mapred-site.xml ```xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> ``` #### 初始化 NameNode 并启动服务 回到 Master 节点执行初始化命令之后再依次开启各个守护进程。 ```bash /usr/local/hadoop/bin/hdfs namenode -format start-all.sh jps ``` 通过以上步骤即可实现基于 CentOS 操作系统的简易版 Hadoop 集群部署过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值