大数据开发之Hadoop--(二)从单机部署开始部署Hadoop集群

前期准备
Ubuntu系统、Java环境,nginx,hadoop下载
Java环境
ubuntu直接安装
apt-get install openjdk-8-jdk
配置环境变量
vim ~/.bashrc
# 底部写入以下内容,JAVA_HOME的路径建议检查一下确定是不是安装在这
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
nginx安装
apt-get install nginx
默认配置文件目录/etc/nginx
ssh配置
确保安装好了ssh
apt-get install ssh openssh-server
cd ~/.ssh/
ssh-keygen -t rsa
cat id_rsa.pub >> authorized_keys
hadoop压缩包下载
先去镜像网站找到自己想下的版本:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.2.4/hadoop-3.2.4.tar.gz
tar -zxvf hadoop-3.2.4.tar.gz
解压后的文件结构

进入站点配置文件夹
cd ./etc/hadoop

配置核心站点core-site.xml,记得替换成自己hadoop安装的根目录
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/opt/hadoop/hadoop-3.2.4/tmp</value>
<description>test</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
配置hdfs站点,hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/hadoop/hadoop-3.2.4/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/hadoop/hadoop-3.2.4/tmp/dfs/data</value>
</property>
</configuration>
配置hadoop环境hadoop-env.sh,找到JAVA_HOME取消注释
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
启动Hadoop
回到hadoop的根目录,执行命令进行初始化
./bin/hdfs namenode -format

开启你namenode和datanode的守护进程
./sbin/start-dfs.sh

出现这个错误的原因主要是因为hadoop为了防止发生意外,只限定部分用户可以执行某些子命令,因此需要在hadoop-env.sh添加以下环境

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
修改好后重新运行以下启动命令,成功启动

配置yarn的站点
进入hadoop下的etc,编辑yarn-site.xml文件
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>iZ7xv1ajtipa68nxpfa9sbZ</value> <!--注意换成你自己的机器名-->
</configuration>
配置mapred站点
编辑mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
启动yarn
回到hadoop的根目录,运行脚本
./sbin/start-yarn.sh
启动成功

对应的管理页面的端口是8088,这里需要注意是http://主机名:端口/
开启JobHistory记录任务日志
修改mapred-site.xml为以下内容
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>iZ7xv1ajtipa68nxpfa9sbZ:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>iZ7xv1ajtipa68nxpfa9sbZ:19888</value>
</property>
<property>
<name>mapreduce.jobhistory.done-dir</name>
<value>/history/done</value>
</property>
<property>
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>/history/done_intermediate</value>
</property>
</configuration>
修改yarn-site.xml为一下内容
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>iZ7xv1ajtipa68nxpfa9sbZ</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
</configuration>
回到hadoop根目录,运行一下命令
./bin/mapred --daemon start historyserver

对应的端口为19888,注意是主机名:端口的格式
配置外部访问(局域网服务器可以直接用localhost:port形式)
按照正常的端口代理即可,打开后就能够看到hadoop的页面

yarn启动后的页面

标题:大数据开发之Hadoop--(二)从单机部署开始部署Hadoop集群
作者:linrty
地址:https://blog.linrty.top/articles/2025/05/29/1748502337670.html
评论
0 评论