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

hadoop3.0安装配置

2016-09-08 16:09 405 查看

所需软件

Linux和Windows所需软件包括:

1、JavaTM1.5.x,必须安装,建议选择Sun公司发行的Java版本。建议用最新的发行版本,如jdk1.8 。

2、ssh 必须安装并且保证 sshd一直运行,以便用Hadoop 脚本管理远端Hadoop守护进程。

此外,在ssh安装的基础上,再安装pdsh

安装软件

如果你的集群尚未安装所需软件,你得首先安装它们。以centos Linux为例:

$ yum  install ssh
$ yum  install pdsh</span>


下载Hadoop镜像,建议下载最新版本(最新版本hadoop-3.0.0-alpha1.tar.gz)

解压

hadoop使用版本:hadoop-3.0.0-alpha1.tar.gz,切换到Hadoop压缩包所在目录,解压hadoop-3.0.0-alpha1.tar.gz到/opt/目录下

tar  -zxvf  hadoop-3.0.0-alpha1  -C  /opt/


运行Hadoop集群的准备工作

切换到/opt/ hadoop-3.0.0-alpha1/目录,编辑 etc/hadoop/hadoop-env.sh文件,至少需要将JAVA_HOME设置为Java安装根路径。

# set to the root of your Java installation
export JAVA_HOME=/usr/java/jdk1.8.0_101/


注意:JAVA_HOME配置的路径,是java  jdk安装的路径,格式为:export JAVA_HOME=/<jdk direcotr>/<jdk folder>,修改生效,文件可执行:

chmod +x hadoop-env.sh
./hadoop-env.sh
尝试如下命令:

$ bin/hadoop


将会显示hadoop 脚本的使用文档。

现在你可以用以下三种支持的模式中的一种启动Hadoop集群:

单机模式
伪分布式模式
完全分布式模式

单机模式的操作方法

默认情况下,Hadoop被配置成以非分布式模式运行的一个独立Java进程。这对调试非常有帮助。下面的实例将已解压的 conf 目录拷贝作为输入,查找并显示匹配给定正则表达式的条目。输出写入到指定的output目录。 进入镜像解压后的hadoop-3.0.0-alpha1目录

$ mkdir input
$ cp conf/*.xml input
$ bin/hadoopjar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0-alpha1.jar grep input output 'dfs[a-z.]+'
$ cat output/*



伪分布式模式的操作方法

Hadoop可以在单节点上以所谓的伪分布式模式运行,此时每一个Hadoop守护进程都作为一个独立的Java进程运行。
配置

使用如下的 etc/hadoop/core-site.xml:

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
etc/hadoop/hdfs-site.xml:

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>


免密码ssh设置

现在确认能否不输入口令就用ssh登录localhost:

$ ssh localhost
如果用ssh登陆localhost,提示需要输入口令,执行下面的命令:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ chmod  0600 ~/.ssh/authorized_keys


执行

格式化一个新的分布式文件系统:

$ bin/hdfs namenode -format
启动namenode和datanode守护进程:
$ sbin/start-dfs.sh



 

Hadoop守护进程的日志写入到 $HADOOP_LOG_DIR  目录 (默认是  $HADOOP_LOG_DIR /logs).

浏览NameNode网络接口,它的地址默认为:

NameNode —— http://localhost:9870/   (使用时localhost以Hadoop所在机器ip为准)


  

生成HDFS请求目录执行MapReduce任务

$ bin/hdfs dfs -mkdir /user
$ bin/hdfs dfs -mkdir /user/hduser


将输入文件拷贝到分布式文件系统
$ bin/hdfs dfs -mkdir /user/hduser/input
$ bin/hdfs dfs -put etc/hadoop/*.xml /user/hduser/input
运行提供的示例程序

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0-alpha1.jar grep /user/hduser/input output 'dfs[a-z.]+'
查看输出文件:

将输出文件从分布式文件系统拷贝到本地文件系统查看:
$ bin/hdfs dfs -get output output
$ cat output/*
或者,在分布式文件系统上查看输出文件:
$ bin/hdfs dfs -cat output/*
完成全部操作后,停止守护进程:
$ sbin/stop-dfs.sh



查看HDFS文件系统数据的shell命令

hadoop fs -ls /user/hadoop/output     #查看指定目录下的文件和文件夹。/user/hadoop/output是HDFS上的目录,不是本地目录
hadoop fs -cat  /user/hadoop/output   #查看文件内容
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: