您的位置:首页 > 运维架构

ubuntu14.04下hadoop2.6.0安装

2016-07-05 20:16 363 查看
1. 下载ubuntu14.04 i386

地址:http://old-releases.ubuntu.com/releases/14.04.1/

2. 安装JDK

地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2.1.解压安装

我们把JDK安装到这个路径:/jdk 或/usr/lib/jvm

如果没有这个目录(第一次当然没有),我们就新建一个目录

sudo mkdir /jdk

建立好了以后,我们来到刚才下载好的压缩包的目录,解压到我们刚才新建的文件夹里面去,并且修改好名字方便我们管理

sudo tar -zxvf jdk-8u91-linux-i586.gz -C /jdk

// sudo mv jdk1.7.0_05/jdk7

2.2.配置环境变量

Vim ~/.bashrc

在打开的文件的末尾添加

exportJAVA_HOME=/jdk1.8.0_91

exportJRE_HOME=${JAVA_HOME}/jre

exportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

exportPATH=${JAVA_HOME}/bin:$PATH

保存退出,然后输入下面的命令来使之生效

source ~/.bashrc

2.3配置环境变量

sudo gedit /etc/profile

exportJAVA_HOME=/jdk1.8.0_91

exportJRE_HOME=${JAVA_HOME}/jre

exportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

exportPATH=${JAVA_HOME}/bin:$PATH

3.在Ubuntu下创建hadoop用户组和用户

1. 创建hadoop用户组;

1. sudo addgroup hadoop

2. 创建hadoop用户;

1. sudo adduser -ingroup hadoop hadoop

3. 给hadoop用户添加权限,打开/etc/sudoers文件;

1. sudo gedit /etc/sudoers

在root ALL=(ALL:ALL) ALL下添加hadoop ALL=(ALL:ALL) ALL.

4.安装ssh服务

4.1 sudo apt-get install ssh openssh-server

4.2 建立ssh无密码登录本机

切换到hadoop用户,执行以下命令:

1. su - hadoop

ssh生成密钥有rsa和dsa两种生成方式,默认情况下采用rsa方式。

1. 创建ssh-key,,这里我们采用rsa方式;

1. ssh-keygen -t rsa -P "" (注:回车后会在~/.ssh/下生成两个文件:id_rsa和id_rsa.pub这两个文件是成对出现的)

2. 进入~/.ssh/目录下,将id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的;

1. cd ~/.ssh
2. cat id_rsa.pub >> authorized_keys (完成后就可以无密码登录本机了。)

3. 登录localhost;

1. ssh localhost

4. 执行退出命令;

1. exit

5.安装Hadoop

0. sudo tar -xzvf hadoop-2.6.0.tar.gz-C /usr/local/hadoop

cd /usr/local/
sudo mv ./hadoop-2.6.0/ ./hadoop # 将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop

Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:

cd /usr/local/hadoop
./bin/hadoop version

6.尝试运行自带例子

cd /usr/local/hadoop
mkdir ./input
cp ./etc/hadoop/*.xml ./input # 将配置文件作为输入文件
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'

cat ./output/* # 查看运行结果
删除目录 sudo rm –r output

7.Hadoop伪分布式配置
Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop
进程以分离的 Java
进程来运行,节点既作为 NameNode
也作为 DataNode,同时,读取的是 HDFS
中的文件。
Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/
中,伪分布式需要修改2个配置文件 core-site.xmlhdfs-site.xml 。Hadoop的配置文件是
xml 格式,每个配置以声明property
的 name
和 value 的方式来实现。
修改配置文件 core-site.xml (通过
gedit 编辑会比较方便:
gedit./etc/hadoop/core-site.xml
),将当中的
<configuration>
</configuration>
修改为下面配置:

1.            <configuration>

2.                <property>

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

4.                    <value>file:/usr/local/hadoop/tmp</value>

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

6.                </property>

7.                <property>

8.                    <name>fs.defaultFS</name>

9.                    <value>hdfs://localhost:9000</value>

10.            </property>

11.        </configuration>


同样的,修改配置文件 hdfs-site.xml

1.            <configuration>

2.                <property>

3.                    <name>dfs.replication</name>

4.                    <value>1</value>

5.                </property>

6.                <property>

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

8.                    <value>file:/usr/local/hadoop/tmp/dfs/name</value>

9.                </property>

10.            <property>

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

12.                <value>file:/usr/local/hadoop/tmp/dfs/data</value>

13.            </property>

14.        </configuration>


Hadoop配置文件说明
Hadoop 的运行方式是由配置文件决定的(运行 Hadoop
时会读取配置文件),因此如果需要从伪分布式模式切换回非分布式模式,需要删除 core-site.xml
中的配置项。
此外,伪分布式虽然只需要配置 fs.defaultFS
和 dfs.replication
就可以运行(官方教程如此),不过若没有配置 hadoop.tmp.dir
参数,则默认使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format
才行。所以我们进行了设置,同时也指定 dfs.namenode.name.dir
和 dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。
配置完成后,执行 NameNode
的格式化:

1.            ./bin/hdfs namenode -format


成功的话,会看到 “successfully formatted”
和“Exitting with status 0”
的提示,若为 “Exitting with status 1”
则是出错。



执行namenode格式化
如果在这一步时提示 Error:JAVA_HOME is not set and could not be found. 的错误,则说明之前设置JAVA_HOME
环境变量那边就没设置好,请按教程先设置好JAVA_HOME
变量,否则后面的过程都是进行不下去的。

接着开启 NameNode
和 DataNode
守护进程。

1. ./sbin/start-dfs.sh
#start-dfs.sh是个完整的可执行文件,中间没有空格

Shell
命令
若出现如下SSH提示,输入yes即可。



启动Hadoop时的SSH提示
启动时可能会出现如下 WARN
提示:WARNutil.NativeCodeLoader: Unable to load native-hadoop library for your platform…using builtin-java classes where applicable WARN
提示可以忽略,并不会影响正常使用。
成功启动后,可以访问Web
界面 http://localhost:50070 查看
NameNode 和 Datanode
信息,还可以在线查看 HDFS
中的文件。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: