hadoop数据仓库搭建--hadoop初始化及其运行

使用创建的grid用户进行hadoop安装文件的解压,并修改其对应的配置文件

  • core-site.xml
  • hdfs-site.xml
  • yarn-site.xml
  • mapred-site.xml
  • hadoop-env.sh
  • yarn-env.sh

修改完毕后将该hadoop目录复制到其他三个从节点

  • scp -r  ./hadoop-3.1.0  从节点IP:/home/grid

接着以root用户分别在四台机器上的/etc/profile文件中添加以下环境变量

export  JAVA_HOME=/usr/java/jdk1.8.0_171
export  CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export  HADOOP_HOME=/home/grid/hadoop-3.1.0
export  HADOOP_COMMON_HOME=$HADOOP_HOME
export  HADOOP_HDFS_HOME=$HADOOP_HOME
export  HADOOP_MAPRED_HOME=$HADOOP_HOME
export  HADOOP_YARN_HOME=$HADOOP_HOME
export  HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export  PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib
export  HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export  HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export  LD_LIBRARY_PATH=$HADOOP_HOME/lib/native

使环境变量生效

source /etc/profile

接着以grid用户在主节点机器上执行以下命令

#格式化HDFS
hdfs namenode -format
#若输出中出现name has beensuccessfully formatted.则初始化成功
#启动HDFS
start-dfs.sh
#启动YARN
start-yarn.sh

输入JPS查看进程,有以下所以进程即为成功

21680 NodeManager
21539 ResourceManager
20883 NameNode
25623 Jps
21225 SecondaryNameNode
21023 DataNode

实践途中遇到两个问题:

1.start-dfs.sh的时候会出现如下警告

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

使用调试模式重新执行,可以看到详细报错信息为

DEBUG util.NativeCodeLoader: Failed to load native-hadoop with error: java.lang.UnsatisfiedLinkError: no hadoop in java.library.path

参考ligt0610的帖子进行处理:https://blog.csdn.net/ligt0610/article/details/47757013

即在hadoop-env.sh里面添加如下:

export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native/"

重新执行start-dfs.sh。报警信息不显示。执行成功

2.通过web接口无法查看NameNode

经过查询发现,hadoop3版本已经将该端口由50070变成9870

从该端口进入。成功!

 

20190616

今天尝试的时候遇到新问题,现记录下来

本次执行到

#格式化HDFS
hdfs namenode -format

时,提示

sh: 5: hdfs: not found

怀疑是useradd的时候没有指定用户的shell类型,因此默认为/bin/sh。导致命令识别不出。

进行以下步骤:

1:查看当前用户的shell类型命令: echo $SHELL

2:改变当前用户登录默认的shell:chsh -s /bin/bash username  或者使用usermod -s /bin/bash username命令

默认的shell改成/bin/bash之后正常了。
---------------------
作者:随风诗雨
来源:CSDN
原文:https://blog.csdn.net/suifengshiyu/article/details/40952771
版权声明:本文为博主原创文章,转载请附上博文链接!

未解决,排除该原因

 

接下去怀疑是环境变量问题,环境参数没错,在root用户时已经执行过source,再在grid用户下执行,执行后如下

/home/grid/hadoop-2.7.2/bin/hdfs: line 304: /home/grid/jdk1.8.0_25/bin/java: cannot execute binary file
/home/grid/hadoop-2.7.2/bin/hdfs: line 304: /home/grid/jdk1.8.0_25/bin/java: Success

怀疑是jdk版本不对,32位的linux安装了64的jdk

 

转载于:https://www.cnblogs.com/hipth/p/9042522.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值