linux上hadoop2.4.0安装配置

来源:互联网 发布:数据库报表是什么 编辑:程序博客网 时间:2024/05/19 04:26
linux上hadoop2.4.0安装配置

1 环境准备

安装java-1.6(jdk)

安装ssh

1.1 安装jdk

(1)下载安装jdk

在/usr/lib下创建java文件夹,输入命令:

cd /usr/libmkdir java

输入命令:

sudo apt-get install sun-java6-jdk

下载后执行安装文件

(2)配置环境变量

输入命令:

sudo gedit /etc/environment

将如下内容加入其中:

JAVA_HOME=/usr/lib/java/jdk1.6.0_45PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/java/jdk1.6.0_45/bin:/usr/lib/java/jdk1.6.0_45:/home/ylf/hadoop/bin:/home/ylf/hadoop/sbin"CLASSPATH=/usr/lib/java/jdk1.6.0_45/lib:/usr/lib/java/jdk1.6.0_45/jre/lib

其中path部分是在你原有的path变量基础上加入你所安装的jdk路径。

执行如下命令使得配置生效:

source /etc/environment

(3)验证java是否安装成功

输入命令:

java -version

1.2 配置ssh免密码登录

输入命令:

sudo apt-get install ssh

配置可以无密码登陆本机:

在当前用户目录下新建隐藏文件.ssh,输入命令:

mkdir .ssh

接下来,输入命令:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

这个命令会在.ssh文件夹下创建两个文件id_dsa及id_dsa.pub,这是一对私钥和公钥,然后把id_dsa.pub(公钥)追加到授权的key里面去,输入命令:

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

验证ssh已安装成功及无密码登陆本机,输入命令:

ssh -version

显示结果:

Bad escape character 'rsion'.

这显示ssh已经安装成功。

登陆ssh,输入命令:

ssh localhost

第一次登陆可能会询问是否继续链接,输入yes即可,以后登陆直接登进去。

显示结果:

Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-32-generic x86_64) * Documentation:  https://help.ubuntu.com/Last login: Sun Oct 12 13:27:58 2014 from localhost

2.安装hadoop2.4.0

2.1 下载hadoop2.4.0

从官网上下载hadoop-2.4.0.tar.gz

2.2 解压hadoop-2.4.0.tar.gz,并重命名为hadoop

tar xzvf hadoop-2.4.0.tar.gzmv hadoop-2.4.0 hadoop

 

2.3 配置环境变量

sudo gedit /etc/environment

在文件中加入:

HADOOP_HOME=/home/ylf/hadoopPATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/java/jdk1.6.0_45/bin:/usr/lib/java/jdk1.6.0_45:/home/ylf/hadoop/bin:/home/ylf/hadoop/sbin"

其中path为原有的path变量中加入hadoop的路径。

执行如下命令,使之生效:

source /etc/environment

2.4单机模式配置

单机模式不用任何配置就可以直接进行测试。

运行hadoop自带的wordcount实例,统计一批文本文件中单词出现的次数

bin/hadoop jar /usr/local/hadoop2.4.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.0.jar wordcount input output

其中input已经上传至hdfs中,上传命令:

./bin/hdfs dfs -put input /input

2.5 伪分布式模式

2.5.1 修改配置文件

在当前用户目录下创建文件夹hadoop_tmp,输入命令:

mkdir hadoop_tmp

配置文件都在安装目录的etc/hadoop下

修改hadoop-env.sh

将export JAVA_HOME=${JAVA_HOME}改为你自己安装的jdk路径:

export JAVA_HOME=/usr/lib/java/jdk1.6.0_45

修改core-site.xml

复制代码
<configuration>  <property>    <name>fs.defaultFS</name>    <value>hdfs://localhost:9000</value>    <final>true</final>  </property>  <property>    <name>hadoop.tmp.dir</name>    <value>/home/ylf/hadoop_tmp</value>  </property></configuration>
复制代码

修改hdfs-site.xml:

复制代码
<configuration>        <property>      <name>dfs.namenode.name.dir</name>      <value>/home/ylf/hadoop/dfs/namenode</value>      <final>true</final>    </property>           <property>       <name>dfs.datanode.data.dir</name>       <value>/home/ylf/hadoop/dfs/datanode</value>      <final>true</final>    </property>    <property>      <name>dfs.http.address</name>      <value>localhost:50070</value>       <description>         The address and the base port where the dfs namenode web ui will listen on.If the port is 0 then the server will start on a free port.      </description>    </property>    <property>      <name>dfs.replication</name>      <value>1</value>    </property>    <property>      <name>dfs.permissions</name>      <value>false</value>    </property></configuration>
复制代码

修改mapred-site.xml

复制代码
<configuration>        <property>      <name>mapreduce.framework.name</name>      <value>yarn</value>    </property>    <property>      <name>mapred.job.tracker</name>      <value>hdfs://localhost:9001</value>    </property>        <property>            <name>mapred.system.dir</name>            <value>file:/home/ylf/hadoop/mapred/system</value>            <final>true</final>          </property>                 <property>            <name>mapred.local.dir</name>            <value>file:/home/ylf/hadoop/mapred/local</value>            <final>true</final>          </property> </configuration>
复制代码

修改yarn-site.xml:

复制代码
<configuration><!-- Site specific YARN configuration properties -->  <property>    <name>yarn.nodemanager.aux-services</name>    <value>mapreduce_shuffle</value>    <description>shuffle service that needs to be set for Map Reduce to run</description>  </property>  <property>    <name>yarn.resourcemanager.hostname</name>    <value>localhost</value>    <description>hostname of Resource Manager</description>  </property></configuration>
复制代码

修改slaves文件

localhost

默认就是localhost,所以不用修改。

启动伪分布式模式:

第一次启动都要格式化下数据文件,命令:

./bin/hdfs namenode -format

启动hadoop,命令:

./sbin/start-all.sh

查看,命令:

jps

结果:

表示启动成功。

2.6 web访问端口

NameNode50070ResourceManager8088MapReduce JobHistory Server19888

 

 

 

 

 

访问http://localhost:50070

访问http://localhost:8088

其中19888端口要启动JobHistoryServer进程,启动命令如下:

./sbin/mr-jobhistory-daemon.sh start historyserver

然后访问http://localhost:19888

到此为止,hadoop的伪分布式安装配置讲解完毕。

hadoop基本命令:

1.查看hdfs 文件夹下文件命令

hadoop fs -ls dir

2.从本地上传至hdfs

hadoop fs -copyFromLocal input/hello.txt /input/hello.txt

3.从hdfs下载至本地

hadoop fs -copyToLocal /input/hello.txt input/hello.copy.txt

4.创建文件夹

hadoop fs -mkdir testDir

5.查看hdfs文件列表

hadoop fs -lsr /testDir
0 0
原创粉丝点击