PK体系大数据平台- Apache Hadoop安装说明

参考文档:
http://dblab.xmu.edu.cn/blog/install-hadoop/
需要有JDK环境,PK机自带openJDK,安装目录:/usr/lib/jvm/java-1.8.0-openjdk-arm64
本次安装版本:hadoop-2.7.3
本次安装仅为本地模式、伪分布式模式,若需要安装完全分布式请参考上面链接文档。
1:下载hadoop
https://hadoop.apache.org/releases.html
2:解压tar文件
cd ~/hadoop/
tar -zxvf hadoop-2.7.3.tar.gz
mv hadoop-2.7.3 hadoop
3:检查hadoop是否可以
Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:
./bin/hadoop version
4:伪分布式配置
Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。
在配置文件中的目录,若没有创建即可。
4.1 修改配置文件 core-site.xml
原内容:


修改为:


hadoop.tmp.dir
file:/usr/local/hadoop/tmp
Abase for other temporary directories.


fs.defaultFS
hdfs://localhost:9000


4.2 修改配置文件 hdfs-site.xml


dfs.replication
1


dfs.namenode.name.dir
file:/usr/local/hadoop/tmp/dfs/name


dfs.datanode.data.dir
file:/usr/local/hadoop/tmp/dfs/data


4.3 Hadoop配置文件说明
Hadoop 的运行方式是由配置文件决定的(运行 Hadoop 时会读取配置文件),因此如果需要从伪分布式模式切换回非分布式模式,需要删除 core-site.xml 中的配置项。
此外,伪分布式虽然只需要配置 fs.defaultFS 和 dfs.replication 就可以运行(官方教程如此),不过若没有配置 hadoop.tmp.dir 参数,则默认使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format 才行。所以我们进行了设置,同时也指定 dfs.namenode.name.dir 和 dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。
5:NameNode 的格式化
./bin/hdfs namenode -format
成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错。
(1)如果在这一步时提示 Error: JAVA_HOME is not set and could not be found. 的错误,则说明JAVA_HOME 环境变量没设置好。
(2)如果上一步设置好了,则找到hadoop配置文件目录的hadoop-env.sh,把export JAVA_HOME=${JAVA_HOME} 这行,修改成JAVA安装路径的具体地址。
6:启动NameNode 和 DataNode
./sbin/start-dfs.sh
*** 启动时可能会出现如下 WARN 提示:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable WARN 提示可以忽略,并不会影响正常使用。
启动完成后,可以通过进程判断是否成功启动,若成功启动则会列出如下进程: “NameNode”、”DataNode” 和 “SecondaryNameNode”(如果 SecondaryNameNode 没有启动,请运行 sbin/stop-dfs.sh 关闭进程,然后再次尝试启动尝试)。如果没有 NameNode 或 DataNode ,那就是配置不成功,请仔细检查之前步骤,或通过查看启动日志排查原因。
若是 DataNode 没有启动,可尝试如下的方法(注意这会删除 HDFS 中原有的所有数据,如果原有的数据很重要请不要这样做):

针对 DataNode 没法启动的解决方法

./sbin/stop-dfs.sh # 关闭
rm -r ./tmp # 删除 tmp 文件,注意这会删除 HDFS 中原有的所有数据
./bin/hdfs namenode -format # 重新格式化 NameNode
./sbin/start-dfs.sh # 重启
7:成功启动
可以访问http://ip:50070 查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。

8:yarn
YARN 是 Hadoop 2.x 中的内容,(伪分布式不启动 YARN 也可以,一般不会影响程序执行)。启动 Hadoop 后,见不到 JobTracker 和 TaskTracker,这是因为新版的 Hadoop 使用了新的 MapReduce 框架(MapReduce V2,也称为 YARN,Yet Another Resource Negotiator)。
YARN 是从 MapReduce 中分离出来的,负责资源管理与任务调度。YARN 运行于 MapReduce 之上,提供了高可用性、高扩展性。
前面通过 ./sbin/start-dfs.sh 启动 Hadoop,仅仅是启动了 MapReduce 环境,我们可以启动 YARN ,让 YARN 来负责资源管理与任务调度。
9:修改配置文件 mapred-site.xml
先通过模板新建一份配置文件:
cp ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml
再修改内容:


mapreduce.framework.name
yarn


10:修改配置文件 yarn-site.xml


yarn.nodemanager.aux-services
mapreduce_shuffle


11:启动 YARN(需要先执行过 ./sbin/start-dfs.sh)
./sbin/start-yarn.sh
启动后,可以看到多了 NodeManager 和 ResourceManager 两个后台进程。
可以通过访问http://ip:8088 查看任务的运行情况。
***不启动 YARN 需重命名 mapred-site.xml
如果不想启动YARN,务必把配置文件mapred-site.xml重命名,改成 mapred-site.xml.template,需要用时改回来就行。否则在该配置文件存在,而未开启 YARN 的情况下,运行程序会提示 “Retrying connect to server: 0.0.0.0/0.0.0.0:8032” 的错误,这也是为何该配置文件初始文件名为 mapred-site.xml.template。

说明:本文档中没有涉及到环境变量的修改(/etc/profile和 ~/.bashrc),如果在安装过程中遇到问题可检查环境变量的配置。
下面为本次安装机器上 /etc/profile 的配置:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-arm64
export HADOOP_HOME=/home/kylin/hadoop/hadoop
export SCALA_HOME=/home/kylin/scala/scala-2.12.4
export JAVA_BIN= J A V A H O M E / b i n e x p o r t J A V A L I B = JAVA_HOME/bin export JAVA_LIB= JAVAHOME/binexportJAVALIB=JAVA_HOME/jre/lib
export HADOOP_COMMON_LIB_NATIVE_DIR= H A D O O P H O M E / l i b / n a t i v e e x p o r t P A T H = . : HADOOP_HOME/lib/native export PATH=.: HADOOPHOME/lib/nativeexportPATH=.:JAVA_BIN: H A D O O P H O M E / s b i n : HADOOP_HOME/sbin: HADOOPHOME/sbin:HADOOP_HOME/bin: S C A L A H O M E / b i n : SCALA_HOME/bin: SCALAHOME/bin:SPARK_HOME/bin: P A T H e x p o r t H A D O O P O P T S = " − D j a v a . l i b r a r y . p a t h = PATH export HADOOP_OPTS="-Djava.library.path= PATHexportHADOOPOPTS="Djava.library.path=HADOOP_HOME/lib/native"
export LD_LIBRARY_PATH= L D L I B R A R Y P A T H : LD_LIBRARY_PATH: LDLIBRARYPATH:HADOOP_HOME/lib/native:/usr/local/lib

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值