Hadoop第1~2周练习—Hadoop1.X和2.X安装

时间:2022-04-23 12:44:24

    练习题目

    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   配置masters和slaves文件

2.3.8   向各节点复制hadoop

2.3.9   格式化namenode

2.3.10启动hadoop

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

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

台虚拟机,3台给1.x集群,3台给2.x集群,只要具备能同时开动三节点的能力即可。如果在同一节点上同时实施1.x和2.x可以考虑分开成不同的用户进行安装,这样不容易混淆环境变量和主目录。

Hadoop1.X安装

2.1  准备工作

2.1.1硬软件环境

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

Hadoop搭建环境:

线程,主频2.2G,6G内存

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

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

l  JDK:1.7.0_55 64位

l  Hadoop:1.1.2

2.1.2集群网络环境

个namenode、2个datanode,其中节点之间可以相互ping通。节点IP地址和主机名分布如下:

序号

IP地址

机器名

类型

用户名

运行进程

10.88.147.221

hadoop1

名称节点

hadoop

NN、SNN、JobTracer

10.88.147.222

hadoop2

数据节点

hadoop

DN、TaskTracer

10.88.147.223

hadoop3

数据节点

hadoop

DN、TaskTracer

所有节点均是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,该工具顶部为工具的菜单和快捷方式,中间部分左面为本地文件目录,右边为远程文件目录,可以通过拖拽等方式实现文件的下载与上传,底部为操作情况监控区,如下图所示:

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.1.3.2Linux命令行执行工具

l  SSH Secure Shell

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

l  SecureCRT

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.2  环境搭建

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

2.2.1安装操作系统

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

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

lRescue installed system 进入系统修复模式

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

lMemory test  内存检测

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

第四步选择安装过程语言,选中"English(English)"

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

第十步   设置root的密码

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

第十五步    安装完成,重启

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Finsh之后系统将重启

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.2.2配置本地环境

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

2.2.2.1设置IP地址

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

IP地址:    10.88.147.*

子网掩码: 255.255.255.0

网关:     10.88.*.*

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.2.2.2设置机器名

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

/etc/init.d/network restart

Hadoop第1~2周练习—Hadoop1.X和2.X安装

3.     验证设置是否成功

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.2.2.4上网配置

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

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

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.2.3设置操作系统环境

2.2.3.1关闭防火墙

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

chkconfig iptables off

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.2.3.2关闭SElinux

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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,如下图所示:

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

sudo chmod -R 777 /usr/lib/java

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

解压后目录如下图所示:

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

vi /etc/profile

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

5.     重新登录并验证

logout

java -version

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.2.3.4更新OpenSSL

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

yum update openssl

Hadoop第1~2周练习—Hadoop1.X和2.X安装

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

2.2.3.5SSH无密码验证配置

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

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.     配置后重启服务

service sshd restart

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

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

ssh-keygen -t rsa

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

cp id_rsa.pub authorized_keys_hadoop1

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

使用cat authorized_keys_hadoop1 >> authorized_keys 命令

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

chmod 400 authorized_keys

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.3  Hadoop变量配置

2.3.1下载并解压hadoop安装包

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

cd /home/hadoop/Downloads

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

ls

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.3.2在Hadoop-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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.     加入配置内容,设置了hadoop中jdk和hadoop/bin路径

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

source hadoop-env.sh

hadoop version

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.3.4配置core-site.xml

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

vi core-site.xml

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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>

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.3.5配置hdfs-site.xml

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

vi hdfs-site.xml

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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>

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.3.6配置mapred-site.xml

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

vi mapred-site.xml

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

<configuration>

  <property>

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

     <value>hadoop1:9001</value>

  </property>

</configuration>

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.3.7配置masters和slaves文件

1.     设子主节点

vi masters

hadoop1

Hadoop第1~2周练习—Hadoop1.X和2.X安装

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.     设置从节点

vi slaves

Hadoop第1~2周练习—Hadoop1.X和2.X安装

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.3.8向各节点复制hadoop

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

sudo mkdir /usr/local/hadoop-1.1.2

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.3.9格式化namenode

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

./hadoop namenode -format

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.3.10   启动hadoop

./start-all.sh

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

Hadoop第1~2周练习—Hadoop1.X和2.X安装

Hadoop2.X安装

3.1  运行环境说明

3.1.1硬软件环境

线程,主频2.2G,6G内存

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

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

l  JDK:1.7.0_09 32 bit

l  Hadoop:2.2.0

3.1.2集群网络环境

个namenode、2个datanode,其中节点之间可以相互ping通。节点IP地址和主机名分布如下:

序号

IP地址

机器名

类型

用户名

运行进程

10.88.147.226

hadoop1

名称节点

hadoop

NN、SNN、ResourceManager

10.88.147.227

hadoop2

数据节点

hadoop

DN、NodeManager

10.88.147.228

hadoop3

数据节点

hadoop

DN、NodeManager

所有节点均是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,该工具顶部为工具的菜单和快捷方式,中间部分左面为本地文件目录,右边为远程文件目录,可以通过拖拽等方式实现文件的下载与上传,底部为操作情况监控区,如下图所示:

Hadoop第1~2周练习—Hadoop1.X和2.X安装

