Hadoop 3.1.1伪分布式模式安装

Hadoop 3.1.1伪分布式模式安装

更多资源

github: https://github.com/opensourceteams/hadoop-java-maven-3.1.1

视频

前置条件

  • jdk.1.8.0_191 已安装
  • linux 系统(本文选用的centos 7 系统已完装好)

技能标签

  • 学会安装Hadoop3.1.1版本的伪分布式模式
  • 可以进行Hadoop技术开发(包括HDFS,MapReduce等)
  • HDFS启动停止命令,yarn启动停止命令
  • 官网自带WorldCount示例运行
  • 进行管理界面管理NamenNode管理和ResourceManager管理
  • 对Hadoop集群环境操作(一台机器也可以做集群,只是节点只有一个,很多功能都可以操作)

安装步骤

安装ssh

  • 一般安装系统后都已自带ssh服务,就可以跳过,直接在终端执行ssh命令,有这个命令就可以
  • 如果没有需要安装如下服务
yum install ssh
yum install pdsh

下载Hadoop安装包

tar -zxvf /hadoop-3.1.1.tar.gz  -C /opt/module/bigdata

配置

hadoop-env.sh

  • 编辑etc/hadoop/hadoop-env.sh
  • 调置JAVA_HOME环境变量
# set to the root of your Java installation
  export JAVA_HOME=/opt/module/jdk/jdk1.8.0_191

执行命令 Hadoop

  • 确认hadoop命令是否可以正常执行
  • 查看当前版本命令
bin/hadoop version

独立模式

  • 本地模式

执行官方自带示例

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

伪分布式模式

配置环境变量

  • 配置在本地用户下 ~/.bashrc
export HADOOP_HOME=/opt/module/bigdata/hadoop-3.1.1
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

配置core-site.xml

  • 配置文件 etc/hadoop/core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

配置hdfs-site.xml

  • etc/hadoop/hdfs-site.xml:
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

配置 ssh免密登录

  • 验证是否已经配置 ssh
ssh localhost
  • 如果需要输入密码验证,则执行以下
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
  $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  $ chmod 0600 ~/.ssh/authorized_keys
  • 也可以执行以下
ssh-keygen 
ssh-copy-id 远程ip地址

格式化namenode

 bin/hdfs namenode -format

启动namenode和datanode

sbin/start-dfs.sh
  • 可配置日志输出目录
$HADOOP_LOG_DIR directory (defaults to $HADOOP_HOME/logs).

访问namenode

HDFS上新建目录

bin/hdfs dfs -mkdir /user
$ bin/hdfs dfs -mkdir /user/<username>

上传本机文件到HDFS上

bin/hdfs dfs -mkdir input
$ bin/hdfs dfs -put etc/hadoop/*.xml input

运行示例

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1.jar grep input output 'dfs[a-z.]+'

查看示例输出结果(先下到本地再看)

 bin/hdfs dfs -get output output
 $ cat output/*

查看HDFS上的文件内容

 bin/hdfs dfs -cat output/*

停止namemode和datanode

sbin/stop-dfs.sh

hadoop-daemon.sh命令

 hdfs --daemon start namenode
 hdfs --daemon start datanode
 hdfs --daemon stop namenode
 hdfs --daemon stop datanode

  

HDFS命令操作

  • 在HDFS上新建目录
hdfs dfs -mkdir -p /home/liuwen/data
  • 上传本地文件到HDFS
hdfs dfs -put /opt/temp/a.txt  /home/liuwen/data
  • 查看HDFS文件
hdfs dfs -text  /home/liuwen/data/a.txt

YARN 配置伪分布式模式

配置文件mapred-site.xml

  • etc/hadoop/mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

<configuration>
    <property>
        <name>mapreduce.application.classpath</name>
        <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
    </property>
</configuration>

配置文件mapred-site.xml

  • 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

  • 启动 ResourceManager daemon 和 NodeManager daemon
sbin/start-yarn.sh

访问资源管理器

###停止YARN

  • 停止 ResourceManager daemon 和 NodeManager daemon
sbin/stop-yarn.sh

WorldCount官网示例运行

  • 配置环境变量直接运行 hadoop命令
  • worldcount标签,examples自带运行对应的程序
  • 输入数据源
  • 输出数据源

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1.jar wordcount  /opt/data/a.txt  /opt/temp/output/output_2


end

猜你喜欢

转载自blog.csdn.net/thinktothings/article/details/85009505