(实践机器:blog-bench)
本文用作博文《Hadoop学习之路》实践过程中遇到的问题记录。
本文所学习的博文为博主“扎心了,老铁” 博文记录。参考链接https://www.cnblogs.com/qingyunzong/category/1169344.html
问题一:
《Hadoop学习之路(四)Hadoop集群搭建和简单应用》执行start-dfs.sh时,报错3个:
1. 报错现象:
原因:hadoop默认ssh采用的是22端口号,但是我们公司内部机器为了安全已修改端口号,故此处只要配置hadoop在ssh时的端口号即可。
解决办法:修改xxx/hadoop-2.7.7/etc/hadoop文件夹下的hadoop-env.sh文件,在文件底部增加端口号配置 export HADOOP_SSH_OPTS="-p xxxx" ,xxxx为端口号。
2. 报错现象:Permission denied (publickey).
原因:这个地方是我不熟悉ssh的机制及公司机器的配置造成的。由于我重新生成了密钥对,但是未将公钥放入到authorized_keys中。此处解决办法就是将id_rsa.pub中的公钥复制到authorized_keys中即可。
3. 报错现象:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
原因查看:这个报错可能有很多原因,最好的解决办法是在shell中临时修改环境变量开启hadoop的debug日志:export HADOOP_ROOT_LOGGER=DEBUG,console。然后使用命令 hadoop checknative查看环境是否正常。我这边使用该命令主要报一下几个问题:
a. 库路径错误,该问题通过在环境变量或者hadoop-env.sh中配置环境变量可解决
配置如下:
b. glibc版本需要2.14以上。由于wheezy的默认glibc版本最高是2.13,这个只有升级操作系统解决。使用以下命令可将系统升级
1.把源修改成Debian8的。 sed -i /deb/s/wheezy/jessie/g /etc/apt/sources.list
sed -i /deb/s/wheezy/jessie/g /etc/apt/sources.list.d/*.list
2.升级 apt-get update
apt-get upgrade
apt-get dist-upgrade
c. 报库找不到,如下图
对于openssl的类库找不到,很可能是ssl没安装,我的安装更新后自然解决
sudo apt-get update
sudo apt-get install libssl1.0.0 libssl-dev
对于snappy,是因为我一开始未安装snappy这个工具,可参考博主博文《Hadoop学习之路(三)Hadoop-2.7.5在CentOS-6.7上的编译》中的安装,默认会安装到/usr/local/lib/下,注意版本!!
当前snappy1.1.1的可下载版本地址为 http://pkgs.fedoraproject.org/repo/pkgs/snappy/snappy-1.1.1.tar.gz/8887e3b7253b22a31f5486bca3cbc1c2/snappy-1.1.1.tar.gz
安装后若还是报错,则将安装目录export到hadoop-env.sh中,如下图所示
问题二:执行start-yarn.sh后,无法访问yarn的管理界面
解决方法:在yarn-site.xml中增加配置信息:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>10.164.96.220</value>
</property>