一、 HDFS安装搭建
1.1 关闭虚拟机防火墙
在之后的学习、操作中,经常会遇到在宿主机中通过程序去访问虚拟机中的相关软件,但是默认情况下,虚拟机的防火墙是不允许访问,这是需要开启一个一个的端口号,比较麻烦,所以在教学过程中,为了提高教学、学习的效率,直接关闭虚拟机的防火墙。(注意在实际的生产环境中不可以,在生产环境中通常是通过关闭端口实现的)
防火墙相关指令:
启动:systemctl start firewalld
关闭:systemctl stop firewalld
重启:systemctl restart firewalld
查看防火墙状态:systemctl status firewalld / firewall-cmd --state
在开机时启用防火墙:systemctl enable firewalld
在开机时禁用防火墙:systemctl disable firewalld
1.2 配置hosts文件
命令:vi /etc/hosts
注:配置文件中的“hadoop”根据实际用户填写
1.3 配置免密登陆
命令:ssh-keygen -t rsa
然后一直回车,直到出现:
注:(方框中的图案每个虚拟机都不相同)
此时,会产生两个文件 id_rsa(私钥) id_rsa.pub(公钥),生成节点的公钥和私钥,生成的文件会自动放在/root/.ssh目录下
第二步:执行:ssh-copy-id root@hadoop
此处hadoop其实就是hosts文件中ip的映射,这一步实际上是将公钥拷贝到
/root/.ssh/authorized_keys 这个文件里(等同于cp id_rsa.pub authorized_keys #拷贝公钥到ssh文件)
格式化成功截图:
1.4 上传jdk和hadoop安装包
将jdk和hadoop的安装包上传到虚拟机
方式一(有网络连接):
直接使用yum源安装rz
命令: yum install lrzsz
方式二:使用filezilla上传安装包
1.5 安装配置JDK
1 解压安装包
注:这里输入方式为tar -xvf jdk “tab”,会自动补全
2 重命名目录(可选操作)
3 设置环境变量
在文件尾添加:
export JAVA_HOME=/software/jdk1.8 export PATH=J A V A H O M E / b i n : JAVA_HOME/bin:JAVA HOME/bin:PATH:$HOME/bin export CLASSPATH=.:J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar:JAVA HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
注:该截图Java_home文件目录多/home
保存退出,利用命令使配置立即生效 source /etc/profile
利用命令查看jdk版本信息,检验jdk的安装配置是否成功
1.6 安装配置hadoop
1.解压安装包
2.配置环境变量
export HADOOP_HOME=/software/hadoop2.6
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$PATH:$HOME/bin
该截图hadoop_home文件目录多/home
source /etc/profile 使其立即生效
3. 配置hadoop-env.sh
vim /software /Hadoop-2.7.3/etc/hadoop /hadoop-env.sh
export JAVA_HOME=/software/jdk1.8 #必须配置(25行)
export HADOOP_CONF_DIR=/software/hadoop2.6/etc/hadoop (33行)
(之所以配置路径是因为自带的往往定位不到,会发生某些错误)
注:该截图文件目录多/home
4.配置core-site.xml
vim /software /Hadoop-2.7.3/etc/hadoop/core-site.xml
在<configuration>标签添加:
<configuration>
<!--用来指定hdfs的namenode的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop:9000</value>
</property>
<!--用来指定hadoop运行时产生文件的存放目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/software/hadoop-2.7.3/tmp</value>
</property>
</configuration>
5. 配置hdfs-site.xml
vim /software /Hadoop-2.7.3/etc/hadoop/hdfs-site.xml
在**<configuration>**标签添加:
<configuration>
<!-- 指定hdfs副本数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- 关闭hdfs权限检查 -->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
【注】:
dfs.replication默认是3,此处我们只需要伪分布式,所以设置为1即可;
dfs.permissions 设置为false代表所有用户都可以在hdfs上操作文件,这只是为了以后利用eclipse的hadoop插件上传下载文件方便
6. 配置mapred-site.xml
此文件原本不存在,只有一个模板文件mapred-site.xml.template
将其复制一份并改名为mapred-site.xml(注意路径为hadoop2.7.3/etc/hadoop)
vim /software /Hadoop-2.7.3/etc/hadoop/mapred-site.xml
在**<configuration>**标签添加:
<configuration>
<!-- 配置mapreduce作业运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
7. 配置yarn-site.xml
vim /software /Hadoop-2.7.3/etc/hadoop/yarn-site.xml
在**<configuration>**标签添加:
<configuration>
<!-- 指定resourceManager的主机 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop</value>
</property>
<!-- reduce任务的数据来源 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
1.7 启动hadoop
此时hadoop已经成功安装配置,在首次启动之前,需要对namenode进行格式化(类似于新买的硬盘需要格式化一样,因为hdfs本身就是一个文件系统)
命令: hdfs namenode -format
以下3个部分一致即格式化成功
启动hadoop的hdfs:
命令:start-dfs.sh
输入jps,只要出现以下进程即启动成功:
启动mapreduce:(需要先启动hdfs):
命令:start-yarn.sh
利用jps命令查看进程:
除了jps命令,还可以通过web界面来查看(建议使用google浏览器,同时注意关闭防火墙)
hdfs web界面:
ip地址:50070
mapreduce web界面:
ip地址:8088
以上就是hadoop环境搭建教程,下面如果退出请先stop-all.sh 关闭进程。