【Linux环境下安装配置JDK和HADOOP】

目录

前言

一、什么是hadoop?

二、JDK和HADOOP环境变量配置

1.利用xshell等工具把jdk和hadoop的压缩包放到指定目录下:

2.新建新用户,并设置密码

3.在新用户下建立以下的目录:

4.把root用户下的压缩包复制到新用户的software里

5.解压jdk和hadoop的压缩包

6.在root用户下配置java和hadoop的环境变量

7.建立hadoop和jdk的软连接

8.设置core-site.xml:

格式化:

启动:

在hadoop中新建user文件夹:

hadoop下新建input:

运行提供的一些示例

将输出文件从分布式文件系统复制到本地文件系统并检查它们:

完成后,通过以下方式停止守护程序:



前言

        工欲善其事,必先利其器,对于刚学数仓的人来说,安装配置hadoop是比较困难的,今天给大家来一期关于在Linux的环境下安装hadoop和jdk。


提示:以下是本篇文章正文内容,下面案例可供参考

一、什么是hadoop?

        hadoop是由Apche基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统,其中重要的主键为HDFS。它具有高容错性的特点,并且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。

二、JDK和HADOOP环境变量配置

1.利用xshell等工具把jdk和hadoop的压缩包放到指定目录下:

路径如下:/home/root/software(其中software是自建的一个目录):

mkdir software      --在root用户下建立

2.新建新用户,并设置密码

代码如下:

useradd yourname       --新建新用户

passwd  youname        --设置密码

3.在新用户下建立以下的目录:

代码如下:

mkdir sourcecode software app log lib tmp shell   --建立文件夹   

--sourcecode:放源代码
--software放压缩包
--app放解压好的文件
--log放日志
--tmp临时文件
--shell放shell脚本

4.把root用户下的压缩包复制到新用户的software里

代码如下:

cp hadoop文件 /home/用户名/software/      --复制到software目录

cp jdk文件 /home/用户名/software/          --复制到software目录

5.解压jdk和hadoop的压缩包

tar -xzvf hadoop文件 -C ../app/          --在新用户下的software文件下,把hadoop文件解压到上层目录APP里

tar -xzvf jdk文件 -C ../app/          --在root用户(权限不足可能)下的software文件下,把jdk文件解压到上层目录APP里

6.在root用户下配置java和hadoop的环境变量

--java的环境变量配置
export JAVA_HOME=/home/[yourname]/app/jdk1.8.0_212
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

hadoop的环境变量配置
export HADOOP_HOME=/home/[yourname]/app/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

判断java是否配置好:可以在命令行输入:

java
javac
java -version --三者通过就说明java的配置好了

判断hadoop是否配好可以输入:

hadoop -version --出来就说明hadoop配置好

7.建立hadoop和jdk的软连接

ln -s hadoop文件 hadoop      --hadoop的软连接

ln -s jdk文件 java   --java的软连接

软连接的好处:jdk和hadoop版本切换时,它是无感知的,只需要更改版本号。

     Local Mode:本地   一台机器  1个Java进程

     Pseudo-Distributed Mode  伪分布式  1台机器  多个java进程

  ​​​​​   Fully-Distributed Mode         完全分布式 集群 多台机器 多个java进程

8.设置core-site.xml:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/localhost/tmp</value>       --临时文件夹,主要localhost是自己机器名
    </property>
</configuration>

设置hdfs-site.xml:


   <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
           <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>localhost:50090</value>
    </property>
   <property>
        <name>dfs.namenode.secondary.https-address</name>
        <value>localhost:50091</value>
    </property>
<property>
  <name>dfs.http.address</name>
  <value>localhost:9870</value>
</property>

配置hadoop-env.sh

export JAVA_HOME=/home/localhost/app/java

免登陆:

  $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
  $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  $ chmod 0600 ~/.ssh/authorized_keys
ssh localhost

格式化:

hdfs namenode -format

启动:

start-dfs.sh     --启动hadoop

可以用jps查看启动了那些服务。

NameNode 名称节点,存储是文件目录树

SecondaryNameNode   第二名称节点, 每隔一个小时把NameNode的数据进行备份

DataNode  数据结点  存放数据

在hadoop中新建user文件夹:

hdfs dfs -mkdir /user   --建立user文件夹

hdfs dfs -mkdir /user/<username>   --username是你的用户名,官网在这才给你提示用户名,而在之前就应该把用户名弄好,不然会因为文件夹的失误而出错

hadoop下新建input:

hdfs dfs -mkdir input

在etc/hadoop下输入:
hdfs dfs -put etc/hadoop/*.xml input

运行提供的一些示例

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

--example后边的版本需要修改

将输出文件从分布式文件系统复制到本地文件系统并检查它们:

$ bin/hdfs dfs -get output output
  $ cat output/*

完成后,通过以下方式停止守护程序:

$ sbin/stop-dfs.sh


版权声明:本文为m0_64016142原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。