- 一、安装搭建java环境
- 1、安装方法
- 2、查看是否已安装
- 3、卸载
- 4、安装
- 4.1 检查 yum 中有没有 java1.8 包
- 4.2 开始安装
- 5、验证
- 二、 Hadoop安装
- 1、下载
- 2、准备启动 Hadoop 集群
- 2.1配置Hadoop守护进程的环境
- 2.2配置系统环境变量
- 2.3 配置etc/hadoop/core-site.xml文件
- 2.4配置etc/hadoop/hdfs-site.xml文件
- 2.5配置etc/hadoop/yarn-site.xml文件
- 2.6配置etc/hadoop/mapred-site.xml文件
- 3、配置集群设备的ip
- 3.1设置无密码 ssh
- 3.2设置主机的hostname
- 3.3配置集群主机ip
- 4、启动 Hadoop 集群
- 5、停止 Hadoop 集群
- 6、web管理界面
首先准备三台装好centos7系统的服务器 一、安装搭建java环境 1、安装方法
CentOS8上使用 yum 直接安装,环境变量自动配置好
2、查看是否已安装看到下面结果,说明已经安装配置 jdk
[root@localhost ~]# java -version openjdk version "1.8.0_222" OpenJDK Runtime Environment (build 1.8.0_222-b10) OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)3、卸载
查看系统是否自带 jdk
rpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj
如果有输出信息,批量卸载系统自带
rpm -qa | grep java | xargs rpm -e --nodeps
如果使用 yum 安装的 jdk,请使用下面命令卸载
yum -y remove java-1.8.0-openjdk-headless.x86_64
4、安装 4.1 检查 yum 中有没有 java1.8 包yum list java-1.8*4.2 开始安装
yum install java-1.8.0-openjdk* -y
5、验证[root@localhost ~]# java -version openjdk version "1.8.0_222" OpenJDK Runtime Environment (build 1.8.0_222-b10) OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)二、 Hadoop安装 1、下载
要获得发行版,请从Apache 下载镜像之一下载最新的 稳定版本(3.3.3)。
##下载好上传 rz -y 选择文件上传 ##解压 tar zxvf hadoop-3.3.3.tar.gz2、准备启动 Hadoop 集群
解压下载的 Hadoop 发行版。在发行版中,编辑文件etc/hadoop/hadoop-env.sh以定义一些参数,如下所示:
centos7是自带有java环境的,可以直接使用。
使用ls -lrt命令,可以找到自带java的路径向下深入。 ls -lrt /usr/bin/java /usr/bin/java -> /etc/alternatives/java ##当得到到一个真实的路径,一般就是了。 ls -lrt /etc/alternatives/java /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin ## 设置为 Java 安装的根目录 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre2.1配置Hadoop守护进程的环境
在etc/hadoop/hadoop-env.sh配置中添加PID目录以及日志目录
export HADOOP_PID_DIR =/home/zxhy/hadoop-3.3.3/pid export HADOOP_LOG_DIR =/home/zxhy/hadoop-3.3.3/log2.2配置系统环境变量
在/etc/profile.d中的一个新建一个简单脚本hadoop.sh,内容如下:
export JAVA_HOME=/usr/bin/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export HADOOP_HOME=/home/zxhy/hadoop-3.3.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
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
2.3 配置etc/hadoop/core-site.xml文件
2.4配置etc/hadoop/hdfs-site.xml文件fs.defaultFS hdfs://localhost:7000 io.file.buffer.size 131072 hadoop.tmp.dir /home/zxhy/hadoop-3.3.3/data/tmp
创建两个目录/home/zxhy/hadoop-3.3.3/data/name、/home/zxhy/hadoop-3.3.3/data/file用于存放日志和文件
2.5配置etc/hadoop/yarn-site.xml文件dfs.namenode.name.dir /home/zxhy/hadoop-3.3.3/data/name dfs.datanode.data.dir /home/zxhy/hadoop-3.3.3/data/file
2.6配置etc/hadoop/mapred-site.xml文件yarn.resourcemanager.hostname hadoop01 yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.vmem-chech-enabled false yarn.nodemanager.pmem-check-enabled false yarn.nodemanager.vmem-check-enabled false yarn.nodemanager.env-whitelist JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME yarn.resourcemanager.recovery.enabled true
3、配置集群设备的ip 3.1设置无密码 sshmapreduce.jobhistory.address hadoop01:10020 mapreduce.jobhistory.intermediate-done-dir /home/zxhy/hadoop-3.3.3/data/jobhistory/tmp mapreduce.jobhistory.done-dir /home/zxhy/hadoop-3.3.3/data/jobhistory/done
为用于运行 Hadoop 的帐户建立 ssh 信任(通过无密码 ssh 或其他方式,例如 Kerberos),在每个节点上执行下面命令
#现在检查您是否可以在没有密码的情况下 ssh 到 localhost: $ ssh localhost #如果没有密码就无法 ssh 到 localhost,请执行以下命令: $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 0600 ~/.ssh/authorized_keys
把id_rsa.pub 文件通过scp复制到hadoop01的.ssh目录下,合并秘钥
#在第二个节点执行复制命令 scp /root/.ssh/id_rsa.pub root@hadoop01:$PWD/id_rsa.pub2 #在第三个节点执行复制命令 scp /root/.ssh/id_rsa.pub root@hadoop01:$PWD/id_rsa.pub3 #在第一个节点合并秘钥 cat id_rsa.pub >> authorized_keys cat id_rsa.pub2 >> authorized_keys cat id_rsa.pub3 >> authorized_keys chmod 0600 ~/.ssh/authorized_keys #然后把authorized_keys在复制到hadoop02和hadoop02上 scp authorized_keys root@hadoop02:$PWD scp authorized_keys root@hadoop03:$PWD #然后测试下用ssh能无密码连上其他节点不,如果不需要密码则成功。 ssh hadoop023.2设置主机的hostname
以三个节点为例,分别设置hostname为hadoop01、hadoop02、hadoop03
#修改每个机器的hostname vi /etc/hostname #修改为hadoop01 #修改每个机器的hosts vi /etc/hosts #修改为下面的ip,ip为每个节点的ip 192.168.1.251 hadoop01 192.168.1.250 hadoop02 192.168.1.249 hadoop033.3配置集群主机ip
列出您的etc/hadoop/workers文件中的所有工作人员主机名或 IP 地址,每行一个。帮助程序脚本(如下所述)将使用etc/hadoop/workers文件一次在多个主机上运行命令。它不用于任何基于 Java 的 Hadoop 配置。为了使用此功能,。
#修改每个机器的hostname vi /etc/hadoop/workers #修改为下面内容,每一行一个hostname hadoop01 hadoop02 hadoop034、启动 Hadoop 集群
要启动 Hadoop 集群,您需要同时启动 HDFS 和 YARN 集群。
#首次启动 HDFS 时,必须对其进行格式化。将新的分布式文件系统格式化为hdfs: [hdfs]$ $HADOOP_HOME/bin/hdfs namenode -format 在指定节点上使用以下命令启动 HDFS NameNode 作为hdfs: [hdfs]$ $HADOOP_HOME/bin/hdfs --daemon start namenode #在每个指定节点上使用以下命令启动一个 HDFS DataNode 作为hdfs: [hdfs]$ $HADOOP_HOME/bin/hdfs --daemon start datanode #使用以下命令启动 YARN,在指定的 ResourceManager 上以yarn运行: [yarn]$ $HADOOP_HOME/bin/yarn --daemon start resourcemanager #运行脚本以在每个指定主机上启动 NodeManager 作为yarn: [yarn]$ $HADOOP_HOME/bin/yarn --daemon start nodemanager #启动一个独立的 WebAppProxy 服务器。作为yarn在 WebAppProxy 服务器上运行。如果多个服务器与负载平衡一起使用,则应在每个服务器上运行: [yarn]$ $HADOOP_HOME/bin/yarn --daemon start proxyserver #使用以下命令启动 MapReduce JobHistory Server,在指定服务器上以mapred身份运行: [mapred]$ $HADOOP_HOME/bin/mapred --daemon start historyserver 前面我们配置了etc/hadoop/workers和 ssh 可信访问,则可以使用实用程序脚本启动所有 HDFS 进程。作为 [hdfs]$ $HADOOP_HOME/sbin/start-dfs.sh [yarn]$ $HADOOP_HOME/sbin/start-yarn.sh5、停止 Hadoop 集群
使用以下命令停止 NameNode,在指定的 NameNode 上以hdfs运行: [hdfs]$ $HADOOP_HOME/bin/hdfs --daemon stop namenode #在每个指定节点上使用以下命令停止一个 HDFS DataNode 作为hdfs: [hdfs]$ $HADOOP_HOME/bin/hdfs --daemon stop datanode #使用以下命令停止 YARN,在指定的 ResourceManager 上以yarn运行: [yarn]$ $HADOOP_HOME/bin/yarn --daemon stop resourcemanager #运行脚本以在每个指定主机上停止 NodeManager 作为yarn: [yarn]$ $HADOOP_HOME/bin/yarn --daemon stop nodemanager #停止一个独立的 WebAppProxy 服务器。作为yarn在 WebAppProxy 服务器上运行。如果多个服务器与负载平衡一起使用,则应在每个服务器上运行: [yarn]$ $HADOOP_HOME/bin/yarn --daemon stop proxyserver #使用以下命令停止 MapReduce JobHistory Server,在指定服务器上以mapred身份运行: [mapred]$ $HADOOP_HOME/bin/mapred --daemon stop historyserver 前面我们配置了etc/hadoop/workers和 ssh 可信访问,则可以使用实用程序脚本启动所有 HDFS 进程。作为 [hdfs]$ $HADOOP_HOME/sbin/stop-dfs.sh [yarn]$ $HADOOP_HOME/sbin/stop-yarn.sh6、web管理界面
先把防火墙关闭了,否侧不能访问。
#关闭防火墙。 systemctl stop firewalld.service #永久关闭防火墙。 systemctl disable firewalld.service
按照之前的设置访问web管理界面
名称节点
http://hadoop01:9870/ ,默认 HTTP 端口为 9870。
资源管理器
http://hadoop01:8088/ ,默认 HTTP 端口为 8088。
MapReduce JobHistory 服务器
http://hadoop01:19888/,默认 HTTP 端口为 19888。



