zoukankan      html  css  js  c++  java
  • Hadoop第1~2周练习—Hadoop1.X和2.X安装

    1    练习题目

    2    Hadoop1.X安装

    2.1    准备工

    2.1.1   硬软件环境

    2.1.2   集群网络环境

    2.1.3   安装使用工具

    2.2  环境搭建

    2.2.1   安装操作系统

    2.2.2   配置本地环境

    2.2.3   设置操作系统环境

    2.3    Hadoop变量配置

    2.3.1   下载并解压hadoop安装包

    2.3.2   Hadoop-1.1.2目录下创建子目录

    2.3.3   配置hadoop-env.sh

    2.3.4   配置core-site.xml

    2.3.5   配置hdfs-site.xml

    2.3.6   配置mapred-site.xml

    2.3.7   配置mastersslaves文件

    2.3.8   向各节点复制hadoop

    2.3.9   格式化namenode

    2.3.10启动hadoop

    2.3.11jps检验各后台进程是否成功启动

    3    Hadoop2.X安装

    3.1  运行环境说明

    3.1.1   硬软件环境

    3.1.2   集群网络环境

    3.1.3   安装使用工具

    3.2    环境搭建

    3.2.1   配置本地环境

    3.2.2   设置操作系统环境

    3.3  配置Hadooop设置

    3.3.1   下载并解压hadoop安装包

    3.3.2   Hadoop目录下创建子目录

    3.3.3   配置hadoop-env.sh.

    3.3.4   配置yarn-env.sh.

    3.3.5   配置core-site.xml

    3.3.6   配置hdfs-site.xml

    3.3.7   配置mapred-site.xml

    3.3.8   配置yarn-site.xml

    3.3.9   配置slaves文件

    3.3.10向各节点分发hadoop程序

    3.3.11格式化namenode

    3.3.12启动hdfs

    3.3.13验证当前进行

    3.3.14启动yarn

    3.3.15验证当前进行

    4    问题解决

    4.1   安装CentOS64位虚拟机 This host supports Intel VT-x, but Intel VT-x is disabled

    4.2   *** is not in the sudoers file解决方法

    4.3  yum无法下载

     

    1    练习题目

    1.     完成Hadoop 1.x集群的安装,把安装的过程抓图(不方便抓图的可以用拍照等各种手段)放在作业中,作业中应要介绍具体的安装环境和主要安装步骤。

    2.     (可选)准备好Hadoop 2.x的安装环境,下周进行Hadoop 2.x安装,下周作业量可能比较大,请提前准备。可以考虑使用6台虚拟机,3台给1.x集群,3台给2.x集群,只要具备能同时开动三节点的能力即可。如果在同一节点上同时实施1.x2.x可以考虑分开成不同的用户进行安装,这样不容易混淆环境变量和主目录。

    2    Hadoop1.X安装

    2.1  准备工作

    2.1.1硬软件环境

    以下为完全分布式环境下在CentOS6.5中配置Hadoop-1.1.2时的总结文档,但该文档也适合其他版本的Linux系统和目前各版本的Hadoop(需要注意的是Hadoop-0.20之后的版本配置文件hadoop-site.xml被拆分成了三个core-site.xmlhdfs-site.xmlmapred-site.xml)

    Hadoop搭建环境:

    l  主机操作系统:Windows 64 bit,双核4线程,主频2.2G6G内存

    l  虚拟软件:VMware® Workstation 9.0.0 build-812388

    l  虚拟机操作系统:三个节点均为CentOS6.5 64位,单核,1G内存

    l  JDK1.7.0_55 64

    l  Hadoop1.1.2

    2.1.2集群网络环境

    集群包含三个节点:1namenode2datanode,其中节点之间可以相互ping通。节点IP地址和主机名分布如下:

    序号

    IP地址

    机器名

    类型

    用户名

    运行进程

    1

    10.88.147.221

    hadoop1

    名称节点

    hadoop

    NNSNNJobTracer

    2

    10.88.147.222

    hadoop2

    数据节点

    hadoop

    DNTaskTracer

    3

    10.88.147.223

    hadoop3

    数据节点

    hadoop

    DNTaskTracer

    所有节点均是CentOS系统,防火墙均禁用,所有节点上均创建了一个hadoop用户,用户主目录是/usr/hadoop。所有节点上均创建了一个目录/usr/local/hadoop,并且拥有者是hadoop用户。因为该目录用于安装hadoop,用户对其必须有rwx权限。(一般做法是root用户在/usr/local下创建hadoop目录,并修改该目录拥有者为hadoop(chown R hadoop /usr/local/hadoop),否则通过SSH往其他机器分发Hadoop文件会出现权限不足的提示。

    2.1.3安装使用工具

    2.1.3.1Linux文件传输工具

    Linux系统传输文件推荐使用SSH Secure File Transfer,该工具顶部为工具的菜单和快捷方式,中间部分左面为本地文件目录,右边为远程文件目录,可以通过拖拽等方式实现文件的下载与上传,底部为操作情况监控区,如下图所示:

    clip_image002

    2.1.3.2Linux命令行执行工具

    l  SSH Secure Shell

    SSH Secure工具的SSH Secure Shell提供了远程命令执行,如下图所示:

     

    clip_image004

    l  SecureCRT

    SecureCRT是常用远程执行Linux命令行工具,如下图所示:

    clip_image006

    2.2  环境搭建

    本次安装集群分为三个节点,节点设置按照1.2章节进行设置。环境搭建分为三部分,具体为安装操作系统、配置本地环境和设置操作系统环境。

    2.2.1安装操作系统

    第一步插入CentOS 6.5的安装介质,使用介质启动电脑出现如下界面

    clip_image008

    lInstall or upgrade an existing system 安装或升级现有的系统 

    linstall system with basic video driver 安装过程中采用基本的显卡驱动 

    lRescue installed system 进入系统修复模式

    lBoot from local drive   退出安装从硬盘启动

    lMemory test  内存检测

    第二步介质检测选择"Skip",直接跳过

    clip_image010

    第三步出现引导界面,点击“next

    clip_image012

    第四步选择安装过程语言,选中"EnglishEnglish"

    clip_image014

    第五步键盘布局选择“U.S.English

    clip_image016

    第六步选择“Basic Storage Devies"点击"Next"

    clip_image018

    第七步询问是否覆写所有数据,选择"Yes,discard any data"

    clip_image020

    第八步Hostname填写格式“英文名.姓”

    clip_image022

    第九步   时区可以在地图上点击,选择“Shanghai”并取消System clock uses UTC选择

    clip_image024

    第十步   设置root的密码

    clip_image026

    第十一步    硬盘分区,一定要按照图示点选

    clip_image028

    第十二步    询问是否改写入到硬盘,选择"Write changes to disk"

    clip_image030

    第十三步    选择系统安装模式为"Desktop"

    clip_image032

    第十四步    桌面环境就设置完成了,点击安装

    clip_image034

    第十五步    安装完成,重启

    clip_image036

    第十六步    重启之后,的License Information

    clip_image038

    第十七步    创建用户和设置密码

    lUsername:填写您的英文名(不带.姓)

    lFull Name:填写您的英文名.姓(首字母大写)

    clip_image040

    第十八步    "Date and Time" 选中 “Synchronize data and time over the network

    Finsh之后系统将重启

    clip_image042

    2.2.2配置本地环境

    该部分对服务器的配置需要在服务器本地进行配置,配置完毕后需要重启服务器确认配置是否生效,特别是远程访问服务器需要设置固定IP地址。

    2.2.2.1设置IP地址

    1.     点击System-->Preferences-->Network Connections,如下图所示:

    clip_image044

    2.     修改或重建网络连接,设置该连接为手工方式,设置如下网络信息:

          IP地址:    10.88.147.*

          子网掩码: 255.255.255.0

          网关:     10.88.*.*

          DNS     10. **.***.** (上网需要设置DNS服务器)

          注意:网关、DNS等根据所在网络实际情况进行设置,并设置连接方式为"Available to all users",否则通过远程连接时会在服务器重启后无法连接服务器

    clip_image046

    3.     在命令行中,使用ifconfig命令查看设置IP地址信息,如果修改IP不生效,需要重启机器再进行设置(如果该机器在设置后需要通过远程访问,建议重启机器,确认机器IP是否生效):

    clip_image048

    2.2.2.2设置机器名

    root用户登录,使用 vi /etc/sysconfig/network 打开配置文件,根据实际情况设置该服务器的机器名,新机器名在重启后生效

    clip_image050

    2.2.2.3设置Host映射文件

    1.     使用root身份编辑/etc/hosts映射文件,设置IP地址与机器名的映射,设置信息如下:

    vi /etc/hosts

    l     10.88.147.221 hadoop1

    l     10.88.147.222 hadoop2

    l     10.88.147.223 hadoop3

    clip_image052

    2.     使用如下命令对网络设置进行重启

    /etc/init.d/network restart

    clip_image054

    3.     验证设置是否成功

    clip_image056

    2.2.2.4上网配置

    第一步   root用户使用vi /etc/profile命令打开配置文件,如下图所示:

    clip_image058

    第二步   在该文件设置如下配置:

    export http_proxy=proxy.*****:8080

    export no_proxy="localhost,10.88.*hadoop*"

    export https_proxy=proxy.*****:8080

    clip_image060

    2.2.3设置操作系统环境

    2.2.3.1关闭防火墙

    Hadoop安装过程中需要关闭防火墙和SElinux,否则会出现异常

    1.     service iptables status 查看防火墙状态,如下所示表示iptables已经开启

    clip_image062

    2.     root用户使用如下命令关闭iptables

    chkconfig iptables off

    clip_image064

    2.2.3.2关闭SElinux

    1.     使用getenforce命令查看是否关闭

    clip_image066

    2.     修改/etc/selinux/config 文件

    SELINUX=enforcing改为SELINUX=disabled,执行该命令后重启机器生效

    clip_image068

    2.2.3.3JDK安装及配置

    1.     下载JDK1.7 64bit安装包

    打开JDK1.7 64bit安装包下载链接为:

    http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

    打开界面之后,先选中 Accept License Agreement ,然后下载 jdk-7u55-linux-x64.tar.gz,如下图所示:

    clip_image070

     

    2.     赋予hadoop用户/usr/lib/java目录可读写权限,使用命令如下:

    sudo chmod -R 777 /usr/lib/java

    clip_image072

    该步骤有可能遇到问题4.2,可参考解决办法处理

    3.     把下载的安装包,使用2.3.1介绍的ssh工具上传到/usr/lib/java 目录下,使用如下命令进行解压

    tar -zxvf jdk-7u55-linux-x64.tar.gz

    clip_image074

    解压后目录如下图所示:

    clip_image076

    4.     使用root用户配置 /etc/profile,该设置对所有用户均生效

    vi /etc/profile

    clip_image058[1]

    export JAVA_HOME=/usr/lib/java/jdk1.7.0_55

    export PATH=$JAVA_HOME/bin:$PATH

    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    clip_image078

    5.     重新登录并验证

    logout

    java -version

    clip_image080

    2.2.3.4更新OpenSSL

    C自带的OpenSSL存在bug,如果不更新OpenSSLAmbari部署过程会出现无法通过SSH连接节点,使用如下命令进行更新:

    yum update openssl

    clip_image082

     

    clip_image084

    该步骤有可能遇到问题4.3,可参考解决办法处理

    2.2.3.5SSH无密码验证配置

    1.     root用户使用vi /etc/ssh/sshd_config,打开sshd_config配置文件,开放三个配置,如下图所示:

    RSAAuthentication yes

    PubkeyAuthentication yes

    AuthorizedKeysFile .ssh/authorized_keys

    clip_image086

    2.     配置后重启服务

    service sshd restart

    clip_image088

    3.     完成以上步骤后,复制该虚拟机两份,分别为hadoop2hadoop3数据节点,IP设置参见1.2章节

    4.     使用hadoop用户登录在三个节点中使用如下命令生成私钥和公钥;

    ssh-keygen -t rsa

    clip_image090

    5.     进入/home/hadoop/.ssh目录在三个节点中分别把公钥命名为authorized_keys_hadoop1authorized_keys_hadoop2authorized_keys_hadoop3,使用命令如下:

    cp id_rsa.pub authorized_keys_hadoop1

    clip_image092

    6.     把两个从节点(hadoop2hadoop3)的公钥使用scp命令传送到hadoop1节点的/home/hadoop/.ssh文件夹中;

    scp authorized_keys_hadoop2 hadoop@hadoop1:/home/hadoop/.ssh

    clip_image094

    clip_image096

    7.     把三个节点的公钥信息保存到authorized_key文件中

    使用cat authorized_keys_hadoop1 >> authorized_keys 命令

    clip_image098

    8.     把该文件分发到其他两个从节点上

    使用scp authorized_keys hadoop@hadoop2:/home/hadoop/.ssh把密码文件分发出去

    clip_image100

    clip_image102

    9.     在三台机器中使用如下设置authorized_keys读写权限

    chmod 400 authorized_keys

    clip_image104

    10.  测试ssh免密码登录是否生效

    clip_image106

    2.3  Hadoop变量配置

    2.3.1下载并解压hadoop安装包

    1.     把下载的hadoop-1.1.2-bin.tar.gz安装包,使用2.3.1介绍的ssh工具上传到/home/hadoop/Downloads 目录下

    clip_image108

    2.     在主节点hadoop1上使用如下命令进行解压缩

    cd /home/hadoop/Downloads

    sudo tar -xzvf hadoop-1.1.2-bin.tar.gz

    ls

    clip_image110

    3.     把解压的目录转移到/usr/local目录下

    clip_image112

    4.     使用chown命令遍历修改hadoop-1.1.2目录所有者为hadoop

    sudo chown -R hadoop /usr/local/hadoop-1.1.2

    clip_image114

    2.3.2Hadoop-1.1.2目录下创建子目录

    mkdir tmp

    mkdir hdfs

    mkdir hdfs/name

    mkdir hdfs/data

    ls

    2.3.3配置hadoop-env.sh

    1.     进入hadoop-1.1.2/conf目录,打开配置文件hadoop-env.sh

    cd /usr/local/hadoop-1.1.2/conf

    vi hadoop-env.sh

    clip_image116

    2.     加入配置内容,设置了hadoopjdkhadoop/bin路径

    export JAVA_HOME=/usr/lib/java/jdk1.7.0_55

    export PATH=$PATH:/usr/local/hadoop-1.1.2/bin

    clip_image118

    3.     编译配置文件hadoop-env.sh,并确认生效

    source hadoop-env.sh

    hadoop version

    clip_image120

    2.3.4配置core-site.xml

    1.     使用如下命令打开core-site.xml配置文件

    vi core-site.xml

    clip_image122

    2.     在配置文件中,按照如下内容进行配置

    <configuration>

      <property>

        <name>fs.default.name</name>

         <value>hdfs://hadoop1:9000</value>

      </property>

      <property>

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

         <value>/usr/local/hadoop-1.1.2/tmp</value>

      </property>

    </configuration>

    clip_image124

    2.3.5配置hdfs-site.xml

    1.     使用如下命令打开hdfs-site.xml配置文件

    vi hdfs-site.xml

    clip_image126

    2.     在配置文件中,按照如下内容进行配置

    <configuration>

      <property>

        <name>dfs.replication</name>

         <value>2</value>

      </property>

      <property>

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

         <value>/usr/local/hadoop-1.1.2/hdfs/name</value>

      </property>

      <property>

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

         <value>/usr/local/hadoop-1.1.2/hdfs/data</value>

      </property>

    </configuration>

    clip_image128

    2.3.6配置mapred-site.xml

    1.     使用如下命令打开mapred-site.xml配置文件

    vi mapred-site.xml

    clip_image130

    2.     在配置文件中,按照如下内容进行配置

    <configuration>

      <property>

        <name>mapred.job.tracker</name>

         <value>hadoop1:9001</value>

      </property>

    </configuration>

    clip_image132

    2.3.7配置mastersslaves文件

    1.     设子主节点

    vi masters

    hadoop1

    clip_image134

    clip_image136

    2.     设置从节点

    vi slaves

    clip_image138

    clip_image140

    2.3.8向各节点复制hadoop

    1.     hadoop2hadoop3机器中创建/usr/local/hadoop-1.1.2目录,然后修改该目录所有权限

    sudo mkdir /usr/local/hadoop-1.1.2

    sudo chown R hadoop /usr/local/hadoop-1.1.2

    clip_image142

    2.     hadoop1机器上使用如下命令把hadoop文件夹复制到hadoop2hadoop3机器

    scp -r * hadoop@hadoop2:/usr/local/hadoop-1.1.2

    clip_image144

    3.     在从节点查看是否复制成功

    clip_image146

    2.3.9格式化namenode

    hadoop1机器上使用如下命令进行格式化namenode

    ./hadoop namenode -format

    clip_image148

    2.3.10   启动hadoop

    ./start-all.sh

    clip_image150

    2.3.11   jps检验各后台进程是否成功启动

    1.     使用jps命令在主节点上查看

    clip_image152

    2.     使用jps命令在从节点上查看

    clip_image154

    clip_image156

    3    Hadoop2.X安装

    3.1  运行环境说明

    3.1.1硬软件环境

    l  主机操作系统:Windows 64 bit,双核4线程,主频2.2G6G内存

    l  虚拟软件:VMware® Workstation 9.0.0 build-812388

    l  虚拟机操作系统:Ubuntu12 32bit,单核,1G内存

    l  JDK1.7.0_09 32 bit

    l  Hadoop2.2.0

    3.1.2集群网络环境

    集群包含三个节点:1namenode2datanode,其中节点之间可以相互ping通。节点IP地址和主机名分布如下:

    序号

    IP地址

    机器名

    类型

    用户名

    运行进程

    1

    10.88.147.226

    hadoop1

    名称节点

    hadoop

    NNSNNResourceManager

    2

    10.88.147.227

    hadoop2

    数据节点

    hadoop

    DNNodeManager

    3

    10.88.147.228

    hadoop3

    数据节点

    hadoop

    DNNodeManager

    所有节点均是CentOS6.5 64bit系统,防火墙均禁用,所有节点上均创建了一个hadoop用户,用户主目录是/usr/hadoop。所有节点上均创建了一个目录/usr/local/hadoop,并且拥有者是hadoop用户。因为该目录用于安装hadoop,用户对其必须有rwx权限。(一般做法是root用户在/usr/local下创建hadoop目录,并修改该目录拥有者为hadoop(chown R hadoop /usr/local/hadoop),否则通过SSH往其他机器分发Hadoop文件会出现权限不足的提示。

    3.1.3安装使用工具

    3.1.3.1Linux文件传输工具

    Linux系统传输文件推荐使用SSH Secure File Transfer,该工具顶部为工具的菜单和快捷方式,中间部分左面为本地文件目录,右边为远程文件目录,可以通过拖拽等方式实现文件的下载与上传,底部为操作情况监控区,如下图所示:

    clip_image002[1]

    3.1.3.2Linux命令行执行工具

    l  SSH Secure Shell

    SSH Secure工具的SSH Secure Shell提供了远程命令执行,如下图所示:

     clip_image004[1]

    l  SecureCRT

    SecureCRT是常用远程执行Linux命令行工具,如下图所示:

    clip_image006[1]

    3.2  环境搭建

    本次安装集群分为三个节点,节点设置按照2.1.2章节进行设置。环境搭建分为两部分,具体为配置本地环境和设置操作系统环境。

    3.2.1配置本地环境

    该部分对服务器的配置需要在服务器本地进行配置,配置完毕后需要重启服务器确认配置是否生效,特别是远程访问服务器需要设置固定IP地址。

    3.2.1.1设置IP地址

    4.     点击System-->Preferences-->Network Connections,如下图所示:

    clip_image044[1]

    5.     修改或重建网络连接,设置该连接为手工方式,设置如下网络信息:

          IP地址:    10.88.147.*

          子网掩码: 255.255.255.0

          网关:     10.88.*.*

          DNS     10. **.***.** (上网需要设置DNS服务器)

          注意:网关、DNS等根据所在网络实际情况进行设置,并设置连接方式为"Available to all users",否则通过远程连接时会在服务器重启后无法连接服务器

    clip_image158

    6.     在命令行中,使用ifconfig命令查看设置IP地址信息,如果修改IP不生效,需要重启机器再进行设置(如果该机器在设置后需要通过远程访问,建议重启机器,确认机器IP是否生效):

    clip_image160

    3.2.1.2设置机器名

    root用户登录,使用 vi /etc/sysconfig/network 打开配置文件,根据实际情况设置该服务器的机器名,新机器名在重启后生效

    clip_image050[1]

    3.2.1.3设置Host映射文件

    4.     使用root身份编辑/etc/hosts映射文件,设置IP地址与机器名的映射,设置信息如下:

    vi /etc/hosts

    l     10.88.147.226 hadoop1

    l     10.88.147.227 hadoop2

    l     10.88.147.228 hadoop3

    clip_image162

    5.     使用如下命令对网络设置进行重启

    /etc/init.d/network restart

    clip_image054[1]

    6.     验证设置是否成功

    clip_image164

    3.2.1.4上网配置

    第三步   root用户使用vi /etc/profile命令打开配置文件,如下图所示:

    clip_image058[2]

    第四步   在该文件设置如下配置:

    export http_proxy=proxy.*****:8080

    export no_proxy="localhost,10.88.*hadoop*"

    export https_proxy=proxy.*****:8080

    clip_image060[1]

    3.2.2设置操作系统环境

    3.2.2.1关闭防火墙

    Hadoop安装过程中需要关闭防火墙和SElinux,否则会出现异常

    3.     service iptables status 查看防火墙状态,如下所示表示iptables已经开启

    clip_image062[1]

    4.     root用户使用如下命令关闭iptables

    chkconfig iptables off

    clip_image064[1]

    3.2.2.2关闭SElinux

    3.     使用getenforce命令查看是否关闭

    clip_image066[1]

    4.     修改/etc/selinux/config 文件

    SELINUX=enforcing改为SELINUX=disabled,执行该命令后重启机器生效

    clip_image068[1]

    3.2.2.3JDK安装及配置

    6.     下载JDK1.7 64bit安装包

    打开JDK1.7 64bit安装包下载链接为:

    http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

    打开界面之后,先选中 Accept License Agreement ,然后下载 jdk-7u55-linux-x64.tar.gz,如下图所示:

    clip_image070[1]

     

    7.     赋予hadoop用户/usr/lib/java目录可读写权限,使用命令如下:

    sudo chmod -R 777 /usr/lib/java

    clip_image165

    该步骤有可能遇到问题4.2,可参考解决办法处理

    8.     把下载的安装包,使用2.1.3.1介绍的ssh工具上传到/usr/lib/java 目录下,使用如下命令进行解压

    tar -zxvf jdk-7u55-linux-x64.tar.gz

    clip_image074[1]

    解压后目录如下图所示:

    clip_image076[1]

    9.     使用root用户配置 /etc/profile,该设置对所有用户均生效

    vi /etc/profile

    clip_image058[3]

    export JAVA_HOME=/usr/lib/java/jdk1.7.0_55

    export PATH=$JAVA_HOME/bin:$PATH

    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    clip_image078[1]

    10.  重新登录并验证

    logout

    java -version

    clip_image166

    3.2.2.4更新OpenSSL

    C自带的OpenSSL存在bug,如果不更新OpenSSLAmbari部署过程会出现无法通过SSH连接节点,使用如下命令进行更新:

    yum update openssl

    clip_image082[1]

     

    clip_image084[1]

    该步骤有可能遇到问题4.3,可参考解决办法处理

    3.2.2.5SSH无密码验证配置

    11.  root用户使用vi /etc/ssh/sshd_config,打开sshd_config配置文件,开放三个配置,如下图所示:

    RSAAuthentication yes

    PubkeyAuthentication yes

    AuthorizedKeysFile .ssh/authorized_keys

    clip_image167

    12.  配置后重启服务

    service sshd restart

    clip_image168

    13.  完成以上步骤后,复制该虚拟机两份,分别为hadoop2hadoop3数据节点,IP设置参见1.2章节

    14.  使用hadoop用户登录在三个节点中使用如下命令生成私钥和公钥;

    ssh-keygen -t rsa

    clip_image169

    15.  进入/home/hadoop/.ssh目录在三个节点中分别把公钥命名为authorized_keys_hadoop1authorized_keys_hadoop2authorized_keys_hadoop3,使用命令如下:

    cp id_rsa.pub authorized_keys_hadoop1

    clip_image170

    16.  把两个从节点(hadoop2hadoop3)的公钥使用scp命令传送到hadoop1节点的/home/hadoop/.ssh文件夹中;

    scp authorized_keys_hadoop2 hadoop@hadoop1:/home/hadoop/.ssh

    clip_image171

    clip_image172

    17.  把三个节点的公钥信息保存到authorized_key文件中

    使用cat authorized_keys_hadoop1 >> authorized_keys 命令

    clip_image173

    18.  把该文件分发到其他两个从节点上

    使用scp authorized_keys hadoop@hadoop2:/home/hadoop/.ssh把密码文件分发出去

    clip_image174

    clip_image175

    19.  在三台机器中使用如下设置authorized_keys读写权限

    chmod 400 authorized_keys

    clip_image176

    20.  测试ssh免密码登录是否生效

    clip_image177

    3.3  配置Hadooop设置

    3.3.1下载并解压hadoop安装包

     

    1.     把下载的hadoop-1.1.2-bin.tar.gz安装包,使用2.1.3.1介绍的ssh工具上传到/home/hadoop/Downloads 目录下

    clip_image179

    2.     在主节点上解压缩

    cd /home/hadoop/Downloads/

    tar -xzvf hadoop-2.2.0.tar.gz

    clip_image181

    clip_image183

    3.     hadoop-2.2.0目录移到/usr/local目录下

    sudo mv hadoop-2.2.0 /usr/local

    cd /usr/local

    ls

    clip_image185

    4.     使用chown命令遍历修改hadoop-1.1.2目录所有者为hadoop

    sudo chown -R hadoop /usr/local/hadoop-2.2.0

    clip_image187

     

    3.3.2Hadoop目录下创建子目录

    使用hadoop用户在hadoop-2.2.0目录下创建tmpnamedata目录,保证目录所有者为hadoop

    mkdir tmp

    mkdir name

    mkdir data

    ls

    clip_image189

    3.3.3配置hadoop-env.sh

    4.     打开配置文件hadoop-env.sh

    cd etc/hadoop

    vi hadoop-env.sh

    clip_image191

    5.     加入配置内容,设置了hadoopjdkhadoop/bin路径

    export JAVA_HOME=/usr/lib/java/jdk1.7.0_55

    export PATH=$PATH:/usr/local/hadoop-2.2.0/bin

    clip_image193

    6.     编译配置文件hadoop-env.sh,并确认生效

    source hadoop-env.sh

    hadoop version

    clip_image195

    3.3.4配置yarn-env.sh

    1.     /usr/local/hadoop-2.2.0/etc/hadoop打开配置文件yarn-env.sh

    cd /usr/local/hadoop-2.2.0/etc/hadoop

    vi yarn-env.sh

    clip_image197

    2.     加入配置内容,设置了hadoopjdkhadoop/bin路径

    export JAVA_HOME=/usr/lib/java/jdk1.7.0_55

    clip_image199

    3.     编译配置文件yarn-env.sh,并确认生效

    source yarn-env.sh

    clip_image201

    3.3.5配置core-site.xml

    1.     使用如下命令打开core-site.xml配置文件

    sudo vi core-site.xml

    clip_image203

    2.     在配置文件中,按照如下内容进行配置

    <configuration>

      <property>

        <name>fs.default.name</name>

        <value>hdfs://hadoop1:9000</value>

      </property>

      <property>

        <name>fs.defaultFS</name>

        <value>hdfs://hadoop1:9000</value>

      </property>

      <property>

        <name>io.file.buffer.size</name>

        <value>131072</value>

      </property>

      <property>

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

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

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

      </property>

      <property>

        <name>hadoop.proxyuser.hduser.hosts</name>

        <value>*</value>

      </property>

      <property>

        <name>hadoop.proxyuser.hduser.groups</name>

        <value>*</value>

      </property>

    </configuration>

    clip_image205

    3.3.6配置hdfs-site.xml

    3.     使用如下命令打开hdfs-site.xml配置文件

    sudo vi hdfs-site.xml

    clip_image207

    4.     在配置文件中,按照如下内容进行配置

    <configuration>

      <property>

       <name>dfs.namenode.secondary.http-address</name>

       <value>hadoop1:9001</value>

      </property>

      <property>

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

       <value>file:/usr/local/hadoop-2.2.0/name</value>

      </property>

      <property>

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

       <value>file:/usr/local/hadoop-2.2.0/data</value>

      </property>

      <property>

       <name>dfs.replication</name>

       <value>2</value>

      </property>

      <property>

       <name>dfs.webhdfs.enabled</name>

       <value>true</value>

      </property>

    </configuration>

    clip_image209

    3.3.7配置mapred-site.xml

    3.     默认情况下不存在mapred-site.xml文件,可以从模板拷贝一份

    cp mapred-site.xml.template mapred-site.xml

    clip_image211

    4.     使用如下命令打开mapred-site.xml配置文件

    sudo vi mapred-site.xml

    clip_image213

    5.     在配置文件中,按照如下内容进行配置

    <configuration>

      <property>

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

        <value>yarn</value>

      </property>

      <property>

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

        <value>hadoop1:10020</value>

      </property>

      <property>

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

        <value>hadoop1:19888</value>

      </property>

    </configuration>

    clip_image215

    3.3.8配置yarn-site.xml

    1.     使用如下命令打开yarn-site.xml配置文件

    sudo vi yarn-site.xml

    clip_image217

    2.     在配置文件中,按照如下内容进行配置

    <configuration>

      <property>

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

        <value>mapreduce_shuffle</value>

      </property>

      <property>

        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

        <value>org.apache.hadoop.mapred.ShuffleHandler</value>

      </property>

      <property>

        <name>yarn.resourcemanager.address</name>

        <value>hadoop1:8032</value>

      </property>

      <property>

        <name>yarn.resourcemanager.scheduler.address</name>

        <value>hadoop1:8030</value>

      </property>

      <property>

        <name>yarn.resourcemanager.resource-tracker.address</name>

        <value>hadoop1:8031</value>

      </property>

      <property>

        <name>yarn.resourcemanager.admin.address</name>

        <value>hadoop1:8033</value>

      </property>

      <property>

        <name>yarn.resourcemanager.webapp.address</name>

        <value>hadoop1:8088</value>

      </property>

    </configuration>

    clip_image219

    3.3.9配置slaves文件

    3.     设置从节点

    sudo vi slaves

    hadoop2

    haddop3

    clip_image221 

    clip_image223

    3.3.10   向各节点分发hadoop程序

    4.     hadoop2hadoop3机器中创建/usr/local/hadoop-2.2.0目录,然后修改该目录所有权限

    sudo mkdir /usr/local/hadoop-2.2.0

    sudo chown R hadoop hadoop-2.2.0

    clip_image225

    5.     hadoop1机器上进入/usr/local/hadoop-2.2.0目录,使用如下命令把hadoop文件夹复制到hadoop2hadoop3机器

    使用命令scp -r * hadoop@hadoop2:/usr/local/hadoop-2.2.0

    clip_image227

     

    6.     在从节点查看是否复制成功

    clip_image229

    3.3.11   格式化namenode

    ./bin/hdfs namenode -format

     

    clip_image231

     

    clip_image233

    3.3.12   启动hdfs

    cd hadoop-2.2.0/sbin

    ./start-dfs.sh

    clip_image235

    3.3.13   验证当前进行

    此时在hadoop1上面运行的进程有:namenodesecondarynamenode

    clip_image237

    hadoop2hadoop3上面运行的进程有:datanode

    clip_image239

    3.3.14   启动yarn

    ./start-yarn.sh

    clip_image241

    3.3.15   验证当前进行

    此时在hadoop1上运行的进程有:NNSNNResourceManager

    clip_image243

    hadoop2hadoop3上面运行的进程有:DNNodeManager

    clip_image245

    4    问题解决

    4.1  安装CentOS64位虚拟机 This host supports Intel VT-x, but Intel VT-x is disabled

    在进行Hadoop2.X 64bit编译安装中由于使用到64位虚拟机,安装过程中出现下图错误:

    clip_image247

    F1 键进入BIOS 设置实用程序使用箭头键security面板下找virtualizationEnter 键 进去Intel  VirtualizationTechnology改成EnabledF10 键保存并退出 选择YesEnter 键 完全关机(关闭电源)等待几秒钟重新启动计算机此Intel虚拟化技术开启成功

     

    4.2  *** is not in the sudoers file解决方法

    当使用hadoop用户需要对文件夹进行赋权,使用chmod命令出现hadoop is not in the sudoers file.  This incident will be reported错误,如下所示:

    clip_image249

     

    1.     使用su命令进入root用户

    clip_image251

    2.     添加文件的写权限,操作命令为:chmod u+w /etc/sudoers

    clip_image253

    3.     编辑/etc/sudoers文件,使用命令"vi /etc/sudoers"进入编辑模式,找到:"root ALL=(ALL) ALL"在起下面添加"hadoop ALL=(ALL) ALL",然后保存退出。

    clip_image255

    4.3  yum无法下载

    1.     /etc/yum.conf中加入proxy=htt://XX.XXX.XX:PORT

    clip_image257

    2.     重启网络

    clip_image259

    3.     再次运行yum install ambari-server则能够正常下载

    clip_image261

     

  • 相关阅读:
    tcprstat分析服务的响应速度
    mysqldump之不老将
    Java数据持久层框架 MyBatis之API学习二(入门)
    Java数据持久层框架 MyBatis之API学习一(简介)
    插入数据库日期格式转换
    eclipse出现错误:he type java.util.Map$Entry cannot be resolved. It is indirectly referenced
    注释中不允许出现字符串 "--"。
    mybatis if条件查询 及<号的问题
    This is probably because there is no OLE editor registered against the type of file you were trying to open.
    github not authorized eclipse
  • 原文地址:https://www.cnblogs.com/shishanyuan/p/4147580.html
Copyright © 2011-2022 走看看