伪分布Hadoop的安装与部署

1. 实训目标

(1)熟悉掌握使用在Linux下安装JDK。

(2)熟悉掌握使用在Linux下安装Hadoop。

(3)熟悉掌握使用配置SSH免密登录。

2. 实训环境 与软件

|--------------|-----------------|----------------------------|
| 环境 | 版本 | 说明 |
| Windows 10系统 | 64位 | 操作电脑配置 |
| VMware | 16 | 用于搭建所需虚拟机Linux系统 |
| Linux系统 | CentOS 7 | 已配置完成 |
| hadoop | 192.168.213.200 | 用于安装JDK与Hadoop伪分布式的搭建 |
| 软件 | 版本 | 说明 |
| JDK | 1.8 | jdk-8u161-linux-x64.tar.gz |
| Hadoop | 3.1.4 | hadoop-3.1.4.tar.gz |

3. 实训说明

在实际应用中,如果是做简单的测试数据不大,可以使用Hadoop伪分布式集群来运算。Hadoop伪分布式部署的步骤流程与分布式的相差不大,相对来说要更简单些。集群的配置需要具体问题具体分析,根据业务需求搭建合适的集群环境。因此,请基于Hadoop 3.1.4版本,安装并部署伪分布式Hadoop集群,巩固Hadoop集群的搭建操作,加深对Haddop的理解。

4. 实训步骤

4.1 FinalShell远程连接Linux系统

(1)使用命令"ifconfig"查看虚拟机的IP地址。

(2)打开Final shell连接Linux系统。

4.2 修改主机别名为hadoop

(1)使用hostnamectl命令设置主机别名,最后重启reboot。

java 复制代码
hostnamectl set-hostname hadoop
reboot

(2)使用命令"host"查看修改后的主机名。

(3)进入hosts文件里面添加IP与主机别名的映射关系。

java 复制代码
vi /etc/hosts
192.168.213.200 hadoop

4.3 设置SSH免密登录

(1)使用"ssh-keygen -t rsa"命令,接着按3次"Enter"键。ssh-keygen产生公钥与私钥(可以进入.ssh目录中查看,id_rsa:私钥,id_rsa.pub :公钥)。

(2)使用命令"ssh-copy-id"将公钥复制至master,输入ssh-copy-id hadoop后,输入yes和密码。

(3)验证免密登录是否成功,输入ssh hadoop命令。

4. 4 安装JDK

(1)将JDK安装包jdk-8u161-linux-x64.tar.gz上传至虚拟机master的/opt目录下,进入/opt目录下,使用"tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/local/"命令将JDK解压安装到/usr/local目录下,具体实现如下所示。

java 复制代码
cd /opt/
tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/local/

(2)验证JDK是否配置成功,使用"java -version"命令查看Java版本。具体实现如代码所示。

4.5 安装Hadoop ,配置jdk和hadoop的环境变量

(1)将Hadoop安装包hadoop-3.1.4.tar.gz上传至虚拟机master的/opt目录下,使用"tar -zxvf hadoop-3.1.4.tar.gz -C /usr/local"命令,将Hadoop安装包解压至master的/usr/local目录下。

java 复制代码
cd /opt/
tar -zxvf hadoop-3.1.4.tar.gz -C /usr/local/

(2)配置jdk和hadoop的环境变量。使用命令"vi /etc/profile"在hadoop节点上修改/etc/profile文件,在文件末尾添加如下代码内容,文件修改完保存退出,然后使用"source /etc/profile"命令使配置生效。

代码4.4-1 设置Jdk和Hadoop环境变量

java 复制代码
export JAVA_HOME=/usr/local/jdk1.8.0_161
export HADOOP_HOME=/usr/local/hadoop-3.1.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

(3)使用"source /etc/profile"命令使配置生效。

(4)使用jps和javac命令测试一下是否配置成功。

4.6 配置Hadoop相关文件

