打开虚拟机,并使用SecureCRTPortable工具连接虚拟机后,在~目录下创建tools和training两个子目录,tools用来存储要使用的工具压缩包,training用来存储安装的工具;
使用SecureFXPortable将jdk-8u171-linux-x64.tar.gz和hadoop-2.7.3.tar.gz上传到tools目录下;
进入到tools目录下运行此语句:tar -zvxf jdk-8u171-linux-x64.tar.gz -C /training 将jdk解压到training目录下;
运行此语句:vi ~/.bash_profile 打开环境变量文件,在文件按“i”内添加以下信息:
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;
(先复制到文档文件内部后在复制进入文件内),添加完成后按“esc”并输入“:wq”(注:此处若出错可输入“:wq!”强制保存退出此文件;如果不想保存可输入“:q”退出或者“:q!”强制退出)保存退出此文件。
运行此语句:source ~/.bash_profile 将~
目录下的环境变量文件生效;
现在可以输入:java -version
验证是否安装成功;若失败,则返回“Java commond not found”;若成功,则返回关于java的信息;
运行此语句
systemctl stop firewalld.service和systemctl disable firewalld.service
关闭防火墙,以便于其他终端可以访问此服务器;
运行此语句hostnamectl --static set-hostname 主机名
修改你想修改的主机名;
运行此语句vi /etc/hosts
打开在etc目录下的hosts文件,按“i”后将你的主机地址以及你想要的名称做映射关系:192.168.110.173 hostname
按“esc”退出编辑模式后输入“:wq”保存退出;
进入tools目录中运行:tar -zvxf hadoop-2.7.3.tar.gz -C /training
将hadoop解压到training目录下;
再次运行vi ~/.bash_profile
修改环境变量,将一下信息添加到文件内:
export HADOOP_HOME=/training/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
保存退出;
运行source ~/.bash_profile
让环境变量生效
输入hadoop或者hdfs,有其相关信息出现即安装成功,否则没有安装成功;
运行mkdir /training/hadoop-2.7.3/tmp 在hadoop-2.7.3
目录下创建一个tmp目录(tmp将用来存储之后步骤的格式化信息);
运行ssh-keygen -t rsa
之后按四次回车;之后再依次运行
cd ~/.ssh和ssh-copy-id -i id_rsa.pub root@hostname;
(此处安装时会弹出回答为“yes”和“no”的问题,输入“yes”后按回车即可)
下面将修改五个配置文件:
(*)hadoop-env.sh
(*)hdfs-site.xml
(*)core-site.xml
(*)mapper-site.xml
(*)yarn-site.xml
运行cd /training/hadoop-2.7.3/etc/hadoop进入到hadoop目录下;运行vi hadoop-env.sh,打开文件并找到JAVA_HOME,作如下修改:
export JAVA_HOME=/training/jdk1.8.0_171
保存退出;
运行vi hdfs-site.xml,在hdfs-site.xml文件的<configuration></configuration>
之间添加如下信息:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
保存退出
3)运行vi core-site.xml,在core-site.xml文件的<configuration></configuration>
之间添加如下信息:
<property>
<name>fs.defaultFS</name>
<value>hdfs://niit04:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/training/hadoop-2.7.3/tmp</value>
</property>
(注:“niit04”为示例主机名,此处要修改为自己的主机名)
此处要修改mapper-site.xml,但是此文件夹内没有,所以要复制一份,运行如下语句:
cp /training/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template /training/hadoop-2.7.3/etc/hadoop/mapred-site.xml
之后再运行vi mapper-site.xml,在mapper-site.xml文件的<configuration></configuration>
之间添加如下信息:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
保存退出
运行vi yarn-site.xml,在yarn-site.xml文件的<configuration></configuration>
之间添加如下信息:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>niit04</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
(注:“niit04”为示例主机名,此处要修改为自己的主机名)
保存退出
格式化HDFS(NameNode)
运行hdfs namenode -format
启动hadoop环境
运行start-all.sh
输入jps,若出现如下信息,则hadoop伪分布模式已配置完成:
NameNode
DataNode
SecondaryNameNode
ReourceManager
NodeManager
配置文件的作用:
Hadoop-env.sh主要存储Hadoop的环境变量信息,让hadoop能够在虚拟机上运行;
Hdfs-site.xml指定了DataNode存储block的副本数量,以及为HDFS起一个别名为permissions
Core-site.xml主要是为外部访问此服务器时提供一个接口域名,并说明namenode的格式化信息在何处,也就是结点产生的数据存放的目录;
mapper-site.xml指定MapReduce将会运行在yarn容器上;
yarn-site.xml