学习大数据篇 ---Hadoop
环境基于 VM 上安装的 Centos 7
Hadoop 的单机安装知识 :
- 如果你的Centos 之前是有java环境的话,那么就卸载了安装一个新的. java --version 可以看到是你安装的那个jdk 版本就可以。安装Hadoop之前,是要有Java环境的。Java 安装: sudo vi /etc/profile 在profie文件末尾添加jdk路径:
##JAVA_HOME
export JAVA_HOME=/你的Java路径
export PATH=$PATH:$JAVA_HOME/bin 执行 source /etc/profile
- 在你的Hadoop 解压到目录下 比如我这里就是 : /hadoop/hadoop-2.7.2 然后给Hadoop添加到环境变量中:sudo vi /etc/profile
##HADOOP_HOME
export HADOOP_HOME=/hadoop/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin 让配置文件生效 : source /etc/profile
[root@localhost hadoop]# hadoop version
Hadoop 2.7.2
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r b165c4fe8a74265c792ce23f546c64604acf0e41
Compiled by jenkins on 2016-01-26T00:08Z
Compiled with protoc 2.5.0
From source with checksum d0fda26633fa762bff87ec759ebe689c
This command was run using /hadoop/hadoop-2.7.2/share/hadoop/common/hadoop-common-2.7.2.jar 如果你可以看到Hadoop的版本的话,就说明上面的配置是成功的。在 hadoop 目录下的 etc/hadoop 下进行配置的修改
core-site.xml : <configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.119.140:9000 这个ip填写自己的虚拟机ip;如果你写127.0.0.1的话,存在你如果用ip访问就会有问题的情况</value>
</property>
</configuration>core-site.xml 都加入这句,这里的jdk路径指向你自己配置的路径 export JAVA_HOME=/usr/local/jdk1.8.0_171
hdfs-site.xml 中的配置 ; 这里的data/hadoop/hdfs/nn这些文件夹都最好自己创建了,不然到时候是可能存在问题 <configuration>
<configuration>
<property>
<name>dfs.nameservices</name>
<value>hadoop-cluster</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///data/hadoop/hdfs/nn</value>
</property>
<property>
<name>dfs.namenode.ch
eckpoint.dir</name>
<value>file:///data/hadoop/hdfs/snn</value>
</property>
<property>
<name>dfs.namenode.checkpoint.edits.dir</name>
<value>file:///data/hadoop/hdfs/snn</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///data/hadoop/hdfs/dn</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
<description>
If "true", enable permission checking in HDFS.
If "false", permission checking is turned off,
but all other behavior is unchanged.
Switching from one parameter value to the other does not change the mode,
owner or group of files or directories.
</description>
</property>
</configuration>
</configuration>start-all.sh 启动指令.
由于这里没有配置免密的,所以你启动的时候,里面是会有要你输入密码的操作。
然后你jps 一下, 就可以看到启动的Java进程.
yarn 的配置
1 : 在yarn-env.sh 上配置JAVA_HOME的路径.
2 : 然后配置 yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<!-- 指定ResourceManager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>192.168.119.140</value>
</property>
<!-- 指定reducer获取数据的方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>file:///data/hadoop/yarn/nm</value>
</property>
</configuration>3 : 配置 mapred-env.sh 也是配置下JAVA_HOME的路径
4 : 对mapred-site.xml.template重新命名为 mapred-site.xml
5 : 启动前必须保证namenode和datanode已经启动
6 : 进入sbin 目录下 ; yarn-daemon.sh start resourcemanager yarn-daemon.sh start nodemanager
7 : http://192.168.119.140:8088/cluster
效果如下 : 第一张是Hadoop 的 UI ; 第二张是 Yarn 的UI
启动历史服务 :
也是在sbin 目录下 :
mr-jobhistory-daemon.sh start historyserver
然后输入 jps 是可以看到 JobHistoryServer 这个Java进程的显示
http://192.168.119.140:19888/jobhistory 也是可以看到 UI界面的
大致的单机安装就是这么多了啦。不晓得有没有有地方是有漏掉了,如果有的话,请各位大佬提出来,然后修改.晚安各位.