1、hadoop本地安装
特点:没有HDFS和Yarn 只能够测试MapReduce程序是否成功,作为一个普通的Java程序
修改文件:vi /opt/module/hadoop_2.7.3/etc/hadoop/hadoop-env.sh,/opt/module/hadoop_2.7.3/etc/hadoop是hadoop的安装路径。修改hadoop-env.sh中的JAVA_HOME=/opt/module/jdk1.8.0_181。/opt/module/jdk1.8.0_181是jdk的安装路径。
2、hadoop伪分布式安装
特点:在一台机器上模拟一个分布式环境具备hadoop的所有功能
HDFS : NameNode+DataNode+SecondarynameNode
Yarn:ResourceManager+NodeManager
修改文件:
1)vi hadoop-env.sh,JAVA_HOME=jdk路径
2)vi hdfs-site.xml
<!--注释配置数据块的冗余度,默认是3-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--注释配置HDFS的权限检查,默认是true-->
<!--
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
-->
3) vi core-site.xml
<!--配置HDFS主节点,namenode的地址,9000是RPC通信端口-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata124:9000</value>
</property>
<!--配置HDFS数据块和元数据保存的目录,一定要修改-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/moudle/hadoop-2.7.3/tmp</value>
</property>
/opt/moudle/hadoop-2.7.3/tmp这个是HDFS数据块和元数据保存的目录,是自己创建的
4) vi mapred-site.xml
在hadoop解压后的文件夹中是没有mapred-site.xml文件的
首先 cp mapred-site.xml.template mapred-site.xml
再增加内容
<!--配置MR程序运行的框架-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
5) vi yarn-site.xml
<!--配置Yarn的节点-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata124</value>
</property>
<!--NodeManager执行MR任务的方式是Shuffle洗牌-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
6) 通过HDFS namenode格式化
命令:hdfs namenode -format
验证是否成功:Storage directory /opt/moudle/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.
日志中是否出现上面这句
7) 最后启动
命令:start-all.sh
验证:jps
5314 SecondaryNameNode
5586 NodeManager
5476 ResourceManager
5126 DataNode
5878 Jps
5022 NameNode
主机web访问:http://配置虚拟机的ip:8088 -------------- yarn
http://配置虚拟机的ip:50070 ---------------- HDFS
3、ssh免密码登录
ssh不对称加密算法(加密和解密是两个文件)。(对称加密:加密和解密是同一个)
(1)生成密钥对:ssh-keygen -t rsa(三次回车)
(2) 把公钥给其他机器:ssh-copy-id -i ~/.ssh/id_rsa.pub root@bgdata122
登录的原理:
step1:生成密钥对,ssh-keygen -t rsa,id_rsa:私钥;id_rsa.pub:公钥
step2:通过ssh-copy-id -i ~/.ssh/id_rsa.pub root@bgdata122,B收到A的id_rsa.pub加入到authorized kevs
step3:B传输一个字符串,通过id_rsa.pub加密
step4:通过id_rsa文件解密,将解密文件返回
step5:收到A的解密文件,然后对比是否一致
4、全分布模式
(1)规划:
主节点:NameNode+SecondaryNameNode+ResourceManager
从节点:DataNode+NodeManager
(2)准备工作:
step1:jdk、防火墙、ssh免密码登录、在/etc/hosts添加主机名。
step2:时间同步
step3:修改配置文件(也可主节点机器配置完成后,复制)
修改配置文件与伪分布式安装的修改文件一致(注意冗余度,默认是3)
step4:hadoop2.x需要修改hadoop文件夹中的slaves文件,添加从节点的机器名
step5:hdfs namenode -format 格式化
step6:scp -r /opt/moudle/hadoop-2.7.3/ root@bigdata122:/opt/moudle/ ------------ 通过scp拷贝
step7:通过start-all.sh启动。