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

来源:互联网 发布:mysql 前后空格为什么 编辑:程序博客网 时间:2024/05/16 08:47

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

hadoop单机版安装

准备工作

创建用户

useradd -m hadooppasswd 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.gztar -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 input4testvi input4test/1.txthadoop is an open-source softwarevi input4test/2.txtI 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   1an  1hadoop  2is  1learn   1open-source 1software    1to  1want    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
  1. hdfs启动
sbin/start-dfs.sh
  1. 查看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   1an  1hadoop  2is  1learn   1open-source 1software    1to  1want    1
原创粉丝点击