hadoop 3.x 伪分布式搭建

hadoop 伪分布式搭建

环境

  • CentOS 7
  • jdk 1.8
  • hadoop 3.3.6

1. 准备

  1. 准备环境所需包
  2. 上传所有压缩包到服务器

2. 安装jdk

shell 复制代码
# 解压jdk到/usr/local目录下
tar -xvf jdk-8u431-linux-x64.tar.gz -C /usr/local

先不着急配置java环境变量,后面和hadoop一起配置

3. 安装hadoop

shell 复制代码
# 解压hadoop到/usr/local目录下
tar -xvf hadoop-3.3.6.tar.gz -C /usr/local

4. 配置hadoop

进入目录 /usr/local/hadoop-3.3.6/sbin,修改如下文件

  • mapred-site.xml

    xml 复制代码
    <configuration>
    	<property>
    		<!-- 指定mapreduce 编程模型运行在yarn上-->
    		<name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
  • core-site.xml

    xml 复制代码
    <configuration>
    	<!-- 指定hadoop运行时产生文件的存储路径-->
    	<property>
    		<name>hadoop.tmp.dir</name>
    		<value>file:/usr/local/hadoop-3.3.6/tmp</value>
    		<description>Abase for other temporary directories.</description>
    	</property>
    	<!--hdfs namenode的通信地址-->
    	<property>
    		<name>fs.defaultFS</name>
    		<value>hdfs://localhost:9000</value>
    	</property>
    	<!--该用户将作为所有 Hadoop 服务的运行身份-->
    	<property>
    		<name>hadoop.http.staticuser.user</name>
          <value>root</value>
      </property>
    </configuration>
  • hdfs-site.xml

    xml 复制代码
    <configuration>
      <!--指定HDFS储存数据的副本数目,默认情况下为3份-->
      <property>
          <name>dfs.replication</name>
          <value>1</value>
      </property>
      <!--name node 存放 name table 的目录-->
      <property>
          <name>dfs.namenode.name.dir</name>
          <value>file:/usr/local/hadoop-3.3.6/tmp/dfs/name</value>
      </property>
      <!--DataNode 在本地磁盘存放数据块(block)的位置-->
      <property>
          <name>dfs.datanode.data.dir</name>
          <value>file:/usr/local/hadoop-3.3.6/tmp/dfs/data</value>
      </property>
      <!--设置监控页面的端口及地址-->
      <property>
          <name>dfs.http.address</name>
          <value>0.0.0.0:50070</value>
      </property>
    </configuration>
  • yarn-site.xml

    xml 复制代码
    <configuration>
    
      <!-- Site specific YARN configuration properties -->
      <property>
          <!-- 指定mapreduce 编程模型运行在yarn上 -->
          <name>yarn.nodemanager.aux-services</name>
          <value>mapreduce_shuffle</value>
      </property>
    </configuration>

修改编辑开始和关闭脚本,进入目录/usr/local/hadoop/hadoop-3.3.6/sbin,修改文件如下

注:所有添加内容,都是在文件最开头的 #/usr/bin/env bash 下

  • start-dfs.sh

    cmd 复制代码
    HDFS_DATANODE_USER=root 
    HADOOP_SECURE_DN_USER=hdfs
    HDFS_NAMENODE_USER=root
    HDFS_SECONDARYNAMENODE_USER=root
  • stop-dfs.sh

    cmd 复制代码
    HDFS_DATANODE_USER=root 
    HADOOP_SECURE_DN_USER=hdfs
    HDFS_NAMENODE_USER=root
    HDFS_SECONDARYNAMENODE_USER=root
  • start-yarn.sh

    cmd 复制代码
    YARN_RESOURCEMANAGER_USER=root
    HADOOP_SECURE_DN_USER=yarn
    YARN_NODEMANAGER_USER=root
  • stop-yarn.sh

    cmd 复制代码
    YARN_RESOURCEMANAGER_USER=root
    HADOOP_SECURE_DN_USER=yarn
    YARN_NODEMANAGER_USER=root

修改hadoop-env环境变量,进入目录/usr/local/hadoop-3.3.6/etc/hadoop,打开 hadoop-env.sh 文件追加内容如下

cmd 复制代码
export JAVA_HOME=/usr/local/jdk1.8.0_431
export HADOOP_CONF_DIR=/usr/local/hadoop-3.3.6/etc/hadoop

5. 编辑环境变量

shell 复制代码
# 打开环境变量文件
vim /etc/profile

文件末尾追加内容

shell 复制代码
# Java
export JAVA_HOME=/usr/local/jdk1.8.0_431
export MAVEN_HOME=/usr/local/apache-maven-3.9.0
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar

# Hadoop
export HADOOP_HOME=/usr/local/hadoop-3.3.6/
export PATH=$PATH:${JAVA_HOME}/bin:${MAVEN_HOME}/bin:${HADOOP_HOME}/bin

执行命令,使其生效

shell 复制代码
source /etc/profile

6. SSH免密登录设置

shell 复制代码
# 本地连接本地
ssh localhost
# 退出
exit
# 进入root目录
cd ~/.ssh
# 执行命令,三次回车
ssh-keygen -t rsa
cat id_rsa.pub >> authorized_keys

7.启动

shell 复制代码
cd /usr/local/hadoop/hadoop-3.3.6/etc/hadoop
# 初始化
hadoop namenode -format
# 启动hadoop
./start-all.sh
# 查看进程
jps

不出意外,结果如下

text 复制代码
12720 ResourceManager
15072 Jps
14002 NameNode
14754 NodeManager
14389 SecondaryNameNode
14173 DataNode

用浏览器访问地址:http://[服务器IP]:50070,http://[服务器IP]:8088

相关推荐
Yz98761 小时前
hive复杂数据类型Array & Map & Struct & 炸裂函数explode
大数据·数据库·数据仓库·hive·hadoop·数据库开发·big data
那一抹阳光多灿烂2 小时前
Spark中的Stage概念
大数据·spark
EDG Zmjjkk3 小时前
Hive 函数(实例操作版2)
数据仓库·hive·hadoop
北京鹏生科技有限公司3 小时前
EcoVadis审核是什么?EcoVadis审核流程包括什么?
大数据·百度
Moshow郑锴4 小时前
数据库、数据仓库、数据湖、数据中台、湖仓一体的概念和区别
大数据·数据库·数据仓库·数据湖·湖仓一体
IT枫斗者4 小时前
如何解决Java EasyExcel 导出报内存溢出
java·服务器·开发语言·网络·分布式·物联网
求积分不加C4 小时前
Kafka怎么发送JAVA对象并在消费者端解析出JAVA对象--示例
java·分布式·kafka·linq
GDDGHS_5 小时前
“Kafka面试攻略:核心问题与高效回答”
分布式·面试·kafka
꧁薄暮꧂6 小时前
kafka中的数据清理策略
数据库·分布式·kafka
二进制_博客6 小时前
Flink学习连载第二篇-使用flink编写WordCount(多种情况演示)
大数据