美文网首页
Hadoop单机模式(伪分布式)

Hadoop单机模式(伪分布式)

作者: andrewliu20 | 来源:发表于2024-03-11 09:42 被阅读0次

一: Hadoop前置工作

  1. 设置主机名,添加配置文件中的信息
vi /etc/sysconfig/network

NETWORKING=YES
HOSTNAME=node1
  1. 映射主机名称
vi /etc/hosts

192.168.191.131 node1
  1. 关闭防火墙和开启自启动
sevice  iptables stop
chkconfig iptables off
vi /etc/selinux/config
SELINUX=disabled
  1. 服务器时间同步
yum install ntp -y
vi /etc/ntp.conf
#文件中添加
server ntp1.aliyun.com
#启动
service  ntpd start
#开机自启动
chkconfig ntpd on
  1. 设置各个服务器间免密登陆
#验证本机否开启免密
ssh localhost
#生成秘钥对
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
#本服务器免加密,如果需要其他机器免加密,就需要吧公钥发给其他机器目录下
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

二: Hadoop配置

  1. Hadoop包部署,创建文件存放目录,解压hadoop文件到该目录(下载包地址:https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.3.6/hadoop-3.3.6-src.tar.gz)
mkdir /opt/bigdata
tar -xf  hadoop-3.3.6-src.tar.gz
  1. 配置hadoop可执行文件全局执行
vi /etc/profile
export HADOOP_HOME=/opt/bigdata/hadoop-3.3.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  1. 配置hadoop的角色/环境配置
cd $HADOOP/etc/hadoop/
#给hadoo配置java环境
vi  hadoop-env.sh
export JAVA_HOME=/usr/java/jdk-11.0.18

vi core-site.xml
#给NN角色在哪里启动
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://node1:9000</value>
  </property>
#hdfs 副本/块的副本
vi  hdfs-site.xml
<configuration>
      <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
 #修改namenode元数据存放地址
  <property>
        <name>dfs.namenode.name.dir</name>
        <value>/var/bigdata/local/dfs/name</value>
    </property>
 #修改datanode block块存放地址
  <property>
        <name>dfs.datanode.data.dir</name>
        <value>/var/bigdata/local/dfs/data</value>
    </property>
 #修改datanode 启动的http-address
  <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>node1:50090</value>
    </property>
#修改namesecondary 目录位置
  <property>
        <name>dfs.namenode.checkpoint.dir</name>
        <value>/var/bigdata/local/dfs/namesecondary</value>
    </property>
</configuration>

#在某台机器启动datanode
vi  workers
node1
  1. 初始化&启动hadoop
# 格式化 创建一个目录,创建了fsimages空文件
hdfs namenode -format

#启动
start-dfs.sh 

注意:如果以下报错,需要在/etc/profile中添加

#启动报错信息
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.

#需要在profile中添加
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

  1. 访问hadoop前端页面 http://192.168.191.131:(50070)9870/ 你是Hadoop3.x以上的版本,需要将端口号50070改成9870.

  2. 在Hadoop的hdfs中创建一个目录,在前端http://node1:9870/explorer.html#/中可以看到文件目录(namenode)

hdfs dfs -mkdir /bigdata
  1. 上传数据到Hadoop中(namenode)
 hdfs dfs -put file.log /user/root
  1. Hadoop的dataNode的数据存放路径
/var/bigdata/local/dfs/data/current/BP-2129942362-127.0.0.1-1709004244410/current/finalized/subdir0/subdir0

相关文章

网友评论

      本文标题:Hadoop单机模式(伪分布式)

      本文链接:https://www.haomeiwen.com/subject/eljaadtx.html