CentOs6.7 + hadoop2.8 安装

一、环境与软件

首先,要安装centos操作系统,为系统安装配置ip、配置/etc/hosts文件下的相关主机信息。配置namenode和datanode之间的无ssh验证的登录方式。以及后面的必要软件(java\glibc、解压安装hadoop)这些东西都是参照《细细品味hadoop hadoop集群第五集》操作的。

然后,重点在于hadoop的一系列的配置文件的配制方法也基本可以参照这篇细细品味。

但是,细细品味的hadoop版本是1.x的。与我们的2.x在配置文件上有不少的出入,特别是2.x的mapreduce是集成在yarn上的。所以2.x要配置yarn-site.xml。这部分配置错误会造成后续的http://namenode:8088打不开的情况发生。而且2.x也不再使用50030端口,改用9000端口了。这部分一定要注意。下图是我的配置文件,可以参考。


到这里为止,如果一切正常,hadoop就能运行起来了。


二、wordcount

能跑起来之后,就要考虑跑一个mapreduce的程序看看效果了。

这里建议执行hadoop fs -help看看这个fs命令下都有哪些命令可用。

然后建立一个hdfs格式的文件夹,比如路径在/usr/local/hadoop/input下。注意这里用fs命令建立的文件夹,你是无法在linux操作系统下使用普通的ls等命令看到的(我曾经用ls和find找了好久这个新建的input找不到。。。)。然后把随便一个文件放到这个input目录下。

然后进入到/usr/local/hadoop/share/hadoop/mapreduce目录,执行hadoop自带的hadoop-mapreduce-examples-2.8.0.jar这个jar包,这里面有个wordcount的完全可用的样例代码。然后执行hadoopjarhadoop-mapreduce-examples-2.8.0.jarwordcount/usr/local/hadoop/input/usr/local/hadoop/output,如果运行正常就能在/usr/local/hadoop/output下面找到运算后的结果了。(这个/output路径完全不必提前建立,因为你提前建立了,hadoop反而不会把操作结果放进去,它需要一个空的目录。空的目录,空的目录。)

有一个细节需要注意,可能在执行的时候,会报找不到主机路由的错误(Caused by: java.net.NoRouteToHostException: No route to host),

建议关闭防火墙

chkconfig iptables off

service iptables stop

chkconfig iptables --list //查看防火墙开机的状态

service iptables status //查看防火墙当前状态

三、eclipse + 远程hadoop 执行wordcount.java

这里也能跑通了,就可以考虑在windows的eclipse上跑一个wordcount玩儿玩儿了。目的是为了以后本地调试方便。

首先需要找一个靠谱的hadoop-eclipse-plugin的jar包添加到eclipse的plugin目录下。这个hadoop-eclipse-plugin.jar包对eclipse的版本还是有点儿挑剔的。主要取决于编译这个插件jar包的人的环境。

至少我尝试过在一个eclipse4.5的版本上,放了一个hadoop-eclipse-plugin-2.8.jar搭配jdk1。8,然后在eclipse上面配置map/reduce后是连接不到我的远程的hadoop上的。然后我换回我一直在用的eclipse的3.7版本+hadoop-eclipse-plugin-2.7.jar+jdk1.7就完全没问题。可以连接到远程的hadoop上并且获取到hadoop下的hdfs格式的文件目录,见下图


然后要做的一个关键点,就是需要在windows下放一个hadoop的安装包,其实这个安装包我觉得有没有都没关系,里面的配置改不改也没关系,hadoop的服务启不启动也没关系,最主要的是在环境变量的系统变量中配置HADOOP_HOME,然后在系统变量的path中追加上%HADOOP_HOME%\bin,同时需要在hadoop的bin目录下放上hadoop.dll和winutils.exe。虽然不知有啥用,但是没有会报错。

然后在eclipse下配置本地hadoop的路径,同时配置map/reduce的hadoop的路径基本就ok了,见下图





