欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2024-01-14 16:08:40
...

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.replication1


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,安装配置过程也走了一些弯路,希望多多讨论,互相学习。