千家信息网

Hadoop如何安装、配置及基础使用

发表于:2024-11-20 作者:千家信息网编辑
千家信息网最后更新 2024年11月20日,小编给大家分享一下Hadoop如何安装、配置及基础使用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!6. Hadoop此主
千家信息网最后更新 2024年11月20日Hadoop如何安装、配置及基础使用

小编给大家分享一下Hadoop如何安装、配置及基础使用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

6. Hadoop

此主题介绍Hadoop的安装、配置及基础使用。

Hadoop基本信息

官网:http://hadoop.apache.org/官方教程:http://hadoop.apache.org/docs/current/

6.1. 环境准备

# 切换到工作空间cd /opt/workspacesmkdir data/hadoop# 创建Hadoop NameNode目录mkdir -p data/hadoop/hdfs/nn# 创建Hadoop DataNode目录mkdir -p data/hadoop/hdfs/dn# 创建Hadoop临时目录mkdir data/hadoop/tmp# 创建Hadoop日志目录mkdir logs/hadoop

官方教程

http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html#Pseudo-Distributed_Operation

6.2. 安装

wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gztar -zxf hadoop-2.7.2.tar.gzrm -rf hadoop-2.7.2.tar.gzmv hadoop-2.7.2 ./frameworks/hadoop

6.3. 配置(伪分布式)

vi ./frameworks/hadoop/etc/hadoop/hadoop-env.sh

# 添加JDK目录export JAVA_HOME=/opt/env/java# 指定Hadoop日志写入到先前定义的目录export HADOOP_LOG_DIR=/opt/workspaces/logs/hadoop

vi ./frameworks/hadoop/etc/hadoop/core-site.xml

    fs.defaultFS    hdfs://bd:9000    hadoop.tmp.dir    file:/opt/workspaces/data/hadoop/tmp

hadoop.tmp.dir 是hadoop文件系统依赖的基础配置,如hdfs-site.xml中不指定namenode和datanode的存放位置默认就放在这个路径中。hadoop.tmp.dir 默认存放在/tmp下,启动的时会被清空。

vi ./frameworks/hadoop/etc/hadoop/hdfs-site.xml

    dfs.replication    1    dfs.namenode.name.dir    file:/opt/workspaces/data/hadoop/hdfs/nn    dfs.datanode.data.dir    file:/opt/workspaces/data/hadoop/hdfs/dn    dfs.permissions.enabled    false

生产环境不允许dfs.permissions.enabled=false这可能导致HDFS数据被非法修改!

6.4. 初始化

格式化NameNode

./frameworks/hadoop/bin/hdfs namenode -format

6.5. 启动与停止

# 启动NameNode./frameworks/hadoop/sbin/hadoop-daemon.sh start namenode# 启动DataNode./frameworks/hadoop/sbin/hadoop-daemon.sh start datanode# 停止NameNode./frameworks/hadoop/sbin/hadoop-daemon.sh stop namenode# 停止DataNode./frameworks/hadoop/sbin/hadoop-daemon.sh stop datanode

不同的启动(停止)命令

start-all.sh 启动所有服务,不推荐使用 start-dfs.sh 启动HDFS start-mapred.sh 启动MapR

6.6. 测试

# 查看HDFS文件./frameworks/hadoop/bin/hadoop fs -ls /

6.7. HDFS常用操作

# 上传文件到HDFShadoop fs -put localfile /user/hadoop/hadoopfile hdfs://:/hadoop fs -put localfile1 localfile2 /user/hadoop/hadoopdirhadoop fs -put localfile hdfs://nn.example.com/hadoop/hadoopfile# 创建HDFS目录hadoop fs -mkdir /user/hadoop/dir1 /user/hadoop/dir2hadoop fs -mkdir hdfs://nn1.example.com/user/hadoop/dir hdfs://nn2.example.com/user/hadoop/dir# 查看HDFS目录hadoop fs -ls /user/hadoop/file1# 查看HDFS文件内容hadoop fs -cat hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2hadoop fs -cat file:///file3 /user/hadoop/file4# 修改HDFS文件所有者hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ]# 修改HDFS文件权限hadoop fs -chmod [-R]  URI [URI ...]# 获取HDFS到本地hadoop fs -copyToLocal [-ignorecrc] [-crc] URI 

6.8. 常见问题

  • Name node is in safe mode

  • Hadoop启动的时候首先进入安全模式,安全模式主要是为了系统启动的时候检查各个DataNode上数据块的有效性,根据策略必要的复制或者删除部分数据块,如果datanode丢失的block达到一定的比例会一直处于安全模式状态即只读状态。可以通过命令hadoop dfsadmin -safemode leave命令强制离开。

以上是"Hadoop如何安装、配置及基础使用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0