Hadoop
前置
知识概括
大数据就是:使用分布式技术完成海量数据的处理,得到数据背后蕴含的价值
2008年Apache Hadoop开源了
在VMware的虚拟网络编辑器中,将VMnet8虚拟网卡的:
- 网段设置为:192.168.88.0
- 网关设置为:192.168.88.2
前置环境配置准备:
- 设置三台Linux虚拟机的主机名和固定IP
- 在Linux系统以及本机系统中配置了主机名映射
- 配置了三台服务器之间root用户的SSH免密互通
- 安装配置了JDK环境
- 关闭了防火墙和SELinux
- 更新了时区和同步了时间
- 拍摄快照保存状态
Hadoop可以提供:
- 分布式数据存储(HDFS)
- 分布式数据计算(MapReduce)
- 分布式资源调度(Yarn)
环境配置
已经完成服务器创建、固定IP、防火墙关闭、Hadoop用户创建、SSH免密、JDK部署
HDFS集群配置
配置HDFS集群,主要涉及如下文件的修改:
- workers: 配置从节点(DataNode)有哪些
- hadoop-env.sh 配置Hadoop的相关环境变量
- core-site.xml Hadoop核心配置文件
- hdfs-site.xml HDFS核心配置文件
这些文件均在$HADOOP_HOME/etc/hadoop文件中
具体配置如下:
四文件配置
- workers:
1 | vim workers |
- hadoop-env.sh
1 | export JAVA_HOME=/export/server/jdk |
- core-site.xml
1 | <configuration> |
- hdfs-site.xml
1 | <configuration> |
准备数据目录
在node1节点:
1 | mkdir -p /data/nn |
在node2和node3节点:
1 | mkdir -p /data/dn |
配置环境变量
在Hadoop文件夹中的bin、sbin两个文件夹内有许多的脚本和程序,在环境变量中添加如下:
1 | export HADOOP_HOME=/export/server/hadoop |
hadoop用户授权
接下来以root身份为hadoop用户授权,在node1、node2、node3分别执行
1 | chown -R hadoop:hadoop /data |
格式化整个文件系统
- 格式化namenode
1 | su hadoop |
- 启动
1 | # 一键启动hdfs集群 |
环境配置问题
启动start-dfs.sh出现报错Permission denied的原因是授权没到位,仔细观察前面的-rw-r–r–这一坨
- 第一个字符(文件类型)
- -:表示这是一个普通文件(如果是目录,则是 d,如果是符号链接,则是 l,等等)
- 第 2 到第 4 个字符:表示文件所有者(owner)的权限
- 第 5 到第 7 个字符:表示文件所在组(group)的权限
- 第 8 到第 10 个字符:表示其他用户(others)的权限
- r:读取权限,允许查看文件内容
- w:写入权限,允许修改文件内容
- x:执行权限,允许执行文件或进入目录
- -:表示文件所有者没有 执行 权限
解决方法可以是:为该目录下的所有文件和子目录都具有适当的执行权限
1 | chmod -R +x /export/server/hadoop/bin/ |
相关命令
单进程启停操作
1 | hdfs --daemon (start|stop|) (namenode|secondarynamenode) |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Pencil!
评论