首頁  >  文章  >  資料庫  >  Ubuntu上搭建hadoop 2.2.0环境,配置yarn(单机)

Ubuntu上搭建hadoop 2.2.0环境,配置yarn(单机)

WBOY
WBOY原創
2016-06-07 15:38:351207瀏覽

how to install jdk in ubuntu 1、首先到oracle下载上下载jdk-7u5-linux-x64.tar.gz 2、将jdk-7u5-linux-x64.tar.gz拷贝到/usr/lib/jdk/目录下面,这里如果没有jdk文件夹,则创建该文件夹,命令: sudo mkdir jdk //创建文件夹jdk sudo cp -r ~/download/jdk-7

how to install jdk in ubuntu

1、首先到oracle下载上下载jdk-7u5-linux-x64.tar.gz

2、将jdk-7u5-linux-x64.tar.gz拷贝到/usr/lib/jdk/目录下面,这里如果没有jdk文件夹,则创建该文件夹,命令:

sudo mkdir jdk //创建文件夹jdk

sudo cp -r ~/download/jdk-7-linux-x64.tar.gz /usr/lib/jdk/ //把下载的文件拷贝到心创建的目录下面

sudo tar -zxvg jdk-7-linux-x64.tar.gz //解压缩文件

3、设置环境变量,用gedit打开/etc/profile文件

sudo gedit /etc/profile

在文件的最后面增加:

export JAVA_HOME=/usr/lib/jdk/jdk1.7.0_51

export JRE_HOME=/usr/lib/jdk/jdk1.7.0_51/jre

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib


4、将系统默认的jdk修改过来


$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_05/bin/java 300

$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_05/bin/javac 300

$ sudo update-alternatives --config java $ sudo update-alternatives --config javac

5、检测,输入java -version


java version "1.7.0_51" Java(TM) SE Runtime Environment (build 1.7.0_51-b05) Java HotSpot??(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)

how to install hadoop 2.2.0 

安装依赖包

$ sudo apt-get install g++ autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev $ sudo apt-get install openssh-client $ sudo apt-get install openssh-server 安装配置 protobuf

下载最新的protobuf:  https://code.google.com/p/protobuf/downloads/list 解压,依次运行 $ ./configure --prefix=/usr $ sudo make $ sudo make check $ sudo make install 检查一下版本 $ protoc --version libprotoc 2.5.0 安装配置 maven $ sudo apt-get install maven 建立ssh信任

$ cd /home/hduser 

$ ssh-keygen -t rsa -P "" 

$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys 

用命令验证一下是否可以免密码链接localhost 

$ ssh localhost

编译 hadoop 2.2.0

解压到用户目录 /home/wilbur/. 进入 hadoop-2.2.0-src 目录

因为已经安装了maven, protobuf, java环境也有了,compiler也有了所以直接运行 

$ mvn package -Pdist,native -DskipTests? -Dtar 

编译过程中会出现一个错误,这个错误是由于hadoop2.2.0的代码bug导致的,

解决办法如下 hadoop-common-project/hadoop-auth/pom.xml 在文件中添加以下配置

org.mortbay.jetty

 jetty-util 

test

 

org.mortbay.jetty 

jetty 

test

然后重新运行mvn clean package -Pdist,native -DskipTests?? -Dtar命令编译即可

(需注意文件的所有者,修改为当前用户,否则之后可能出错)

配置相关文件

1)配置etc/hadoop目录下的core-site.xml,hdfs-site.xml,mapred-site.xml 

core-site.xml:

  

fs.default.name  hdfs://localhost/

hdfs-site.xml:

 

dfs.replication 1


    dfs.namenode.name.dir
    /root/jhh/hadoop/yarn_data/hdfs/namenode
 

 
    dfs.datanode.data.dir
    /root/jhh/hadoop/yarn_data/hdfs/datanode
 


创建文件夹:
mkdir -p /root/jhh/hadoop/yarn_data/hdfs/namenode
mkdir -p /root/jhh/hadoop/yarn_data/hdfs/datanode



 mapred-site.xml:


    mapreduce.framework.name
    yarn

yarn-site.xml:

 
    yarn.nodemanager.aux-services
    mapreduce_shuffle
 

 
    yarn.nodemanager.aux-services.mapreduce.shuffle.class
    org.apache.hadoop.mapred.ShuffleHandler
 


启动hadoop

初始化 启动 停止

 ./bin/hdfs namenode -format

 ./sbin/start-dfs.sh 

./sbin/start-yarn.sh 

(启动nodemanager存在问题,问题可能出在yarn_damons.sh上,需要手动开启: ./sbin/yarn-daemon.sh start nodemanager)

./sbin/stop-dfs.sh 

./sbin/stop-yarn.sh

jps命令来查看node是否都启起来了


问题及解决方案

1.启动过程中出现问题: JAVA_HOME IS NOT SET. 

解决方法是修改etc/hadoop/hadoop-env.sh文件,添加如下内容

export JAVA_HOME=/usr/lib/jdk/jdk1.7.0_51

2.HADOOP_CONF_DIR 未配置,出现错误:Error: Cannot find configuration directory: 在/etc/profile中添加:

export HADOOP_HOME=/root/jhh/hadoop/hadoop-0.23.9

export YARN_HOME=/root/jhh/hadoop/hadoop-0.23.9

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

3.访问log文件,permisson denied。 chmod修改log文件夹权限。


总结:

今天刚配置了一遍,只是单机版的伪分布式环境,之后在测试机上搭一遍。

刚开始学习hadoop,安装配置过程也走了一些弯路,希望多多讨论,互相学习。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn