Hadoop单机部署步骤详解

1,854 阅读2分钟

我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第1篇文章,点击查看活动详情

前言

公司要研究数据中台,领导找了个框架《WeDataSphere》,感觉功能挺齐全的可以部署看看,里面有前置需求需要安装Hadoop、Hive和Spark,因此让我先把前置环境部署好。

我这里就把部署过程中遇到的问题记录下,以后需要用到了可以回来翻一翻。

下载链接dlcdn.apache.org/hadoop/comm…

这里选用的是hadoop-3.3.4版本

单机版安装

上传文件到指定目录

cd /data/soft

解压

tar -zxvf hadoop-3.3.4.tar.gz

配置环境变量

# 编辑环境变量
vim /etc/profile
# 指定hadoop目录
export HADOOP_HOME=/data/soft/hadoop-3.3.4
export PATH=$HADOOP_HOME/bin:$PATH
# 保存
:wq
# 刷新配置
source /etc/profile
# 查看版本
hadoop version

配置文件

路径:/data/soft/hadoop-3.3.4/etc/hadoop

这里需要修改的配置文件有以下5个,其余的参数感兴趣的小伙伴可以到Hadoop官网查看哦,打开连接后左侧菜单拉到最下方就是了。

image.png

  • core-site.xml

    vim core-site.xml
    ​
    <!-- 添加节点配置 -->
    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <!-- 这里填的是你自己的ip,端口默认-->
            <value>hdfs://localhost:9000</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <!-- 这里填的是你自定义的hadoop工作的目录,端口默认-->
            <value>/data/soft/hadoop-3.3.4/tmp</value>
        </property>
    ​
        <property>
            <name>hadoop.native.lib</name>
            <value>false</value>
            <description>Should native hadoop libraries, if present, be used.
            </description>
        </property>
        <!-- 配置HDFS网页登录使用的静态用户为“你想要进行删除操作的用户名” -->
        <property>
            <name>hadoop.http.staticuser.user</name>
            <value>你的用户名</value>
        </property>
    </configuration>
    ​
    :wq
    
  • hadoop-env.sh

    vim hadoop-env.sh
    ​
    # 指定java安装路径
    export JAVA_HOME=/usr/local/jdk1.8.0_261
    ​
    :wq
    
  • hdfs-site.xml

    vim hdfs-site.xml
    ​
    <configuration>
    <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
        <property>
            <name>dfs.http.address</name>
                    <!--这里是你自己的ip,端口默认-->
            <value>ip:50070</value>
        </property>
    </configuration>
    ​
    ​
    :wq
    
  • mapred-site.xml

    vim mapred-site.xml
    ​
    <configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    </configuration>
    ​
    :wq
    
  • yarn-site.xml

    vim yarn-site.xml
    ​
    <configuration>
    <!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <!-- 自己的ip端口默认 -->
        <value>ip</value>
    </property>
    <!-- reducer获取数据的方式 -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    </configuration>
    ​
    :wq
    

格式化,启动

切换目录

cd /data/soft/hadoop-3.3.4/sbin

格式化命令

hadoop namenode -format

启动脚本添加参数:

  • start-dfs.sh

  • stop-dfs.sh

    # 以上两个文件添加相同配置
    HDFS_DATANODE_USER=root
    HDFS_DATANODE_SECURE_USER=hdfs
    HDFS_NAMENODE_USER=root
    HDFS_SECONDARYNAMENODE_USER=root
    
  • start-yarn.sh

  • stop-yarn.sh

    # 以上两个文件添加相同配置
    YARN_RESOURCEMANAGER_USER=root
    HADOOP_SECURE_DN_USER=yarn
    YARN_NODEMANAGER_USER=root
    

启动

./start-all.sh

免密

如果遇上以下错误提示:

  • Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
  • Permanently added 'localhost' (ECDSA) to the list of known hosts.

则需设置ssh免密登录,步骤如下:

  • 生成密钥:ssh-keygen -t rsa
  • 连续按三次回车键即可,路径为:~/.ssh

修改配置文件:vi /etc/ssh/sshd_config

# 参数设置
PermitRootLogin yes
StrictModes no
PasswordAuthentication yes

重启ssh服务:service sshd restart

测试

输入jps查看是否有NodeManager,DataNode,SecondaryNameNode等进程

image.png

或者浏览器打开:http://ip:50070

image.png