使用命令"cd /usr/local/hadoop-3.1.4/etc/hadoop/ "进入/usr/local/hadoop-3.1.4/etc/hadoop目录。依次修改core-site.xml、hadoop-env.sh、hdfs-site.xml、mapred-site.xml、yarn-site.xml共5个配置文件的内容,具体操作步骤如下。

(1)使用命令"vi core-site.xml"打开文件。hadoop.tmp.dir配置了Hadoop的临时文件的目录。添加的内容如代码4.5-1所示。

代码4.5-1 修改core-site.xml

java 复制代码
<configuration>
    <property>
    <name>fs.defaultFS</name>
      <value>hdfs://hadoop:8020</value>
      </property>
    <property>
      <name>hadoop.tmp.dir</name>
      <value>/usr/local/hadoop-3.1.4/tmp</value>
    </property>
</configuration>

(2)使用命令"**vi **hadoop-env.sh"****打开文件。hadoop-env.sh文件设置了Hadoop运行基本环境的配置,需要修改JDK所在目录。修改内容如代码4.5-2所示。

代码4.5-2 修改hadoop-env.sh

java 复制代码
export JAVA_HOME=/usr/local/jdk1.8.0_161
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

(3)使用命令**"vi hdfs-site.xml"**打开文件。hdfs-site.xml设置了HDFS相关的配置,修改内容如代码4.5-3所示。

代码4.5-3 修改hdfs-site.xml文件

java 复制代码
<configuration>
<property>
        <name>dfs.namenode.http-address</name>
        <value>hadoop:9870</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop:9868</value>
</property>
</configuration>

(4)使用命令"vi mapred-site.xml ****"****打开文件,mapred-site.xml文件添加的内容如代码4.54所示。

代码4.5-4 mapred-site.xml文件添加的内容

java 复制代码
<configuration>
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
</configuration>

(5)使用命令"vi yarn-site.xml ****"****打开文件,yarn-site.xml文件修改的内容如代码4.5-5所示。

代码4.5-5 yarn-site.xml文件修改的内容

java 复制代码
<configuration>
<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop</value>
</property>
</configuration>

4.7 启动Hadoop

(1)在首次启动签需要使用命令"hdfs namenode -format"格式化NameNode。

(2)格式化完成后即可启动Hadoop集群,使用命令"start-all.sh"可启动Hadoop集群。

(3)集群启动之后,使用"jps"命令,出现如下图所示的6个进程信息,说明集群启动成功。

4.8 查看HDFS对应的webUI(必须要先关闭防火墙)

首先查看防火墙的状态:firewall-cmd --state

如果防火墙为开启状态,需要关闭防火墙:systemctl stop firewalld.service

浏览器输入网址:http://192.168.25.200:9870

相关推荐
蘑菇蘑菇不会开花~9 分钟前
分布式Redis(14)哈希槽
redis·分布式·哈希算法
问道飞鱼1 小时前
分布式中间件-Pika一个高效的分布式缓存组件
分布式·缓存·中间件
小宋10213 小时前
玩转RabbitMQ声明队列交换机、消息转换器
服务器·分布式·rabbitmq
江畔独步4 小时前
Hive内置集合函数-size,map_keys,map_values,sort_array,array_contains
数据仓库·hive·hadoop
天地风雷水火山泽4 小时前
二百六十五、Hive——目前Hive数仓各层表样例
数据仓库·hive·hadoop
棉花糖灬4 小时前
Hive常用函数
数据仓库·hive·hadoop
懒洋洋的华3698 小时前
消息队列-Kafka(概念篇)
分布式·中间件·kafka
March€9 小时前
分布式事务的基本实现
分布式
DieSnowK10 小时前
[Redis][环境配置]详细讲解
数据库·redis·分布式·缓存·环境配置·新手向·详细讲解
Lill_bin11 小时前
深入理解ElasticSearch集群:架构、高可用性与数据一致性
大数据·分布式·elasticsearch·搜索引擎·zookeeper·架构·全文检索