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

 

posted @ 2014-12-12 21:52  shishanyuan  阅读(10718)  评论(8编辑  收藏  举报