实验环境:虚拟机CentOS 7 + Hadoop2.7.3 +SecureCRT
1,安装完系统后,使用SecureCRT连接虚拟机,在 / 目录下新建目录
mkdir /tools ---->用于存放软件包
mkdir /training ---->用于安装软件
注:SecureCRT连接虚拟机需要ip地址,若虚拟机下ifconfig 这个命令执行不了,是因为没有下载net-tools.x86_64
所以,执行:
yum search ifconfig
出现net-tools.x86_64 的提示后执行:yum install net-tools.x86_64
如果没出现就麻烦了,按以下操作:
( 1, cd /etc/sysconfig/network-scripts/ ,找到以ifcfg-eno开头后面有数字的文件,例如找到:ifcfg-eno16777728
然后编辑该文件,执行:vi ifcfg-eno16777728
2、1步骤打开了ifcfg-eno16777728文件,在该文件中将onboot=no 改成 yes
3、然后重启网卡,执行:systemctl restart network.service 命令即可
4、网卡重启没有问题后,在执行命令:yum search ifconfig 在提示信息中查找以net-tools.x86_64开头的安装包
5、最后执行:yum install net-tools.x86_64,进行安装即可,安装过程中会有提示,你需要在提示信息后面输入y 然后回车即可
)
2,安装java-JDK
在使用SecureCRT上传下载之前需要给服务器安装lrzsz:
yum -y install lrzsz (注:参数-y中"y"的意思是:当安装过程提示选择全部为"yes")
(*) 上传jdk-8u171-linux-x64.tar.gz到tools目录下,然后执行下面的命令进行解压安装
tar -zvxf jdk-8u171-linux-x64.tar.gz -C /training/
(*) 配置环境变量:
cd ~ 进home目录,ll -a 显示隐藏文件,vi .bash_profile,复制这些命令
vi ~/.bash_profile
在.bash_profile文件中添加如下信息:
export JAVA_HOME=/training/jdk1.8.0_171
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin;
() 让环境变量生效
source ~/.bash_profile
() 验证jdk是否安装成功
java -version
3、关闭防火墙(CentOS7下)
Systemctl stop firewalld.service
systemctl disable firewalld.service
另外,打开防火墙:sudo systemctl start firewalld
查看防火墙:sudo systemctl status firewalld
4、配置主机名(如何已经设置,此步骤可以不用设置)
hostnamectl --static set-hostname nick01
说明:–static 参数代表永久生效 nick01表达你希望设置的主机名
安装hadoop:
(1)上传hadoop-2.7.3.tar.gz到tools目录下,然后执行下面的命令进行解压安装
tar -zvxf hadoop-2.7.3.tar.gz -C /training/
(2)配置环境变量:
vi ~/.bash_profile
添加如下信息:
export HADOOP_HOME=/training/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
(3)让环境变量生效:
source ~/.bash_profile
(4)验证是否生效:
执行:hdfs 或者hadopo 有相关信息出现即可
Hadoop的伪分布安装
0、首页配置主机名与IP地址的映射关系
vi /etc/hosts
在文件的末尾添加类似于
192.168.215.152 nick01这样的格式ip和主机名称选择自己的即可
接下来新建一个tmp目录:mkdir /training/hadoop-2.7.3/tmp
(1)配置免密码登录:
执行此步骤需注意,如果前面修改了主机名称,注意看此时的主机名是否已经修改,如若没有,请断开SecureCRT连接重连。
执行如下命令:
()ssh-keygen -t rsa #外加三个回车
()cd ~/.ssh/
(*)ssh-copy-id -i id_rsa.pub root@nick01
(2)进入到/training/hadoop-2.7.3/etc/hadoop目录下
cd /training/hadoop-2.7.3/etc/hadoop
需要对五个文件进行配置:
()hadoop-env.sh
()hdfs-site.xml
()core-site.xml
()mapper-site.xml
()yarn-site.xml
(3)对(2)中的五个文件进行配置,配置步骤如下:
#设置运行环境
()配置hadoop-env.sh文件即可,修改该文件:
vi /training/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
在hadoop-env.sh 文件中找到JAVA_HOME,并进行如下修改
export JAVA_HOME=/training/jdk1.8.0_171
#设置副本数这个文件是hdfs的配置文件,需要配置如下几项
(*)配置hdfs-site.xml文件:
vi /training/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
在hdfs-site.xml文件的之间添加如下信息:
<property>
<name>dfs.replication</name>#block的副本数,不能超过datanode的数目
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
#对nameNode主要设置
(*)配置core-site.xml文件:
vi /training/hadoop-2.7.3/etc/hadoop/core-site.xml
在core-site.xml文件的之间添加如下信息:
<property>
<name>fs.defaultFS</name> # namenode节点名
<value>hdfs://XX:9000</value> #namenode域名(或IP)和端口
</property>
<property>
<name>hadoop.tmp.dir</name> #文件储存目录
<value>/training/hadoop-2.7.3/tmp</value> #fs的放置位置
</property>
#配置MapReduce执行框架
(*)配置mapper-site.xml文件(这个文件事先是不存在的,需要复制一份)
(1)cp/training/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template /training/hadoop-2.7.3/etc/hadoop/mapred-site.xml
(2)vi /training/hadoop-2.7.3/etc/hadoop/mapred-site.xml
(3)在mapper-site.xml文件的之间添加如下信息:
#MapReduce 执行框架设为 Hadoop YARN.
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
#设置ResouceManager 的地址
(*)配置yarn-site.xml文件:
vi /training/hadoop-2.7.3/etc/hadoop/yarn-site.xml
在yarn-site.xml文件的之间添加如下信息:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>XX</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
(4)格式化:HDFS(NameNode)
hdfs namenode -format
成功日志:
common.Storage: Storage directory /training/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.
(5)启动hadoop环境
start-all.sh
6)验证:
(1)web界面进行验证
HDFS:http://nick01:50070
Yarn:http://nick01:8088
注:如果http://nick01:50070进不去可能是你的ip地址与主机名称的映射没有做好,尝试换成
http://ip地址:50070 进入查看
(2)执行jps命令,看看是否会有如下进程:
NameNode
DataNode
SecondaryNameNode
ReourceManager
NodeManager
(7)如果需要停止,则执行如下操作:
stop-all.sh
至此,Hadoop的伪分布搭建已完成。
参考:https://blog.csdn.net/sujiangming/article/details/88047006