1 准备干净的linux
linux没有安装任何的软件并且没有进行过任何的操作。
2 关闭防火墙
通过命令service iptables sopt 来关闭防火墙
通过 chkconfig iptables off 来关闭开机自动启动防火墙
3 修改主机的hostname
进入 /etc/hosts 文件修改主机的hostname
4 设置静态ip地址
修改静态ip地址步骤:
- 先进入文件 /etc/sysconfig/network-scripts/ifcfg-eth0
- 然后修改里面的内容如下:
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.1.112
GATEWAY=192.168.1.2
DNS1=114.114.114.114
DNS2=8.8.8.8
NATEWAK=255.255.255.0
- 修改完毕后重新启动网络服务 service network restart
5 编辑/etc/hosts文件添加集群ip和hostname (脚本实现,一定要注意主机名和ip的映射关系)
自行编辑IP地址,一个IP地址对应一个主机名字,可以通过写脚本来快速的注入文件中。
6 创建普通用户,设置密码,为普通用户添加sudo权限
- 通过命令:useradd 用户名(添加用户)
- 通过命令:password 用户名(设置用户密码)
- 添加完用户后,打开 /etc/sudoers 文件然后再90行的位置添加新用户并且给新用户赋予权限。
7 创建文件夹分别存放安装包 和 解压包
在根目录/opt在分别创建两个文件夹:mkdir -p module software
module用来存放应用程序,software用来存放解压包。
8 为创建的文件夹添加普通用户的操作权限
更改创建好的文件夹的用户所属权,和所属组的权:chown 用户名:用户名 (文件夹名字)module software
9 关机重启,检查以上配置是否最正确
10 确认无误后,关机快照
注意:(从这里开始切换到注册好的用户,不使用root用户)
11 上传jdk和hadoop包,解压
- 通过xshell5中使用sftp连接方式远程连接,然后进入到/opt/software文件夹中
- 然后把下载好的jdk解压包和hadoop解压包拉入到文件中。
- 当拉入进去之后切换成SSH远程连接方式然后进行解压文件:tar -zxvf 文件名 -C /opt/module (执行解压文件。。。解压到-C后的文件夹中)分别执行HADOOP解压包和jdk解压包
12 配置环境变量,检查是否正确
- 执行命令:sudo vim /etc/profile
- 然后移动到最后一行
- 配置JDK环境变量如下:
export JAVA_HOME=(jdk安装的绝对路径)
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=(hadoop安装的绝对路径)
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
13 配置hadoop
- 配置hadoop-env.sh文件
修改JAVA_HOME 路径:/opt/module/jdk1.8.0_144 - 配置:core-site.xml在其中添加并且修改其中的hostname为自己的虚拟机的hostname。
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hostname:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
- 配置:hdfs-site.xml(value的个数是这个集群有几台服务器组成)
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
- 配置mapred-env.sh文件
修改其中的JAVA_HOME的绝对路径为自己JDK安装的绝对路径
5. 配置mapred-site.xml(hostname为自己的哪台虚拟机当作ResourceManager就写谁)
- 当我们打开这个文件的时候没有这个文件,但是有mapred-site.xml.template文件,所以需要先拷贝一份这个文件,cp mapred-site.xml.template mapred-site.xml(或者修改该文件的名字都是可以)
- 然后在其中添加内容(修改其中的hostname为自己虚拟机的hostname)
<!-- 指定MR运行在YARN上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hostname:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hostname:19888</value>
</property>
- 配置yarn-env.sh
修改其中的JAVA_HOME的绝对路径为自己JDK安装的绝对路径 - 配置yarn-site.xml(配置hostname为自己的那个主机当作ResourceManager,写上其hostname)
<!-- Reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hostname</value>
</property>
14. 第一次启动时格式话操作(只需要在第一次启动namenode时执行一次)
在hadoop中执行命令进行格式化:bin/hdfs namenode -format(没有报错说明成功)
如果报错了的话就查看自己的配置是不是有问题hostname是否配的正确,然后把hadoop目录下的logs中的所有文件和data/tem/下的所有文件都删除了然后重新执行上面的操作。
15. 启动namenode
- 在hadoop文件夹下执行命令:sbin/hadoop-daemon.sh start namenode
- 然后jps查看服务是否已经启动
16. 启动datanode
- 在hadoop文件夹下执行命令:sbin/hadoop-daemon.sh start datanode
- 然后jps查看服务是否已经启动
17. 启动resourcemanager
- 在hadoop文件夹下执行命令:sbin/yarn-daemon.sh start resourcemanager
- 然后jps查看服务是否已经启动
18. 启动nodemanager
- 在hadoop文件夹下执行命令:sbin/yarn-daemon.sh start nodemanager
- 然后jps查看服务是否已经启动
19. 启动historyserver(历史服务器)
- 在hadoop文件夹下执行命令:sbin/mr-jobhistory-daemon.sh start historyserver
- 然后jps查看服务是否已经启动
20. 如何查看是否可以使用
查看datanode节点信息:http://主机名:50070
查看资源调度(任务):http://主机名:8088
采用hadoop官方样例检验hadoop伪分布式集群是否能够正常运行
21. 注意:如果不能查看
[跳转这里查看有什么问题](http://www.cnblogs.com/zlslch/p/6604189.html)