3.1.3.2Linux命令行执行工具

l  SSH Secure Shell

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

l  SecureCRT

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

3.2  环境搭建

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

3.2.1配置本地环境

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

3.2.1.1设置IP地址

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

IP地址:    10.88.147.*

子网掩码: 255.255.255.0

网关:     10.88.*.*

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

3.2.1.2设置机器名

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

/etc/init.d/network restart

Hadoop第1~2周练习—Hadoop1.X和2.X安装

6.     验证设置是否成功

Hadoop第1~2周练习—Hadoop1.X和2.X安装

3.2.1.4上网配置

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

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

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

3.2.2设置操作系统环境

3.2.2.1关闭防火墙

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

chkconfig iptables off

Hadoop第1~2周练习—Hadoop1.X和2.X安装

3.2.2.2关闭SElinux

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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,如下图所示:

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

sudo chmod -R 777 /usr/lib/java

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

解压后目录如下图所示:

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

vi /etc/profile

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

10.  重新登录并验证

logout

java -version

Hadoop第1~2周练习—Hadoop1.X和2.X安装

3.2.2.4更新OpenSSL

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

yum update openssl

Hadoop第1~2周练习—Hadoop1.X和2.X安装

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

3.2.2.5SSH无密码验证配置

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

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

Hadoop第1~2周练习—Hadoop1.X和2.X安装

12.  配置后重启服务

service sshd restart

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

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

ssh-keygen -t rsa

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

cp id_rsa.pub authorized_keys_hadoop1

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

使用cat authorized_keys_hadoop1 >> authorized_keys 命令

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

chmod 400 authorized_keys

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

3.3  配置Hadooop设置

3.3.1下载并解压hadoop安装包

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.     在主节点上解压缩

cd /home/hadoop/Downloads/

tar -xzvf hadoop-2.2.0.tar.gz

Hadoop第1~2周练习—Hadoop1.X和2.X安装

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

sudo mv hadoop-2.2.0 /usr/local

cd /usr/local

ls

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

3.3.2在Hadoop目录下创建子目录

使用hadoop用户在hadoop-2.2.0目录下创建tmp、name和data目录,保证目录所有者为hadoop

mkdir tmp

mkdir name

mkdir data

ls

Hadoop第1~2周练习—Hadoop1.X和2.X安装

3.3.3配置hadoop-env.sh

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

cd etc/hadoop

vi hadoop-env.sh

Hadoop第1~2周练习—Hadoop1.X和2.X安装

5.     加入配置内容,设置了hadoop中jdk和hadoop/bin路径

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

source hadoop-env.sh

hadoop version

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.     加入配置内容,设置了hadoop中jdk和hadoop/bin路径

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

source yarn-env.sh

Hadoop第1~2周练习—Hadoop1.X和2.X安装

3.3.5配置core-site.xml

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

sudo vi core-site.xml

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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>

Hadoop第1~2周练习—Hadoop1.X和2.X安装

3.3.6配置hdfs-site.xml

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

sudo vi hdfs-site.xml

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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>

Hadoop第1~2周练习—Hadoop1.X和2.X安装

3.3.7配置mapred-site.xml

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

sudo vi mapred-site.xml

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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>

Hadoop第1~2周练习—Hadoop1.X和2.X安装

3.3.8配置yarn-site.xml

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

sudo vi yarn-site.xml

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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>

Hadoop第1~2周练习—Hadoop1.X和2.X安装

3.3.9配置slaves文件

3.     设置从节点

sudo vi slaves

hadoop2

haddop3

Hadoop第1~2周练习—Hadoop1.X和2.X安装

Hadoop第1~2周练习—Hadoop1.X和2.X安装

3.3.10   向各节点分发hadoop程序

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

sudo mkdir /usr/local/hadoop-2.2.0

sudo chown –R hadoop hadoop-2.2.0

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

3.3.11   格式化namenode

./bin/hdfs namenode -format

Hadoop第1~2周练习—Hadoop1.X和2.X安装

Hadoop第1~2周练习—Hadoop1.X和2.X安装

3.3.12   启动hdfs

cd hadoop-2.2.0/sbin

./start-dfs.sh

Hadoop第1~2周练习—Hadoop1.X和2.X安装

3.3.13   验证当前进行

此时在hadoop1上面运行的进程有:namenode,secondarynamenode

Hadoop第1~2周练习—Hadoop1.X和2.X安装

hadoop2和hadoop3上面运行的进程有:datanode

Hadoop第1~2周练习—Hadoop1.X和2.X安装

3.3.14   启动yarn

./start-yarn.sh

Hadoop第1~2周练习—Hadoop1.X和2.X安装

3.3.15   验证当前进行

此时在hadoop1上运行的进程有:NN、SNN、ResourceManager

Hadoop第1~2周练习—Hadoop1.X和2.X安装

hadoop2和hadoop3上面运行的进程有:DN、NodeManager

Hadoop第1~2周练习—Hadoop1.X和2.X安装

问题解决

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

位虚拟机,安装过程中出现下图错误:

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

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

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

4.3  yum无法下载

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装

2.     重启网络

Hadoop第1~2周练习—Hadoop1.X和2.X安装

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

Hadoop第1~2周练习—Hadoop1.X和2.X安装