ubuntu14.04下hadoop2.6.0安装

来源:互联网 发布:山海经知乎 编辑:程序博客网 时间:2024/05/01 00:48

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生成密钥有rsadsa两种生成方式,默认情况下采用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

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

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

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

6.尝试运行自带例子

  1. cd /usr/local/hadoop
  2. mkdir ./input
  3. cp ./etc/hadoop/*.xml ./input # 将配置文件作为输入文件
  4. ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'
  5. cat ./output/* # 查看运行结果
  6. 删除目录 sudo rm –r output

7.Hadoop伪分布式配置

Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop进程以分离的 Java进程来运行,节点既作为 NameNode也作为 DataNode,同时,读取的是 HDFS中的文件。

Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/中,伪分布式需要修改2个配置文件 core-site.xml  hdfs-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中的文件。


 

 

0 0
原创粉丝点击