你好,游客 登录
背景:
阅读新闻

hadoop单机版安装及基本功能演示

[日期:2017-12-22] 来源:博客园精华区  作者: [字体: ]

本文所使用的Linux发行版本为:CentOS Linux release 7.4.1708 (Core)

hadoop单机版安装

准备工作

创建用户

useradd -m hadoop
passwd hadoop

下载安装包

1.jdk

到官方下载页面http://www.oracle.com/technetwork/java/javase/downloads/index.html,下载jdk,我下载的版本为jdk-8u151-linux-x64.tar.gz。

2.hadoop安装包

到hadoop官网下载hadoop的二进制包,我使用的版本为:hadoop-2.7.5.tar.gz。

将jdk和hadoop的包上传到linux上,路径为:/home/hadoop。

hadoop安装及配置

安装

以hadoop用户登录,分别解压jdk和hadoop的包。

tar -zxvf jdk-8u151-linux-x64.tar.gz
tar -zxvf hadoop-2.7.5.tar.gz

重命名hadoop的目录

mv hadoop-2.7.5/ hadoop/

hadoop运行环境配置

进入到hadoop的目录/home/hadoop/hadoop

vi etc/hadoop/hadoop-env.sh

设置jdk的路径

# The java implementation to use.
export JAVA_HOME=/home/hadoop/jdk1.8.0_151

使用hadoop进行单词统计

创建输入文件目录及测试文件

mkdir input4test

vi input4test/1.txt
hadoop is an open-source software

vi input4test/2.txt
I want to learn hadoop

执行单词统计操作

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount ./input4test ./output4test

查看统计结果

cat output4test/part-r-00000
I   1
an  1
hadoop  2
is  1
learn   1
open-source 1
software    1
to  1
want    1

hdfs相关配置及操作

配置hdfs

进入到hadoop的目录/home/hadoop/hadoop

修改配置文件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-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys

hdfs格式化及启动

  1. hdfs格式化

    bin/hdfs namenode -format
  2. hdfs启动

    sbin/start-dfs.sh
  3. 查看hdfs状态

    在浏览器中输入http://IP:50070,可以查看hdfs的状态。如果50070端口没有打开,输入下面命令打开50070端口。

    iptables -I INPUT -p tcp --dport 50070 -j ACCEPT

hdfs基本操作

查看文件和文件夹

bin/hadoop dfs -ls -R /

该命令表示以递归方式查看根目录下的所有文件和文件夹。

创建目录

bin/hadoop dfs -mkdir /input

该命令表示在根目录下创建input目录。

上传文件到hdfs

bin/hadoop hdfs -put input4test/1.txt /input/
bin/hadoop hdfs -put input4test/2.txt /input/

该命令表示将本地input4test/1.txt和2.txt文件上传到hdfs中的/input目录下。

查看文件内容

bin/hadoop dfs -cat  /input/1.txt

通过YARN调度

配置YARN

修改配置文件etc/hadoop/mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

修改配置文件etc/hadoop/yarn-site.xml

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
</configuration>

启动YARN

sbin/start-yarn.sh

查看YARN状态

在浏览器中输入http://IP:8088,可以查看YARN的状态。如果8088端口没有打开,输入下面命令打开8088端口。

iptables -I INPUT -p tcp --dport 8088 -j ACCEPT

再次执行单词统计操作

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /input /output

本次执行的输入和输出目录,都是hdfs的目录。

查看统计结果

bin/hadoop dfs -cat /output/part-r-00000

和之前的结果一样。

I   1
an  1
hadoop  2
is  1
learn   1
open-source 1
software    1
to  1
want    1
 




收藏 推荐 打印 | 录入:Cstor | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款