目录
一:准备工作:
1.确保当前操作系统中已经安装jdk
2..准备hadoop的安装包
hadoop-2.7.7.tar.gz
3.开始安装:
1.修改当前主机的主机名:
- 打开/etc/hostname 文件
[root@localhost etc]# vi /etc/hostname
- 然后删除里面原来的内容,设置一个新的主机名。
注意:主机名不允许使用一些特殊符号:- _ . *
- 打开/etc/hosts 文件,然后修改里面的映射关系
[root@localhost etc]# vi /etc/hosts
- 删除里面原来的内容,并且输入新的映射关系
虚拟机IP地址 主机名
例如:192.168.74.129 master1
重启虚拟机:reboot
2.安装hadoop
- 将hadoop的安装包解压到 指定的路径中:以bigdata为例
[root@master1 ~]# tar -zxvf hadoop-2.7.7.tar.gz -C bigdata/
- 配置环境变量
打开~/.bashrc
[root@master1 ~]# vi ~/.bashrc
- 然后在文件的最后面添加以下内容
#配置hadoop的环境
export HADOOP_PREFIX=/root/bigdata/hadoop-2.7.7 <-- 这里为hadoop的地址-->
export PATH=${PATH}:${HADOOP_PREFIX}/bin
export PATH=${PATH}:${HADOOP_PREFIX}/sbin
- 设置配置文件生效
[root@master1 ~]# source ~/.bashrc
- 查看是否配置成功
[root@master1 ~]# hadoop version
Hadoop 2.7.7
3.配置hadoop
- 配置服务器之间进行免密登录
测试是否有免密功能
如果输入:ssh 主机名 需要输入密码则代表没有免密功能,需要设置
设置免密登录
[root@master1 ~]# ssh-keygen -t rsa 用来生成当前服务器的访问的密钥和公钥
注意:上面命令执行之后一路回车 然后就会生成两个文件:id_rsa id_rsa.pub
[root@master1 ~]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 将生成的公钥保存到目标的服务器中
[root@master1 ~]# chmod 0600 ~/.ssh/authorized_keys 设置权限
测试是否配置成功
ssh 主机名
如果不需要输入密码则代表免密设置成功
- hadoop配置文件的修改
hadoop配置文件的路径: ../hadoop-2.7.7/etc/hadoop/
4. 进入hadoop配置文件的路径:
[root@master1 hadoop]# cd /root/bigdata/hadoop-2.7.7/etc/hadoop/
修改核心配置文件:core-site.xml
打开配置文件:[root@master1 hadoop]# vi core-site.xml
<!--配置hadoop集群服务器名称 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://自己的主机名:8020</value>
</property>
- 修改hdfs的配置文件:hdfs-site.xml
[root@master1 hadoop]# vi hdfs-site.xml
在标签中添加以下内容:
注意:下面的路径要以自己的实际路径为主
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/root/bigdata/hadoop-2.7.7/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/root/bigdata/hadoop-2.7.7/dfs/data</value>
</property>
- 修改mapreduce的配置文件:mapred-site.xml.template
将配置文件mapred-site.xml.template进行复制一份在当前路径中,重命名为:mapred-site.xml
[root@master1 hadoop]# cp mapred-site.xml.template mapred-site.xml
[root@master1 hadoop]# vi mapred-site.xml
在标签中添加以下内容:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
- 修改yarn资源管理器的配置文件:yarn-site.xml
[root@master1 hadoop]# vi yarn-site.xml
在标签中添加以下内容:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>主机名:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>主机名:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>主机名:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>主机名:8033</value>
</property>
- 修改配置文件来设置子服务器主机名:slaves
[root@master1 hadoop]# vi slaves
删除里面的内容,将当前服务器的主机名设置进去
- 修改jdk路径:hadoop-env.sh
[root@master1 hadoop]# vi hadoop-env.sh
export JAVA_HOME=JDK安装路径
4.启动hadoop平台
1.将主服务器进行格式化
(一般只格式化一次)
[root@master1 hadoop]# hadoop namenode -format
2.启动hadoop平台
[root@master1 hadoop]# start-all.sh
3.查看所有进程是否启动成功
[root@master1 hadoop]# jps
结果至少要有以下6个
2500 Jps
1974 SecondaryNameNode
2119 ResourceManager
1705 NameNode
2238 NodeManager
1823 DataNode
5.报错解决
- 注意:如果格式化的时候报错,则大概率就是因为配置文件出问题,需要仔细检查配置文件。
- 如果格式化没有问题,也就是说配置文件没有文件,但是启动的时候缺少进程。
解决办法:
1.先关闭hadoop平台
stop-all.sh
2.删除hadoop安装文件下面生成的几个文件夹:dfs和logs
rm -rf dfs logs
3.重新格式化主服务器
[root@master1 hadoop]# hadoop namenode -format
4.重新启动
start-all.sh