1、hadoop是什么?
答:适合大数据的分布式存储与计算平台
2、HDFS是什么?
hadoop distributed file system 分布式文件系统
HDFS的架构:
主从结构:
主节点:namenode(只有一个)
接受用户操作请求
维护文件系统的目录结构
管理文件与block之间的关系,block与datanode之间的关系
从节点:datanodes(可以有很多个)
存储数据
文件被分成很多block存储在磁盘上
为了保证安全,一个文件会有很多的副本
3、Mapreduce
并行计算框架
Mapreduce架构
主从结构
主节点jobTracker(只有一个)
接受用户提交的作业任务
把作业任务分配给taskTracker执行
监控taskTracker的执行情况
从节点TaskTrackers(可以有很多)
执行jobTracker的计算任务
4、hadoop的伪分布安装
安装之前 需要知道几个知识点:
宿主机与客户机的网络连接
主机模式(host-only) 宿主机与客户机单独组网
好处 数据安全
坏处 不能数据交互
桥接(bridge) 客户机与宿主机在同一个局域网中
好处 在同一个局域网中,所以可以数据交互
坏处 数据不安全
安装之前:准备软件 jdk和hadoop
安装步骤:
4.1、使用镜像文件 打开镜像虚拟机
在window(宿主机上)打开网络链接 修改主机模式的ip和DNS服务器
在linux洗修改IP地址
重启网卡 执行命令 service network restart 当现实三个OK的时候 证明ip已经设置成功
查看配置 执行命令 ifconfig
4.2、 查看当前虚拟机名 hostname
修改hostname 执行命令 hostname XXX 此命令只对当前对话有效 别人访问改虚拟机时 还是会显示localhost:localdomain
为了一劳永逸 需要修改配置 在/etc/sysconfig/network文件中配置主机名
验证是否生效 执行命令 reboot -h now 立即重启虚拟机
4.3 把ip和主机名绑定
修改配置文件 /etc/hosts (此修改和window下修改域名一样)
4.4 关闭防火墙
查看当前防火墙状态 service iptables status
关闭防火墙 service iptables stop
查看当前所有服务状态 chkconfig
查看当前防火墙状态
chkconfig --list |grep iptables
完全关闭防火墙
chkconfig iptables off
验证:执行命令查看防火墙状态 chkconfig --list |grep iptables
4.5、设置ssh的免密码登录
执行命令产生秘钥 ssh-keygen -t rsa 残生的秘钥位于 ~/.ssh下的is_rsa.pub
把生成的秘钥复制为authorized_keys 执行完之后 秘钥就已经产生
验证是否设置成功 ssh chaigy(主机名)
准备工作已经做完 现在开始安装jdk和hadoop
4.6、把装备好的jdk和hadoop复制到linux系统下
(赋权限:chmod u+x 文件名(u是当前用户 x可执行))
在linux下的/usr/local下的文件是没有用的 我们可以先删除
rm -rf /usr/local/*
分别解压和执行链各个文件
解压命令 tar -zxvf xxx.gz
执行命令./jdk名
4.7、解压和安装完毕 需要像java一样 配置环境变量
环境变量在 /etc/priofile中配置
export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/usr/local/hadoop
PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$path
执行命令 source /etc/profile 使设置生效
执行 java -version 看看java有没有生效
4.8、修改hadoop的配置文件
修改hadoop的配置文件 文件位于$HADOOP_HOME/conf目录下
修改四个文件
hadoop-env.sh
core-site.xml
hdfs-site.xml
mapred-site.xml
1.hadoop-env.sh (设置jdk环境)
export JAVA_HOME=/usr/local/jdk/
2.core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop0:9000</value>
<description>change your own hostname</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
3.hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
4.mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop0:9001</value>
<description>change your own hostname</description>
</property>
</configuration>
4.8、对hadoop进行格式化
格式化命令 hadoop namenode -format
4.9 启动hadoop
start-all.sh
通过jps查看hadoop的namenode、secondaryNameNode、datanode、 jobtracker、tasktracker是否启动
通过浏览器
主机名:50070
主机名:50030
查看是否启动
5 namenode没有启动成功的错误原因
(1) 没有格式化
(2) 配置文件只copy不修改
(3)hostname与ip没有绑定
(4) ssh的免密码没有配置成功
多次格式化也会出错 如果需要格式化则删除/usr/local/hadoop/tmp 文件夹,重新格式化