Hadoop搭建

作者: 内心戏很多的慵懒猫 | 来源:发表于2016-10-15 14:16 被阅读0次

    环境: CentOS-6.7-x86_64虚拟机;

    资料:在CentOS 7/6.5/6.4 中安装Java JDK 8_Linux教程_Linux公社-Linux系统门户网站

                yum 安装 SSH - u012941811的专栏 - 博客频道 - CSDN.NET

               Apache Hadoop 3.0.0-alpha1 – Hadoop: Setting up a Single Node Cluster.

               Hadoop安装教程_伪分布式配置_CentOS6.4/Hadoop2.6.0_厦大数据库实验室博客

    一、在安装SSH时

    (1)关于防火墙iptables配置。配置文件/etc/sysconfig/iptables中,前两行#是注释说明,#下面四条内容定义了内建的INPUT、FORWAARD、ACCEPT链,还创建了一个被称为RH-Firewall-1-INPUT 的新链

                                :INPUT ACCEPT [0:0]

                                 :FORWARD ACCEPT [0:0]

                                 :OUTPUT ACCEPT [0:0]

                                :RH-Firewall-1-INPUT - [0:0]

           添加行  -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 后,restart,该防火墙规则总是失败。不管了直接走下面几步。

    (2)SSH配置时,修改vi /etc/ssh/sshd_config。CentOS下SSH配置方法详解 - youxizhe的个人页面 - 开源中国社区,操作了部分,一些安全措施、更改IP等未做。修改端口号时,将Port  22这一行的#删除,并新加一行 port  2234。(如果改了默认端口好,在用ssh建立连接时,如ssh localhost -p 2234,要注明连接的端口。)

    (3)SH2的公钥与私钥的建立:切换到普通用户,执行命令 ssh-keygen -t rsa -P '' -f  ~/.ssh/id_rsa;cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys;chmod 0600 ~/.ssh/authorized_keys;(注意,这是在普通用户下运行的,文件也保存在普通用户目录下,没有)

    Apache Hadoop官方教程里让安装pdsh,还没安装,等后续完成。

    二、单机安装Hadoop,只需export JAVA_HOME=/usr/java/jdk_1.8.0_xxx, ./bin/hadoop version测试通过。但是!!再次开机登录时,JAVA_HOME仍然找不到,做法是:首先在/etc/hadoop/hadoop-env.sh中修改,然后在/etc/profile里修改,并source /etc/profile。

    三、按照Apache官网的教程按部就班的执行。当在运行hadoop的时候,出现警告:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

    原因:

    Apache提供的hadoop本地库是32位的,而在64位的服务器上就会有问题,因此需要自己编译64位的版本。所以重新编译hadoop。根据需要安装JDK/GCC/MAVEN.

    a)解决方案一*(未实践) 重新编译hadoop

    (1)安装gcc时,依次安装gmp/mpfr/mpc,然后/etc/profile在后面添加路径并source /etc/profile使之生效。同时源码安装步骤:先解压缩,进入目录,mkdir temp(输出目录),cd temp,../configure = --prefix=(usr/local/***),make,sudo make install。但是配置和编译时仍然报错,然后在配置前在源文件中下载依赖项:./contrib/download_prerequisites。之后因为缺乏依赖库,缺什么就安装什么。但是,编译gcc时,编译目录/源目录/编译器三种安装目录不能在同一目录下,否则出错。

    再更:完整的操作方式是:没有自己安装mpc/mpfr/mpc,而是解压缩后,在源文件中执行:./ contrib/download_prerequisites ,自动下载安装依赖项。然后把./configure,make

    b).解决方案二

       通常编译好的hadoop库是在lib中,如果你不想编译,可以用lib/native里面的预编译库,然后把native的库移动到lib文件夹中。cp /lib/native/*  /lib/,然后在加入/etc/profile中加入系统变量

                 export HADOOP_COMMON_LIB_NATIVE_DIR=/home/administrator/work/hadoop-2.6.0/lib/native

                  export HADOOP_OPTS="-Djava.library.path=/home/administrator/work/hadoop-2.6.0/lib"

                  export HADOOP_ROOT_LOGGER=DEBUG,console    消除了该显示。但仍存在问题

    虽然该Warning可以忽略,但是在显示结果时出现了太多DEBUG信息。建议重新编译。

    相关文章

      网友评论

        本文标题:Hadoop搭建

        本文链接:https://www.haomeiwen.com/subject/evmgyttx.html