所需软件

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/hadoop jar 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   #查看文件内容






GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