IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Hadoop环境搭建过程记录 -> 正文阅读

[大数据]Hadoop环境搭建过程记录

Hadoop环境搭建

配置jdk

参考上篇博文:https://editor.csdn.net/md/?articleId=121432910
本机路径:/usr/java/jdk1.8.0_121

安装&配置

上传hadoop

官网hadoop.apache.org下载hadoop,使用版本:3.2.2
上传hadoop-3.2.2.tar.gz到服务器/tmp下。 [ /tmp目录会定时清除没有使用的文件,默认30天。]

新建用户、工作目录

useradd hadoop
mkdir sourcecode software app log data lib tmp

移动解压

su -
mv /tmp/hadoop-3.2.2.tar.gz /home/hadoop/software/
chown hadoop:hadoop /home/hadoop/software/hadoop-3.2.2.tar.gz

su - hadoop
tar -zxvf /home/gulyas/hadoop-3.2.2.tar.gz -C /home/gulyas/app/ 【-C 解压到指定目录】

ln -s hadoop-3.2.2 hadoop

hadoop解压目录说明

bin      # hadoop相关命令
etc      # 配置文件
include
lib      # 存放Hadoop的本地库(对数据进行压缩解压缩功能)
libexec
sbin    # hadoop服务启动停止脚本
share   # 存放Hadoop的依赖jar包、文档、和官方案例
hadoop配置jdk

vi ./app/hadoop/etc/hadoop/hadoop-env.sh

# 加入以下配置
export JAVA_HOME=/usr/java/jdk1.8.0_121
配置主机名
hostnamectl set-hostname gargantua
ifconfig # 查看内网ip
vi /etc/hosts
172.16.69.205 gargantua  # 一定要是本机内网ip

# hosts中不能配置公网ip,否则可能导致9000端口程序访问不到。
# 重启也会导致NameNode起不来。
# 但是如果要配置其他主机NameNode的地址,那一定要配置其他主机的公网ip。

vi /etc/sysconfig/network
HOSTNAME= gargantua

配置伪分布式模式

hadoop的配置文件都在HADOOP_HOME/etc目录下:

core-site.xml
<configuration>
    <!--配置NameNode的启动端点-->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://yogie.com:9000</value>
    </property>
    <!--配置hadoop的数据目录-->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/gulyas/tmp/hadoop-${user.name}</value>
    </property>
</configuration>

说明:hadoop.tmp.dir在没有配置的情况下已经启动过,如果直接改配置文件的此项配置,会导致NameNode服务启动失败。那是因为,hadoop的每个进程每次启动都会生成一个版本文件.

hdfs-site.xml
<configuration>
    <!--配置block副本数量,默认为3-->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <!--配置Secondary NameNode的启动端点(http协议)-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>gargantua:9966</value>
    </property>
    <!--配置Secondary NameNode的启动端点(https协议)-->
    <property>
        <name>dfs.namenode.secondary.https-address</name>
        <value>gargantua:9966</value>
    </property>
    <!--如果一台机器挂载了多个数据盘,那么需要做一下配置:
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>/data01/dfs/dn,/data02/dfs/dn,/data03/dfs/dn</value>
        </property>
    -->
</configuration>

如果一台机器挂载了多块物理磁盘,需要对dfs.datanode.data.dir做配置。
例如:一块磁盘的写能力30M/s,装载10快磁盘后,就是300M/s,写同样的数据,后者更高效。多块磁盘是为了存储空间更大,且高效率的读写IO。 肯定比单块磁盘更快。所以在生产上,DataNode的dfs.datanode.data.dir参数必须根据机器的实际情况配置。

hadoop-env.sh

pid文件说明:
pid文件记录集群中每个进程启动的pid编号。当执行sbin/stop-dfs.sh或stop-all.sh等命令的时候,hadoop会根据pid文件找到每个进程的pid,然后执行kill -9 pid来关闭进程。

export HADOOP_PID_DIR=/home/hadoop/tmp
mapred-site.xml
<configuration>
    <!--配置mr作业的计算框架-->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <!--配置mr运行application的classpath目录-->
    <property>
        <name>mapreduce.application.classpath</name>
        <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
    </property>
</configuration>
yarn-site.xml
<configuration>
    <!--NodeManager上运行的附属服务-->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!--环境变量白名单-->
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,PATH,LANG,TZ,JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,PATH,LANG,TZ,HADOOP_MAPRED_HOME</value>
    </property>
    <!--yarn作业web界面,yarn的8088端口不安全,必须改端口-->
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>yogie.com:8123</value>
    </property>
</configuration>

配置ssh

ssh-keygen # 一直回车
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

# 测试
ssh gargantua # 第一次需要输入yes
# 如果还需要输入密码,那么ssh配置或者600权限有问题。

启动

启动hdfs

格式化hdfs文件目录
cd app/hadoop
bin/hdfs namenode -format

启动主节点和数据节点
sbin/start-dfs.sh
【启动成功之后,使用jsp查看一下 、 或者使用ps查看】
ps -ef|grep hadoop
NameNode:存储的是数据的元数据,例如文件名称,路径,大小等信息。
DataNode:存储的是数据。

启动yarn

sbin/start-yarn.sh

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-12-02 16:50:07  更:2021-12-02 16:50:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:50:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码