Hadoop2.x64 位伪分布式安装指南

Hadoop2.x64 位伪分布式安装指南
作者:lee

 

 

 

 

Hadoop2.X64 位伪分布式安装指南( Ubuntu
1 前言
本文是 Hadoop2 单节点安装的说明手册。包括 Hadoop 2.2.0 版本的在单个计算节
点上 Standalone 模式的安装过程,主要用于测试开发目的。生产环境的安装请参考其
他文档。
2 系统需求
以下说明 Hadoop 2.2.0 安装的基本需求。
2.1 系统硬件
Intel x86_64 服务器。
2.2 系统软件
建议采用 Ubuntu 14.04 LTS Server x64 版本或者其他长期支持版本。
另外,如果是虚拟机环境,使用 32 位版本的 Ubuntu 即可。
2.2.1 系统环境
建议在安装前,将系统升级到最新:
$ sudo apt-get update
$ sudo apt-get upgrade
3 安装与配置
Hadoop 2.2.0 的安装开始之前,需要安装一些必要的组件。
3.1 准备工作
3.1.1 权限
建议将/opt 修改为用户的:
$ sudo chown lee:lee /opt
下面设置 lee 运行 root 权限时免密码输入(可选步骤)
visudo 命令会打开 sudo 设置文件/etc/sudoers,找到下面这一行。
root ALL=(ALL:ALL) ALL
在这一行的下面,再添加一行。
root ALL=(ALL:ALL) ALL
lee ALL=(ALL:ALL) NOPASSWD:ALL
修改 vim 默认设置
vi ~/.vimrc
set nocompatible
set backspace=2
3.1.2 配置静态 ip 地址
$sudo vi /etc/network/interfaces
原有内容只有如下两行:
auto lo
iface lo inet loopback
向末尾追加以下内容:
auto eth0
iface eth0 inet static
address 192.168.0.33
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 180.76.76.76
设定第二个 IP 地址(虚拟 IP 地址)
编辑文件/etc/network/interfaces:
sudo vi /etc/network/interfaces
在该文件中添加如下的行:
auto eth0:1
iface eth0:1 inet static
address x.x.x.x
netmask x.x.x.x
gateway x.x.x.x
重启 network 使修改生效
$sudo /etc/init.d/networking restart
这里有点有问题,就是重启 ubuntu 后,发现又不能上网了,问题出在
/etc/resolv.conf。重启后,此文件配置的 dns 又被自动修改为默认值。
所以需要永久性修改 DNS。方法如下:
sudo vi /etc/resolvconf/resolv.conf.d/base
添加:
nameserver 180.76.76.76
nameserver 114.114.114.114
修改好保存,然后执行
resolvconf -u
3.1.3 Java
建议采用 Oracle Java JDK6 以上版本。
$ chmod 755 jdk-7u45-linux-x64.bin
./jdk-7u45-linux-x64.bin
mv jdk1.7.0_45 /opt
则 JAVA_HOME 地址可以如下配置,在/etc/profile 中修改:
$ sudo vi /etc/profile
在末尾加入:
export JAVA_HOME=/opt/jdk1.7.0_45
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
注:如果是 32 位的 Linux,请安装 jdk-7u45-linux-i586 32 Java
3.1.4 Hadoop 2.2.0
从 Apache 官方可以下载到 Hadoop 2.2.0 的发布代码,或者在 CNNIC 下载:
http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.2.0/hadoop-
2.2.0.tar.gz
CNNIC 相对速度较快。附件中也提供该文件的下载。
注:由于官方本的 lib/native 是 32 位,需要编译生成 64 位版本。所以建议直接从
本地其他服务器下载 hadoop-2.2.0-x64.tar.gz
3.1.5 Hadoop 路径配置
建议将 Hadoop 安装在/opt 下,所以将/opt 的属主修改为实际用户(本文以 lee
用户为例):
$ sudo chown lee:lee /opt
然后将下载的压缩包解压并放到/opt 下:
$ tar xzvf hadoop-2.2.0.tar.gz
$ mv hadoop-2.2.0 /opt
然后建议使用软连接:
$ ln -s /opt/hadoop-2.2.0 /opt/hadoop
3.1.6 ssh 本地互通
Ubuntu 桌面版没有 ssh 服务,需要先安装:
$ sudo apt-get install openssh-client

$ sudo apt-get install openssh-server

选择安装 SSH Server。
配置公钥, 用 ssh-keygen 命令生成公钥, 使用默认配置即可:
$ cd ~
$ ssh-keygen
$ cd ~/.ssh
$ cat id_rsa.pub >> authorized_keys
然后执行以下命令:
$ ssh localhost
$ ssh hostname
$ ssh 0.0.0.0
首次连接需要输入 yes 确认,之后每次执行上述 ssh 命令应当不用输入密码。 其中
hostname 是指/etc/hostname 中本机的名称。
3.1.7 全局变量
在/etc/profile 的末尾加入:
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
确保可以在任意位置执行 hadoop 命令。
然后将配置文件启用:
$ source /etc/profile
3.1.8 目录配置
创建 Hadoop 的数据存储目录,并修改属主权限:
$ sudo mkdir /hadoop
$ sudo chown lee:lee /hadoop
$ mkdir /hadoop/dfs
$ mkdir /hadoop/tmp
3.2 配置 Hadoop
默认的配置无法直接启动,需要对部分参数进行修改。
3.2.1 配置 hadoop-env.sh
修改 hadoop-env.sh 文件:
$ cd /opt/hadoop/etc/hadoop
$ vim hadoop-env.sh
将默认的 JAVA_HOME 修改为:
export JAVA_HOME=/opt/jdk1.7.0_45
3.2.2 配置 core-site.xml
修改 core-site.xml 文件:
$ cd /opt/hadoop/etc/hadoop
$ vim core-site.xml
<configuration>标签中(即嵌套在该标签中) 加入以下内容:
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/tmp</value>
<description>temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://lee:9000</value>
<description>The name of the defaultfile system. Either the
literal string "local" or a host:port forNDFS.
</description>
<final>true</final>
</property>
更多配置信息,参考:
http://hadoop.apache.org/docs/r2.2.0/hadoop-project-dist/hadoop-common/coredefault.xml
3.2.3 配置 hdfs-site.xml
修改 hdfs-site.xml:
$ vim hdfs-site.xml
<configuration>标签中(即嵌套在该标签中) 加入以下内容:
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/hadoop/dfs/name</value>
<description>Determineswhere on the local filesystem the DFS namenode should store the name table.</description>
<final>true</final>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/hadoop/dfs/data</value>
<description>Determineswhere on the local filesystem an DFS datanode should store its blocks.
</description>
<final>true</final>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>

 

<property>

 

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

 

<value>lee:9001</value>

 

</property>

 


更多 hdfs-site.xml 的配置信息,参考:
http://hadoop.apache.org/docs/r2.2.0/hadoop-project-dist/hadoop-hdfs/hdfsdefault.xml
3.2.4 配置 mapred-site.xml
默认不存在此文件,需要创建:
$ cp mapred-site.xml.template mapred-site.xml
$ vim mapred-site.xml
<configuration>标签中(即嵌套在该标签中) 加入以下内容:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.system.dir</name>
<value>file:/hadoop/mapred/system</value>
<final>true</final>
</property>
<property>
<name>mapred.local.dir</name>
<value>file:/hadoop/mapred/local</value>
<final>true</final>
</property>
3.2.5 配置 yarn-site.xml
执行以下命令:
$ vim yarn-site.xml
<configuration>标签中(即嵌套在该标签中) 加入以下内容:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
<description>shuffle service that needsto be set for Map Reduce
to run </description>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>lee</value>
<description>hostanem of RM</description>
</property>
yarn.resourcemanager.hostname 配置后,其他端口号将使用默认。详见:
http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-common/yarndefault.xml
3.3 初始化
格式化 NameNode:
$ hdfs namenode -format
3.4 启动 DFS
3.4.1
测试启动
启动 Name Node:
$ hadoop-daemon.sh start namenode
启动 Data Node:
$ hadoop-daemon.sh start datanode
使用 jps 查看进程是否启动:
$ jps
并在以下网页检查:
http://202.117.16.170:50070/dfshealth.jsp
应能看到节点启动。
3.4.2 一般启动
如果上述启动过程正常,则一般可以使用以下命令启动 DFS:
$ start-dfs.sh
3.5 启动 Yarn
3.5.1
测试启动
执行以下命令:
$ yarn-daemon.sh start resourcemanager
$ yarn-daemon.sh start nodemanager
3.5.2 一般启动
如果上述过程正常,则一般启动 Yarn 使用以下命令即可:
$ start-yarn.sh
3.6 异常处理
如果发生任何启动异常,关闭进程后,需要清空数据:
$ rm -rf /hadoop/dfs/*
$ rm -rf /hadoop/tmp/*
然后重新执行格式化:
$ hdfs namenode -format 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值