这样wordcount.java就可以在eclipse中跑起来并且把远程linux服务器中的hadoop某个输入路径下的文件操作后存到远程hadoop的某个路径下了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


linux下开机自启: 在/etc/init.d目录下新建文件elasticsearch 并敲入shell脚本: 注意, 前两行必须填写,且要注释掉。 第一行为shell前行代码,目的告诉系统使用shell。 第二行分别代表运行级别、启动优先权、关闭优先权,且后面添加开机服务会用到。 shell脚本
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权 chmod +x /etc/rc.d/rc.local 2、赋予脚本可执行权限假设/usr/local/script/autostart.sh是你的脚本路径,给予执行权限 chmod +x /usr
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用ls -ll,会显示成字节大小,而ls- lh会以KB、MB等为单位进行显示,这样比较直观一些。 通过命令du -h –max-depth=1 *,可以查看当前目录下各文件、文件夹的大小,这个比较实用。 查询当前目录总大小可以使用d
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一但shell关闭网站也就关闭了,所以要配置守护进程, 用的是Supervisor,本文主要记录配置的过程和过程遇到的问题 安装Supervisor 1 yum install python-setuptools
设置时区(CentOS 7) 先执行命令timedatectl status|grep 'Time zone'查看当前时区,如果不是时区(Asia/Shanghai),则需要先设置为中国时区,否则时区不同会存在时差。 #已经是Asia/Shanghai,则无需设置 [root@xia
vim /etc/sysconfig/network-scripts/ifcfg-eth0 BOOTPROTO="static" ONBOOT=yes IPADDR=192.168.8.106 NETMASK=255.255.252.0 GATEWAY=192.168.
一、安装gcc依赖 由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装 [root@localhost local]# yum install -y gcc 二、下载并解压安装包 [root@localhost local
第一步 On CentOS/RHEL 6.*: $ sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm On CentOS/RHEL 7: $
/// <summary> /// 取小写文件名后缀 /// </summary> /// <param name="name">文件名</param> /// <returns>返回小写后缀,不带“.”</ret
which nohup .bash_profile中并source加载 如果没有就安装吧 yum provides */nohup nohup npm run start & nohup ./kibana &
1.1 MySQL安装 1.1.1 下载wget命令 yum -y install wget 1.1.2 在线下载mysql安装包 wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 1.1.3 安装My
重启 reboot shutdown -r now init 6 关闭 init 0 shutdown -h now shutdown -h 20:25 #8点25关机查看内存 free CPU利用率 top 日期 date 设置时间 date 033017002015 #月日时间年 日历 cal
1、firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status firewalld 开机禁用 : systemctl disable firewalld 开机启用 :
1 下载并安装MySQL官方的 Yum Repository wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 使用上面的命令就直接下载了安装用的Yum Repository,大概
CentOS6.x CentOS6中转用Upstrat代替以前的init.d/rcX.d的线性启动方式。 一、相关命令 通过initctl help可以查看相关命令 [root@localhost ~]# initctl help Job commands: start Start job. sto
1、使用命令:df -lk 找到已满磁盘 2、使用命令:du --max-depth=1 -h 查找大文件,删除
ifconfig:查看网卡信息 网卡配置文件位置: /etc/sysconfig/network-scripts/文件夹 nmtui:配置网卡 netstat -tlunp:查看端口信息 端口信息存储位置: /etc/services文件 route:查看路由信息 wget:下载网路文件,例如 wg
ps -ef:查看所有进程, ps -ef |grap firewalld 查看与firewalld相关的进程 which :查看进程:which firewalld kill 进程id:杀掉进程 kill 640,强制杀:kill -9 640 man:查看帮助,例如 man ps 查看
useradd:添加用户 useradd abc,默认添加一个abc组 vipw:查看系统中用户 groupadd:添加组groupadd ccna vigr:查看系统中的组 gpasswd:将用户abc添加到ccna组 gpasswd -a abc ccna groups abc:查看用户abc属