Hadoop安装及集群环境配置

环境准备

1.VMware虚拟机(Linux操作系统)

2.Windows10~11

3.JDK

4.Hadoop

5.Xshell 7(用于连接虚拟机与Windows)

6.Xftp 7(用于虚拟机与Windows之间传输文件)

家庭/学校免费 - NetSarang Websiteicon-default.png?t=N7T8https://www.xshell.com/zh/free-for-home-school/

一、虚拟机下Hadoop环境搭建 

1、创建hadoop用户(注:创建后需切换用户

①如果你安装Ubuntu时不是用的"hadoop"用户,那么需要增加一个名为hadoop的用户。首先按ctrl+alt+t打开终端窗口,输入如下命令创建新用户;

sudo useradd -m hadoop -s /bin/bash

②设置密码;

sudo passwd hadoop

为hadoop用户增加管理员权限,方便部署

sudo adduser hadoop sudo

2、更新apt和安装vim(注:可以在【软件和更新】更改软件源

sudo apt-get update

sudo apt-get install vim

3、安装SSH、配置SSH无密码登陆

集群、单节点模式都需要用到 SSH 登陆(类似于远程登陆,你可以登录某台 Linux 主机,并且在上面运行命令),Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server

sudo apt-get install openssh-server

安装后,可以使用如下命令登陆本机

ssh localhost

配置SSH无密码登陆

exit                                      #退出刚才的ssh localhost

cd ~/.ssh/                            #若没有该目录,请先执行一次ssh localhost

ssh-keygen -t rsa                #会有提示,都按回车即可

ssh-copy-id -i ~/.ssh/id_rsa.pub jwd               #此处jwd需修改为用户个人虚拟机计算机名

cat ./id_rsa.pub >> ./authorized_keys            #加入授权

ssh jwd                                                           #登陆SSH

4、安装Java环境

Java Downloads | Oracle 中国icon-default.png?t=N7T8https://www.oracle.com/cn/java/technologies/downloads/#java8-linux在Linux命令行界面中,执行如下Shell命令(注:当前登录用户名是hadoop)

cd /usr/lib

sudo mkdir jvm          #创建/usr/lib/jvm目录用来存放JDK文件

cd 下载

#将下载好的JDK文件解压到/usr/lib/jvm目录下

sudo tar -zxvf ./jdk-8u411-linux-x64.tar.gz -C /usr/lib/jvm  

②配置环境变量

cd ~

vim ~/.bashrc

使用vim编辑器打开hadoop用户的环境变量配置文件,在这个文件的开头位置,添加如下几行内容:

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_411

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

source ~/.bashrc     #使.bashrc文件配置立即生效

java -version        #查看是否安装成功

5、安装Hadoop2.10.2

Index of /apache/hadoop/common/hadoop-2.10.2 (tsinghua.edu.cn)icon-default.png?t=N7T8https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.10.2/sudo tar -zxf ~/下载/hadoop-3.1.3.tar.gz -C /usr/local         #解压到/usr/local中

cd /usr/local/

sudo mv ./hadoop-2.10.2/ ./hadoop          #将文件夹名改为hadoop

sudo chown -R hadoop ./hadoop              #修改文件权限

cd /usr/local/hadoop     

./bin/hadoop version                                  #检查Hadoop是否可用,成功则会显示Hadoop版本信息

6、Hadoop单机配置(非分布式)

cd /usr/local/hadoop

mkdir ./input

cp ./etc/hadoop/*.xml ./input       #将配置文件作为输入文件

./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.2.jar grep ./input ./output 'dfs[a-z.]+'

cat ./output/*            #查看运行结果

rm -r ./output           #Hadoop默认不会覆盖结果文件,因此再次运行上面实例会提示出错,需要先将./output删除。

7、Hadoop伪分布式配置

cd /usr/local/hadoop/etc/hadoop

①sudo vim core-site.xml       #修改配置文件core-site.xml

中的<configuration> </configuration>

修改为下面配置:(注:file后是每人hadoop安装的位置,jwd为个人虚拟机用户计算机名

<configuration>

    <property>

        <name>hadoop.tmp.dir</name>

        <value>file:/usr/local/hadoop/tmp</value>

        <description>Abase for other temporary directories.</description>

    </property>

    <property>

        <name>fs.defaultFS</name>

        <value>hdfs://jwd:9000</value>

    </property>

</configuration>

②sudo vim hdfs-site.xml       #修改配置文件hdfs-site.xml

中的<configuration> </configuration>

修改为下面配置

<configuration>

    <property>

        <name>dfs.replication</name>

        <value>1</value>

    </property>

    <property>

        <name>dfs.namenode.name.dir</name>

        <value>file:/usr/local/hadoop/tmp/dfs/name</value>

    </property>

    <property>

        <name>dfs.datanode.data.dir</name>

        <value>file:/usr/local/hadoop/tmp/dfs/data</value>

    </property>

</configuration>

③sudo vim mapred-site.xml       #修改配置文件mapred-site.xml

中的<configuration> </configuration>

修改为下面配置

<configuration>

    <property>

        <name>mapreduce.framework.name</name>

        <value>yarn</value>

    </property>

    <property>

        <name>mapreduce.jobhistory.address</name>

        <value>jwd:10020</value>

    </property>

    <property>

         <name>mapreduce.jobhistory.webapp.address</name>

         <value>jwd:19888</value>

    </property>

</configuration>

④sudo vim yarn-site.xml       #修改配置文件yarn-site.xml

中的<configuration> </configuration>

修改为下面配置

<configuration>

<!-- Site specific YARN configuration properties -->

        <property>

                <name>yarn.resourcemanager.hostname</name>

                <value>jwd</value>

        </property>

        <property>

                <name>yarn.nodemanager.aux-services</name>

                <value>mapreduce_shuffle</value>

        </property>

</configuration>

⑤sudo vim hadoop-env.sh       

#文件修改(将${JAVA_HOME}修改为/usr/lib/jvm/jdk1.8.0_411)

使用vim编辑器修改hadoop用户的环境变量配置文件,文件开头位置的四行代码修改为下列几行内容

cd ~

vim ~/.bashrc

export HADOOP_HOME=/usr/local/hadoop

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_411

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH

export PATH=${JAVA_HOME}/bin:$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin

export JAVA_LIBRARY_PATH=${HADOOP_HOME}/lib/native

source ~/.bashrc

⑦配置完成后,执行NameNode的格式化;

cd /usr/local/hadoop

./bin/hdfs namenode -format      #执行NameNode的格式化

 

./sbin/start-all.sh       #启动Hadoop

jps                  #验证Hadoop伪分布式配置是否成功

注:若是DataNode没有启动,可尝试如下的方法(注意这会删HDFS中原有的所有数据,如果原有的数据很重要请不要这样做);

cd /usr/local/hadoop

./sbin/stop-all.sh            #关闭Hadoop

rm -r ./tmp                #删除 tmp 文件,注意这会删除 HDFS 中原有的所有数据

./bin/hdfs namenode -format  #重新格式化 NameNode

./sbin/start-all.sh            #重启Hadoop

二、Windows上hadoop的配置

在Windows上配置hadoop

①hadoop环境变量配置;

path添加%HADOOP_HOME%bin

②下载windows专用二进制文件和工具类依赖库: hadoop在windows上运行需要winutils支持和hadoop.dll等文件;
https://github.com/steveloughran/winutilsicon-default.png?t=N7T8https://links.jianshu.com/go?to=https://github.com/steveloughran/winutils

将下载好的hadoop.dll和winutils.exe复制到hadoop-2.10.2\bin目录中;

③配置好环境变量后,win+R输入cmd打开命令提示符,然后输入hadoop version,按回车,如果出现如图所示版本号,则说明配置成功;

  • 22
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值