Hadoop 集群安装配置实验

本文详细介绍了如何在四台虚拟机上搭建Hadoop集群,包括环境准备、安装配置及初始化运行过程,确保集群正常运行。

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

目录

一、环境

二、安装前准备

1. 分别在四台机器上建立 grid 用户

2. 分别在四台机器上的 /etc/hosts 文件中添加如下内容

3. 分别在四台机器上安装 java

4. 配置免密码 ssh

三、安装配置 hadoop

1. 安装 hadoop:

2. 建立目录

3. 修改配置文件

四、安装后配置

五、初始化及运行

参考:


一、环境

        四台 VirtualBox 上的 Linux 虚机,每台硬盘 20G,内存 768M。

        IP 与主机名:
192.168.56.101 master
192.168.56.102 slave1
192.168.56.103 slave2
192.168.56.104 slave3

        主机规划:192.168.56.101 做 master,运行 NameNode 和 ResourceManager 进程。其它三台主机做 slave,运行 DataNode 和 NodeManager 进程。

        操作系统:CentOS release 6.4 (Final)

        java 版本:jdk1.7.0_75

        hadoop 版本:hadoop-2.7.2

二、安装前准备

1. 分别在四台机器上建立 grid 用户

useradd -d /home/grid -m grid
usermod -G root grid

2. 分别在四台机器上的 /etc/hosts 文件中添加如下内容

192.168.56.101 master
192.168.56.102 slave1
192.168.56.103 slave2
192.168.56.104 slave3

        以下的操作均使用 grid 用户执行。

3. 分别在四台机器上安装 java

cd ~
tar -zxvf jdk-7u75-linux-x64.tar.gz

4. 配置免密码 ssh

        这里配置了任意两台机器都免密码

(1)分别在四台机器上生成密钥对:

cd ~
ssh-keygen -t rsa

然后一路回车。

(2)在 master 上执行:

cd ~/.ssh/
ssh-copy-id 192.168.56.101
scp /home/grid/.ssh/authorized_keys 192.168.56.102:/home/grid/.ssh/

(3)在 slave1 上执行:

cd ~/.ssh/
ssh-copy-id 192.168.56.102
scp /home/grid/.ssh/authorized_keys 192.168.56.103:/home/grid/.ssh/

(4)在 slave2 上执行:

cd ~/.ssh/
ssh-copy-id 192.168.56.103
scp /home/grid/.ssh/authorized_keys 192.168.56.104:/home/grid/.ssh/

(5)在 slave3 上执行:

cd ~/.ssh/
ssh-copy-id 192.168.56.104
scp /home/grid/.ssh/authorized_keys 192.168.56.101:/home/grid/.ssh/
scp /home/grid/.ssh/authorized_keys 192.168.56.102:/home/grid/.ssh/
scp /home/grid/.ssh/authorized_keys 192.168.56.103:/home/grid/.ssh/

        至此,免密码 ssh 配置完成。

三、安装配置 hadoop

        以下的操作均使用 grid 用户在 master 主机上执行。

1. 安装 hadoop:

cd ~
tar -zxvf hadoop-2.7.2.tar.gz

2. 建立目录

cd ~/hadoop-2.7.2
mkdir tmp
mkdir hdfs
mkdir hdfs/data
mkdir hdfs/name

3. 修改配置文件

(1)编辑 ~/hadoop-2.7.2/etc/hadoop/core-site.xml 文件,添加如下内容。

<configuration>
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://192.168.56.101:9000</value>
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>file:/home/grid/hadoop-2.7.2/tmp</value>
</property>
<property>
    <name>io.file.buffer.size</name>
    <value>131072</value>
</property>
</configuration>

(2)编辑 ~/hadoop-2.7.2/etc/hadoop/hdfs-site.xml 文件,添加如下内容。

<configuration>
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/home/grid/hadoop-2.7.2/hdfs/name</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/home/grid/hadoop-2.7.2/hdfs/data</value>
</property>
<property>
    <name>dfs.replication</name>
    <value>3</value>
</property>
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>192.168.56.101:9001</value>
</property>
<property>
    <name>dfs.namenode.servicerpc-address</name>
    <value>192.168.56.101:10000</value>
</property>
<property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
</property>
</configuration>

        注意:dfs.namenode.servicerpc-address参数必须设置。

(3)编辑~/hadoop-2.7.2/etc/hadoop/yarn-site.xml文件,添加如下内容。

<configuration>
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<property>
    <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
    <name>yarn.resourcemanager.address</name>
    <value>192.168.56.101:8032</value>
</property>
<property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>192.168.56.101:8030</value>
</property>
<property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>192.168.56.101:8031</value>
</property>
<property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>192.168.56.101:8033</value>
</property>
<property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>192.168.56.101:8088</value>
</property>
<property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>1024</value>
</property>
</configuration>

        注意:yarn.nodemanager.resource.memory-mb 不能小于 1024。

(4)编辑 ~/hadoop-2.7.2/etc/hadoop/mapred-site.xml 文件,添加如下内容。

<configuration>
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>192.168.56.101:10020</value>
</property>
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>192.168.56.101:19888</value>
</property>
</configuration>

(5)编辑 ~/hadoop-2.7.2/etc/hadoop/slaves 文件,添加如下内容。

192.168.56.102
192.168.56.103
192.168.56.104

(6)编辑 ~/hadoop-2.7.2/etc/hadoop/hadoop-env.sh 文件,修改如下内容。

export JAVA_HOME=/home/grid/jdk1.7.0_75

(7)编辑 ~/hadoop-2.7.2/etc/hadoop/yarn-env.sh 文件,修改如下内容。

export JAVA_HOME=/home/grid/jdk1.7.0_75

(8)将 hadhoop 主目录复制到各个从服务器上

scp -r ./hadoop-2.7.2 192.168.56.102:/home/grid/
scp -r ./hadoop-2.7.2 192.168.56.103:/home/grid/
scp -r ./hadoop-2.7.2 192.168.56.104:/home/grid/

四、安装后配置

        使用 root 用户分别在四台机器上的 /etc/profile 文件中添加如下环境变量。

export JAVA_HOME=/home/grid/jdk1.7.0_75
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/home/grid/hadoop-2.7.2
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native

五、初始化及运行

        以下的操作均使用 grid 用户在 master 主机上执行。

hdfs namenode -format

        结果如图1 所示:

图1

start-dfs.sh

        结果如图2 所示:

图2
start-yarn.sh

        结果如图3 所示:

图3


        查看主节点 Java 进程,可以看到主节点上启动了 NameNode、SecondaryNameNode、ResourceManager 守护进程,如图4 所示:

图4

        查看从节点 Java 进程,可以看到从节点上启动了 DataNode、NodeManager 守护进程,如图5 所示:

图5

        通过 web 接口查看 NameNode,如图6 所示:

图6

参考:

https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/ClusterSetup.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值