安装Hadoop!
一、实验目的
- 学会配置环境变量
- 熟悉几种Hadoop的配置文件
- 掌握Hadoop的完全分布式安装
二、实验环境
xshell+xftp工具组合
安装在vm虚拟机上的 CentOS7 系统
VMware Workstation 16 PRO
三、实验内容和实验要求
- 安装和配置JDK
- Hadoop环境变量配置
- 分布式安装
四、实验过程与分析
- 上传安装包——》安装JDK——》配置环境变量
使用下载好的xshell工具连接虚拟机,点击新建文件传输打开xftp,直接将需要传输的文件夹拖动到masternode的根目录,就成功上传了。
#安装jdk
rpm -ivh jdk-7u79-linux-x64.rpm #-i:显示套件的相关信息;-v:显示指令执行过程;-h:套件安装时列出标记;可加--force忽略报错强制安装
#设置环境变量
[root@master ~]# vi .bash_profile
export JAVA_HOME=/usr/java/jdk1.7.0_79 #设置JAVA_HOME指向JDK根目录
export PATH=$PATH:$JAVA_HOME/bin
[root@master ~]# source .bash_profile
#检验
[root@master ~]# java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
2. 给hadoop配置好环境变量
- 同样地上传压缩包到合适位置进行解压:
tar -zxvf hadoop-2.7.0.tar.gz # -x表示解压(-c为建立,-t为查看),-v表示显示过程,-f为使用档名(必须在最后)
- 修改.bash_profile配置文件,将bin和sbin添加为环境变量:
export JAVA_HOME=/usr/java/jdk1.7.0_79
export HADOOP_HOME=/opt/software/hadoop-2.5.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin #bin存放基本命令,sbin存放管理命令,将HADOOP_HOME路径下的这两个目录添加为环境变量
-
在hadoop-env.sh文件中配置JAVA_HOME,原因是相对于直接获取系统JAVA_HOME,Hadoop采用的方案是利用配置文件里的JAVA_HOME提供jdk支持,需要特意配一下。
过程略,不过要注意这一步配置文件中已经有一处“export JAVA_HOME=${JAVA_HOME}”,直接在该位置添加即可,不用另起一行。
- 修改core-site.xml和hdfs-site.xml——》配置masters和slaves——》拷贝所需文件——》格式化并启动集群
- 修改core-site.xml和hdfs-site.xml文件
<!--core-site.xml-->
<configuration>
<property>
<name>fs.defaultFS</name> <!--使从外部也能找到Hadoop集群-->
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name> <!--文件依赖的基础配置存放路径-->
<value>/opt/software/hadoop-2.7.0</value>
</property>
</configuration>
<!--hdfs-site.xml-->
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave:50090</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave:50091</value>
</property>
</configuration>
-
配置masters和slaves
#在hadoop目录下,创建masters和slaves touch masters touch slaves
将masters内容修改为master,slaves内容修改为master和slave。(master和slave为hosts中与ip地址对应的节点名称)
-
复制相关文件使slave机与master机有相同的环境,需要复制Hadoop的整个文件夹、带有环境变量的.bash_profile、以及/etc/hosts文件,当然如果slave没有配置jdk环境,还要把java文件夹整个传到slave机的相同位置。
-
初始化并启动集群
#初始化
hdfs namenode -format
#启动集群
start-dfs.sh
#当然如果由于粗心有时难免要重新配置,可能用到:
jps #查看当前进程
kill 12345 #杀死进程
stop-dfs.sh #停止Hadoop HDFS守护进程NameNode、SecondaryNameNode和DataNode
stop-all.sh #停止所有的Hadoop守护进程,包括NameNode、DataNode、ResourceManager、NodeManager、Secondary NameNode
在浏览器中访问http://ip:50070(http://192.168.245.150:50070),可以测试是否成功。
如下图说明已经安装成功!!
五、实验感想
安装Hadoop不仅需要配置好jdk系统环境,还需要配置好Hadoop自身的配置文件脚本,而后配置一些hadoop集群与hdfs的必要信息,最后在安装之前需要让主从机除了网络地址以外完全保持一致。一不小心又到凌晨了,已经挺累了,希望明天周末能好好休息一下,希望以后我能早点感觉到困,不要天天熬夜了叭。。????
六、疑问与探究
疑问
这部分在配置的时候有些“照葫芦画瓢”,有些配置还没有深入理解。比如新建的masters和slaves文件,比如hdfs-site.xml里面的配置有什么用处呢?
解答
乐乐同学你还小要少熬夜??,这个问题等下次学了一点理论再解决叭,晚安。????
技术小白一枚,一起学习!