Centos安装Hadoop集群

本文详细介绍Hadoop集群的搭建过程,包括hosts文件修改、SSH无密钥登录配置、rsync远程同步设置,以及核心配置文件如core-site.xml、hdfs-site.xml、yarn-site.xml的调整。涵盖HDFS与YARN组件的部署与启动步骤,同时提供集群测试方法。

提示:

需要修改hosts文件,文章中使用hostname代替ip地址

192.168.59.134 centos01.bkm
192.168.59.135 centos02.bkm
192.168.59.136 centos03.bkm

需要SSH无密钥登录配置

需要rsync远程同步工具

1)集群部署规划

 

centos01.bkm

centos02.bkm

centos03.bkm

HDFS 

 

NameNode

DataNode

 

DataNode

SecondaryNameNode

DataNode

YARN

 

NodeManager

ResourceManager

NodeManager

 

NodeManager

2)修改/etc/hadoop下配置文件

(1)core-site.xml

    <!-- 指定HDFS中NameNode的地址 -->
	<property>
		<name>fs.defaultFS</name>
        <value>hdfs://centos01.bkm:9000</value>
	</property>
	<!-- 指定hadoop运行时产生文件的存储目录 -->
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/opt/hadoop/data/tmp</value>
	</property>

(2)hdfs

       hadoop-env.sh

export JAVA_HOME=/opt/module/jdk1.7.0_79

       hdfs-site.xml

<configuration>	
    <!-- 副本数 -->
	<property>
		<name>dfs.replication</name>
		<value>3</value>
	</property>
    <!-- 高可用secondnamenode -->
	<property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>centos03.bkm:50090</value>
    </property>
</configuration>

       配置datanode节点:slaves(注意,不能有空格空行和多余字符)

centos01.bkm
centos02.bkm
centos03.bkm

(3)yarn

       yarn-env.sh

export JAVA_HOME=/opt/module/jdk1.7.0_79

       yarn-site.xml

<configuration>
<!-- Site specific YARN configuration properties -->
<!-- reducer获取数据的方式 -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

<!-- 指定YARN的ResourceManager的地址 -->
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>centos02.bkm</value>
	</property>
</configuration>

(4)mapreduce

       mapred-env.sh

export JAVA_HOME=/opt/module/jdk1.7.0_79

       mapred-site.xml

<configuration>
<!-- 指定mr运行在yarn上 -->
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>

3)在集群上分发以上所有文件

cd /opt/hadoop/etc/hadoop
xsync /opt/hadoop/etc/hadoop

4)查看文件分发情况

xcall cat /opt/module/hadoop/etc/hadoop/slaves

5集群启动及测试

如果集群是第一次启动,需要格式化namenode,如果重新格式化则需要先删除data中数据
    bin/hdfs namenode -format
1)在namenode上启动/停止HDFS:启动后使用jps命令看是否跟规划节点一样
sbin/start-dfs.sh
sbin/stop-dfs.sh
2)在ResourceManger上启动/停止yarn:启动后使用jps命令看是否跟规划节点一样
sbin/start-yarn.sh
sbin/stop-yarn.sh
#注意:Namenode和ResourceManger如果不是同一台机器,不能在NameNode上启动 yarn,应该在ResouceManager所在的机器上启动yarn。

#启动成功后可以访问web页面
#dfs 访问namenode的IP:50070
#yarn 访问ResouceManager的IP:8088

上传文件
hadoop fs -put /home/centos/Downloads/hadoop-2.7.7.tar.gz /user/centos/input
如果上传完文件后没有产生备份,则需要查看对应端口是否开放

上传文件后进入data的最深层目录
-rw-r--r--. 1 root root 134217728 Dec  3 21:25 blk_1073741830
-rw-r--r--. 1 root root   1048583 Dec  3 21:25 blk_1073741830_1006.meta
-rw-r--r--. 1 root root  84502793 Dec  3 21:25 blk_1073741831
-rw-r--r--. 1 root root    660187 Dec  3 21:25 blk_1073741831_1007.meta
touch tmp
cat blk_1073741830>>tmp
cat blk_1073741831>>tmp
tar -zxvf tmp 
可得到解压后的hadoop-2.7.7.tar.gz 

 

### ### 安装和配置 Hadoop 集群的步骤 1. **准备环境** 确保所有节点(例如 hadoop1、hadoop2、hadoop3)已经安装了 JDK,并且系统之间可以通过 SSH 无密码登录。JDK 可以解压到类似 `/opt/module/` 的目录中,并通过环境变量进行配置 [^4]。 2. **解压 Hadoop 安装包** 将 Hadoop 安装包解压到指定目录,例如 `/opt/module/` 或 `/hadoops/`: ```bash tar -zxvf /opt/software/hadoop-3.3.5.tar.gz -C /opt/module/ ``` 或者使用以下命令解压到 `/hadoops/` 目录: ```bash tar -zxvf hadoop-3.3.6.tar.gz -C /hadoops/ ``` 3. **配置环境变量** 编辑 `/etc/profile.d/my_env.sh` 文件或 `/etc/profile` 文件,添加 Hadoop 的环境变量配置。例如: ```bash export HADOOP_HOME=/opt/module/hadoop-3.3.5 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` 配置完成后执行 `source /etc/profile` 命令使配置生效。如果集群中有多个节点,可以将配置好的文件拷贝到其他节点并执行相同的命令使其生效 [^1]。 4. **复制配置文件到其他节点** 使用 `scp` 命令将主节点上的配置文件同步到其他节点: ```bash scp -r /opt/module/hadoop-3.3.5/etc/hadoop/ hadoop@centos2:/opt/module/hadoop-3.3.5/etc/ scp -r /opt/module/hadoop-3.3.5/etc/hadoop/ hadoop@centos3:/opt/module/hadoop-3.3.5/etc/ ``` 或者针对 `/hadoops/` 路径: ```bash scp -r /hadoops/hadoop-3.3.6/etc/hadoop/ hadoop@centos2:/hadoops/hadoop-3.3.6/etc/ scp -r /hadoops/hadoop-3.3.6/etc/hadoop/ hadoop@centos3:/hadoops/hadoop-3.3.6/etc/ ``` 5. **格式化 NameNode** 在主节点上运行以下命令来格式化 HDFS 的 NameNode: ```bash hadoop namenode -format ``` 此操作仅需在集群初始化时执行一次 [^2]。 6. **启动 Hadoop 集群** 启动 Hadoop 集群的服务,包括 HDFS 和 YARN: ```bash start-dfs.sh start-yarn.sh ``` 如果需要检查集群状态,可以使用以下命令: ```bash jps ``` 该命令会显示当前节点运行的 Java 进程,确认是否包含 `NameNode`, `DataNode`, `ResourceManager`, `NodeManager` 等关键组件。 7. **验证集群运行状态** 使用以下命令查看 HDFS 文件系统的状态: ```bash hdfs dfsadmin -report ``` 也可以通过浏览器访问 Web UI 来查看 Hadoop 集群的状态: - HDFS: http://<namenode-host>:50070 - YARN: http://<resourcemanager-host>:8088 ### ### 注意事项 - 所有节点的环境变量必须保持一致,否则会导致服务无法正常启动。 - 配置文件如 `core-site.xml`, `hdfs-site.xml`, `yarn-site.xml`, `mapred-site.xml` 必须在所有节点上保持一致 [^2]。 - 确保各节点之间的网络通信畅通,尤其是 SSH 访问权限和主机名解析(可以通过 `/etc/hosts` 文件配置)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值