在centos7下正确安装伪分布hadoop272和配置eclipse.docx
- 文档编号:5291867
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:25
- 大小:435.94KB
在centos7下正确安装伪分布hadoop272和配置eclipse.docx
《在centos7下正确安装伪分布hadoop272和配置eclipse.docx》由会员分享,可在线阅读,更多相关《在centos7下正确安装伪分布hadoop272和配置eclipse.docx(25页珍藏版)》请在冰豆网上搜索。
在centos7下正确安装伪分布hadoop272和配置eclipse
centos7成功安装hadoop-2.7.2伪分布和eclipse步骤
创建hadoop用户
如果你安装CentOS的时候不是用的“hadoop”用户,那么需要增加一个名为hadoop的用户。
首先点击左上角的“应用程序”->“系统工具”->“终端”,首先在终端中输入 su ,按回车,输入root密码以root用户登录,接着执行命令创建新用户hadoop:
[~]#adduserhadoop
CentOS创建hadoop用户
接着使用如下命令修改密码,按提示输入两次密码,可简单的设为“hadoop”(密码随意指定,若提示“无效的密码,过于简单”则再次输入确认就行):
passwdhadoop
Shell命令
可为hadoop用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题,执行:
[root@localhost~]#gedit/etc/sudoers
Shell命令
如下图,找到 rootALL=(ALL)ALL 这行(应该在第98行,可以先按一下键盘上的 ESC 键,然后输入 :
98 (按一下冒号,接着输入98,再按回车键),可以直接跳到第98行),然后在这行下面增加一行内容:
hadoopALL=(ALL)ALL (当中的间隔为tab),如下图所示:
为hadoop增加sudo权限
添加好内容后,先按一下键盘上的 ESC 键,然后输入 :
wq (输入冒号还有wq,这是vi/vim编辑器的保存方法),再按回车键保存退出就可以了。
最后注销当前用户(点击屏幕右上角的用户名,选择退出->注销),在登陆界面使用刚创建的hadoop用户进行登陆。
(如果已经是hadoop用户,且在终端中使用 su 登录了root用户,那么需要执行 exit 退出root用户状态)
安装JDK
查看是否安装了openjdk
[lei@bogon~]$java-version
openjdkversion"1.8.0_65"
OpenJDKRuntimeEnvironment(build1.8.0_65-b17)
OpenJDK64-BitServerVM(build25.65-b01,mixedmode)
查看openjdk源
[lei@bogon~]$rpm-qa|grepjava
java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64
tzdata-java-2015g-1.el7.noarch
python-javapackages-3.4.1-11.el7.noarch
javapackages-tools-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64
java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64
java-1.7.0-openjdk-headless-1.7.0.91-2.6.2.3.el7.x86_64
需root登录
[lei@bogon~]$rpm-e--nodepstzdata-java-2015g-1.el7.noarch
错误:
can'tcreate事务lockon/var/lib/rpm/.rpm.lock(权限不够)
[lei@bogon~]$su
密码:
依次删除OPENJDK
[root@bogonlei]#rpm-e--nodepsjava-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64
[root@bogonlei]#rpm-e--nodepstzdata-java-2015g-1.el7.noarch
[root@bogonlei]#rpm-e--nodepsjava-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64
[root@bogonlei]#rpm-e--nodepsjava-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64
[root@bogonlei]#rpm-e--nodepsjava-1.7.0-openjdk-headless-1.7.0.91-2.6.2.3.el7.x86_64
设置JAVA_HOME环境变量
gedit/etc/profile
#setjavaenvironment
exportJAVA_HOME=/usr/java/jdk1.6.0_31/
exportJRE_HOME=/usr/java/jdk1.6.0_31/jre
exportCLASSPATH=.:
$CLASSPATH:
$JAVA_HOME/lib:
$JRE_HOME/lib
exportPATH=$PATH:
$JAVA_HOME/bin:
$JRE_HOME/bin
配置软连接,执行代码为:
sudoupdate-alternatives--install/usr/bin/javajava/usr/lib/jdk/jdk1.8.0_77/bin/java300
sudoupdate-alternatives--install/usr/bin/javacjavac/usr/lib/jdk/jdk1.8.0_77/bin/javac300
接着还需要让该环境变量生效,执行如下代码:
1.source/etc/profile#使变量设置生效
Shell命令
设置好后我们来检验一下是否设置正确:
输入:
java-version
这样,Hadoop所需的Java运行环境就安装好了。
Centos7安装SSH、配置SSH无密码登陆
集群、单节点模式都需要用到SSH登陆(类似于远程登陆,你可以登录某台Linux主机,并且在上面运行命令),一般情况下,CentOS默认已安装了SSHclient、SSHserver,打开终端执行如下命令进行检验:
rpm-qa|grepssh
Shell命令
如果返回的结果如下图所示,包含了SSHclient跟SSHserver,则不需要再安装。
检查是否安装了SSH
若需要安装,则可以通过yum进行安装(安装过程中会让你输入[y/N],输入y即可):
sudoyuminstallopenssh-clients
sudoyuminstallopenssh-server
Shell命令
接着执行如下命令测试一下SSH是否可用:
sshlocalhost
Shell命令
此时会有如下提示(SSH首次登陆提示),输入yes。
然后按提示输入密码hadoop,这样就登陆到本机了。
测试SSH是否可用
但这样登陆是需要每次输入密码的,我们需要配置成SSH无密码登陆比较方便。
首先输入 exit 退出刚才的ssh,就回到了我们原先的终端窗口,然后利用ssh-keygen生成密钥,并将密钥加入到授权中:
exit#退出刚才的sshlocalhost
cd~/.ssh/#若没有该目录,请先执行一次sshlocalhost
ssh-keygen-trsa#会有提示,都按回车就可以
catid_rsa.pub>>authorized_keys#加入授权
chmod600./authorized_keys#修改文件权限
Shell命令
~的含义
在Linux系统中,~代表的是用户的主文件夹,即“/home/用户名”这个目录,如你的用户名为hadoop,则~就代表“/home/hadoop/”。
此外,命令中的#后面的文字是注释。
此时再用 sshlocalhost 命令,无需输入密码就可以直接登陆了,如下图所示。
ubuntu安装SSH、配置SSH无密码登陆
集群、单节点模式都需要用到SSH登陆(类似于远程登陆,你可以登录某台Linux主机,并且在上面运行命令),Ubuntu默认已安装了SSHclient,此外还需要安装SSHserver:
1.sudoapt-getinstallopenssh-server
Shell命令
安装后,可以使用如下命令登陆本机:
1.sshlocalhost
Shell命令
此时会有如下提示(SSH首次登陆提示),输入yes。
然后按提示输入密码hadoop,这样就登陆到本机了。
SSH首次登陆提示
但这样登陆是需要每次输入密码的,我们需要配置成SSH无密码登陆比较方便。
首先退出刚才的ssh,就回到了我们原先的终端窗口,然后利用ssh-keygen生成密钥,并将密钥加入到授权中:
1.exit#退出刚才的sshlocalhost
2.cd~/.ssh/#若没有该目录,请先执行一次sshlocalhost
3.ssh-keygen-trsa#会有提示,都按回车就可以
4.cat./id_rsa.pub>>./authorized_keys#加入授权
Hadoop伪分布式配置
解压到/home/hduser/yarn目录,假设user是用户名(我这里的用户名为wxl)。
$ tar-xvzfhadoop-2.4.0.tar.gz
$ mvhadoop-2.4.0/home/user/Software/hadoop-2.4.0
$ cd/home/user/Software
$ sudochown-Ruser:
userhadoop-2.4.0
$ sudochmod-R755hadoop-2.4.0
Hadoop可以在单节点上以伪分布式的方式运行,Hadoop进程以分离的Java进程来运行,节点既作为NameNode也作为DataNode,同时,读取的是HDFS中的文件。
在设置Hadoop伪分布式配置前,我们还需要设置HADOOP环境变量,执行如下命令在/etc/profile中设置:
gedit/etc/profile
Shell命令
这次我们选择用gedit而不是vim来编辑。
gedit是文本编辑器,类似于Windows中的记事本,会比较方便。
保存后记得关掉整个gedit程序,否则会占用终端。
在文件最后面增加如下内容:
#HadoopEnvironmentVariables
exportHADOOP_HOME=/usr/local/hadoop
exportHADOOP_INSTALL=$HADOOP_HOME
exportHADOOP_MAPRED_HOME=$HADOOP_HOME
exportHADOOP_COMMON_HOME=$HADOOP_HOME
exportHADOOP_HDFS_HOME=$HADOOP_HOME
exportYARN_HOME=$HADOOP_HOME
exportHADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
#写上此命令后可能会出现找不到本地库错误,可通过编译Hadoop源码解决,解决方法请自行搜索
exportPATH=$PATH:
$HADOOP_HOME/sbin:
$HADOOP_HOME/bin
Shell
保存后,不要忘记执行如下命令使配置生效:
source/etc/profile
Shell命令
这些变量在启动Hadoop进程时需要用到,不设置的话可能会报错(这些变量也可以通过修改./etc/hadoop/hadoop-env.sh实现)。
Hadoop的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。
Hadoop的配置文件是xml格式,每个配置以声明property的name和value的方式来实现。
修改配置文件 core-site.xml (通过gedit编辑会比较方便:
gedit./etc/hadoop/core-site.xml),将当中的
1.
2.
XML
修改为下面配置:
1.
2.
3.
4.
/usr/local/hadoop/temp
5.
6.
7.
8.
9.
//localhost:
9000
10.
11.
XML
同样的,修改配置文件 hdfs-site.xml:
1.
2.
3.
4.
5.
6.
7.
8.
/usr/local/hadoop/temp/dfs/name
9.
10.
11.
12.
/usr/local/hadoop/temp/dfs/data
13.
14.
XML
配置完成后,执行NameNode的格式化:
1.bin/hadoopnamenode-format
Shell命令
成功的话,会看到“successfullyformatted”和“Exittingwithstatus0”的提示,若为“Exittingwithstatus1”则是出错。
执行NameNode格式化
接着开启 NaneNode 和 DataNode 守护进程:
1.sbin/start-dfs.sh
Shell命令
若出现如下SSH的提示“Areyousureyouwanttocontinueconnecting”,输入yes即可。
首次启动Hadoop时的SSH提示
启动时可能会有WARN提示“WARNutil.NativeCodeLoader…”如前面提到的,这个提示不会影响正常使用。
启动完成后,可以通过命令 jps 来判断是否成功启动,若成功启动则会列出如下进程:
“NameNode”、”DataNode”和SecondaryNameNode(如果SecondaryNameNode没有启动,请运行sbin/stop-dfs.sh关闭进程,然后再次尝试启动尝试)。
如果没有NameNode或DataNode,那就是配置不成功,请仔细检查之前步骤,或通过查看启动日志排查原因。
hadoop jps查看进程时报错
程序 'jps'已包含在下列软件包中:
*openjdk-6-jdk
*openjdk-7-jdk
请尝试:
sudoapt-getinstall<选定的软件包>
sudoupdate-alternatives--install/usr/bin/jps jps /home/usr/桌面/linuxsight/jdk1.7.0_51/bin/jps 1
终于能使用jps查看java进程了。
。
。
启动YARN
(伪分布式不启动YARN也可以,一般不会影响程序执行)
有的读者可能会疑惑,怎么启动Hadoop后,见不到书上所说的JobTracker和TaskTracker,这是因为新版的Hadoop使用了新的MapReduce框架(MapReduceV2,也称为YARN,YetAnotherResourceNegotiator)。
YARN是从MapReduce中分离出来的,负责资源管理与任务调度。
YARN运行于MapReduce之上,提供了高可用性、高扩展性,YARN的更多介绍在此不展开,有兴趣的可查阅相关资料。
上述通过 ./sbin/start-dfs.sh 启动Hadoop,仅仅是启动了MapReduce环境,我们可以启动YARN,让YARN来负责资源管理与任务调度。
首先修改配置文件 mapred-site.xml,这边需要先进行重命名:
1.cp/etc/hadoop/mapred-site.xml.template/etc/hadoop/mapred-s
2.ite.xml
Shell命令
然后再进行编辑,同样使用gedit编辑会比较方便些 gedit./etc/hadoop/mapred-site.xml :
1.
2.
3.
4.
5.
6.
XML
接着修改配置文件 yarn-site.xml:
1.
2.
3.
4.
5.
6.
XML
然后就可以启动YARN了(需要先执行过 ./sbin/start-dfs.sh):
1.sbin/start-yarn.sh$启动YARN
2.sbin/mr-jobhistory-daemon.shstarthistoryserver#开启历史服务器,才能在Web中查看任务运行情况
Shell命令
开启后通过 jps 查看,可以看到多了NodeManager和ResourceManager两个后台进程,如下图所示。
开启YARN
启动YARN之后,运行实例的方法还是一样的,仅仅是资源管理方式、任务调度不同。
观察日志信息可以发现,不启用YARN时,是“mapred.LocalJobRunner”在跑任务,启用YARN之后,是“mapred.YARNRunner”在跑任务。
启动YARN有个好处是可以通过Web界面查看任务的运行情况:
http:
//localhost:
8088/cluster
如果datanode或namenode没有启动,删除temp文件,则存储的文件全部丢失。
∙使用Eclipse编译运行MapReduce程序Hadoop2.6.0_Ubuntu/CentOS
2014-10-10 (updated:
2016-05-22) 39698 140
本教程介绍的是如何在Ubuntu/CentOS中使用Eclipse来开发MapReduce程序,在Hadoop2.6.0下验证通过。
虽然我们可以使用命令行编译打包运行自己的MapReduce程序,但毕竟编写代码不方便。
使用Eclipse,我们可以直接对HDFS中的文件进行操作,可以直接运行代码,省去许多繁琐的命令。
本教程由厦门大学数据库实验室出品,转载请注明。
∙环境
本教程在Hadoop2.6.0下验证通过,适用于Ubuntu/CentOS系统,理论上可用于任何原生Hadoop2版本,如Hadoop2.4.1,Hadoop2.7.1。
本教程主要测试环境:
∙Ubuntu14.04
∙Hadoop2.6.0(伪分布式)
∙Eclipse3.8
此外,本教材在CentOS6.4系统中也验证通过,对Ubuntu与CentOS的不同配置之处有作出了注明。
∙安装Eclipse
在Ubuntu和CentOS中安装Eclipse的方式有所不同,但之后的配置和使用是一样的。
在Ubuntu中安装Eclipse,可从Ubuntu的软件中心直接搜索安装,在桌面左侧任务栏,点击“Ubuntu软件中心”。
Ubuntu软件中心
在右上角搜索栏中搜索eclipse,在搜索结果中单击eclipse,并点击安装。
安装Eclipse
等待安装完成即可,Eclipse的默认安装目录为:
/usr/lib/eclipse。
在CentOS中安装Eclipse,需要下载安装程序,我们选择EclipseIDEforJavaDevelopers版:
∙32位:
∙64位:
下载后执行如下命令,将Eclipse安装至/usr/lib目录中:
1.sudotar-zxf~/下载/eclipse-java-mars-1-linux-gtk*.tar.gz-C/usr/lib
Shell命令
解压后即可使用。
在CentOS中可以为程序创建桌面快捷方式,如下图所示,点击桌面右键,选择创建启动器,填写名称和程序位置(/usr/lib/eclipse/eclipse):
安装Eclipse
∙安装Hadoop-Eclipse-Plugin
要在Eclipse上编译和运行MapReduce程序,需要安装hadoop-eclipse-plugin,可下载Github上的 hadoop2x-eclipse-plugin(备用下载地址:
下载后,将release中的hadoop-eclipse-kepler-plugin-2.6.0.jar(还提供了2.2.0和2.4.1版本)复制到Eclipse安装目录的plugins文件夹中,运行 eclipse-clean 重启Eclipse即可(添加插件后只需要运行一次该命令,以后按照正常方式启动就行了)。
1.unzip-qo~/下载/hadoop2x-eclipse-plugin-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- centos7 正确 安装 分布 hadoop272 配置 eclipse