zoukankan      html  css  js  c++  java
  • 安装Hadoop及配置伪分布式模式的Hadoop

    0.环境

    VMWare15 Pro、Ubuntu16.04、Hadoop3.2.1,伪分布式

    1. VMware 15安装Ubuntu 16.04并配置环境

     https://www.cnblogs.com/caoer/p/12669183.html

    2. 创建hadoop用户

    1)创建hadoop用户,并使用/bin/bash作为shell: sudo useradd -m hadoop -s /bin/bash

    2) 为hadoop用户设置密码,之后需要连续输入两次密码: sudo passwd hadoop

    3) 为hadoop用户增加管理员权限:sudo adduser hadoop sudo

    4) 切换当前用户为用户hadoop: su – hadoop

    5) 更新hadoop用户的apt: sudo apt-get update

    3. JDK安装和Java环境变量配置

    (1)安装 JDK 1.8

    hadoop用户登陆,下载JDK安装包, 个人电脑系统选择对应版本,我选的是jdk-8u251-linux-x64.tar.gz,在文件下打开终端输入命令:

    $ mkdir /usr/lib/jvm                           #创建jvm文件夹

    $ sudo tar zxvf jdk-8u251-linux-x64.tar.gz  -C /usr/lib/jvm #/ 解压到/usr/lib/jvm目录下

    $ cd /usr/lib/jvm                                 #进入该目录

    $ mv  jdk1.8.0_80 java                         #重命名为java

    $ vi ~/.bashrc                                 #给JDK配置环境变量

    其中如果权限不够,无法在相关目录下创建jvm文件夹,那么可以使用 $ sudo -i  语句进入root账户来创建文件夹。

    (2)Java环境变量配置

    root用户登陆,命令行中执行命令”vi /etc/profile”,按I并加入以下内容,配置环境变量(注意/etc/profile这个文件很重要,后面Hadoop的配置还会用到)。

    export JAVA_HOME=/usr/lib/jvm/java

    export JRE_HOME=${JAVA_HOME}/jre

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

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

    保存并退出,执行以下命令使配置生效

    $ source  ~/.bashrc

    $ java -version                          #检测是否安装成功,查看java版本

     

    4. 配置所有节点之间SSH无密码验证

    以节点A和B两个节点为例,节点A要实现无密码公钥认证连接到节点B上时,节点A是客户端,节点B是服务端,需要在客户端A上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到服务端B上。当客户端A通过ssh连接服务端B时,服务端B就会生成一个随机数并用客户端A的公钥对随机数进行加密,并发送给客户端A。客户端A收到加密数之后再用私钥进行解密,并将解密数回传给B,B确认解密数无误之后就允许A进行连接了。这就是一个公钥认证过程,其间不需要用户手工输入密码。重要过程是将客户端A公钥复制到B上。

    因此如果要实现所有节点之间无密码公钥认证,则需要将所有节点的公钥都复制到所有节点上。

    (1)安装ssh: sudo apt-get install openssh-server

    登录ssh:ssh localhost

    退出登录的ssh localhost:exit

    (2)进入ssh目录:cd ~/.ssh/

    (a)节点用hadoop用户登陆,并执行以下命令,生成rsa密钥对:

    ssh-keygen -t rsa (回车后敲击三次回车)

    这将在/home/hadoop/.ssh/目录下生成一个私钥id_rsa和一个公钥id_rsa.pub。

    (c)加入授权:cat ./id_rsa.pub >> ./authorized_keys

      这样配置过后SSH无密码登陆,可以通过命令“ssh localhost”来验证。

    5. Hadoop集群配置

    使用hadoop用户登陆,下载hadoop-3.2.1.tar.gz,将其解压到/usr/local/hadoop目录下: sudo tar -zxvf  hadoop-2.6.0.tar.gz -C /usr/local,进入目录:cd /usr/local,重命名为hadoop: sudo mv  hadoop-3.2.1    hadoop,修改文件权限:sudo chown -R hadoop ./hadoop。

    给hadoop配置环境变量:

    (1)打开bashrc文件:vi ~/.bashrc

    (2)加入以下代码:

    export HADOOP_HOME=/usr/local/hadoop

    export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH

    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    (3)保存更改并生效:source ~/.bashrc。

    $hadoop version 查看hadoop是否安装成功。

    6. Hadoop集群启动

    Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。

    a)  首先将jdk1.8的路径添(export JAVA_HOME=/usr/lib/jvm/java )加到hadoop-env.sh文件。

    $ cd /usr/local/hadoop/etc/hadoop/

    $ vim hadoop-env.sh

    b)  修改core-site.xml:vim core-site.xml

    <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://localhost:9000</value>

            </property>

    </configuration>

    c)  修改配置文件 hdfs-site.xml

    <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>

    d)     配置完成后,执行 NameNode 的格式化

    $ cd /usr/local/hadoop/

    $ ./bin/hdfs namenode -format

    e)  启动namenode和datanode进程,并查看启动结果

    $ ./sbin/start-dfs.sh

    $ jps

     

    f)  成功启动后,可以访问 Web 界面 http://localhost:9870 查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。

     

     

    至此Hadoop安装就结束啦,以上为个人大数据学习成长历程~

    本文为博主原创文章,未经博主允许禁止转载,需转载请注明出处,欢迎指正!
  • 相关阅读:
    人工智能芯片支持超低功耗器件的推理
    新十年嵌入式音频的五大趋势
    面向汽车应用的硬件推理芯片
    MySQL优化技巧总结
    JAVA集合类汇总
    为什么HashMap初始大小为16,为什么加载因子大小为0.75,这两个值的选取有什么特点?
    ztree 树状图——例
    amazeUI表单提交验证--input框required
    bigcolorpicker 颜色拾取器插件——例
    博客园-去掉皮肤
  • 原文地址:https://www.cnblogs.com/caoer/p/13197609.html
Copyright © 2011-2022 走看看