池偏一 | 博客 DEDICATED OPERATION AND MAINTENANCE DEVELOPMENT.
登录
X
X
  • hadoop单机版部署
  • 创建Hadoop账号

    避免采用root账号操作hadoop,引起安全问题。

    1
    2
    sudo useradd -r hadoop
    sudo usermod -G hadoop hadoop

    创建hadoop文件目录

    • hadoop临时文件目录


    1
    mkdir -p /home/hadoop/tmp


    • hadoop主节点(namenode)文件目录


    1
    mkdir -p /home/hadoop/hdfs/name


    • hadoop数据节点(datanode)文件目录


    1
    mkdir -p /home/hadoop/hdfs/data


    • hadoop日志文件目录


    1
    mkdir -p /home/hadoop/log


    • 设置hadoop文件目录所有者


    1
    sudo chown -R hadoop /home/hadoop


    下载hadoop

    hadoop下载地址:官方下载地址

    最新版为3.1.2版:


    1
    wget https://archive.apache.org/dist/hadoop/core/hadoop-3.2.1/hadoop-3.2.1.tar.gz


    下载完成之后,解压安装包即可使用


    1
    2
    tar zxvf hadoop-3.2.1.tar.gz
    mv hadoop-3.2.1 /usr/local/


    将安装目录所有者修改为hadoop:



    1
    sudo chown -R hadoop /usr/local/hadoop-3.2.1


    配置hadoop

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

    配置文件有很多,最基本要修改3个文件:hadoop-env.sh ,core-site.xml,hdfs-site.xml。

    hadoop-env.sh:

    修改JAVA_HOME环境变量为JDK的安装路径。


    1
    2
    # Technically, the only required environment variable is JAVA_HOME.
    export JAVA_HOME=/usr/local/jdk/


    core-site.xml:


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <configuration>
       <property>
           <name>fs.defaultFS</name>
           <value>hdfs://localhost:9000</value>
       </property>
       <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/home/hadoop/tmp</value>
       </property>
    </configuration>


    设置hdfs的监听端口(一般配置为9000,我改为了9001,因为和php-fpm的默认端口冲突)和hadoop临时文件目录。

    hdfs-site.xml:


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <configuration>
       <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/home/hadoop/hdfs/name</value>
       </property>
       <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/home/hadoop/hdfs/data</value>
       </property>
       <property>
           <name>dfs.replication</name>
           <value>1</value>
       </property>
    </configuration>


    设置hdfs的namenode、datanode数据存放路径以及数据块复制备份数量,默认是3,但是因为我们是单机部署,修改为1。

    初始化


    1
    bin/hdfs namenode -format


    启动hadoop

    hadoop提供了一键启动所有组件的脚本,输入命令:


    1
    /usr/local/hadoop/sbin/start-all.sh


    输入jps:


    1
    2
    3
    4
    5
    6
    7
    hadoop@devops:~$ jps
    17761 NameNode
    17889 DataNode
    18083 SecondaryNameNode
    18532 NodeManager
    22474 Jps
    18399 ResourceManager


    可以看到namenode、secondarynamenode、datanode、nodemanager、resourcemanager这三个服务已经启动。


  • posted @ 2022-01-19 by 池偏一 阅读(40) 评论(0)
© 2017 池偏一 | 赣ICP备 17014207号