hadoop2.7.4在ubuntu16桌面版上的集群安装
2017-12-28 10:04
267 查看
Hadoop在ubuntu16桌面版上的集群安装
参考文档1:http://blog.csdn.net/mark_lq/article/details/53384358
参考文档2:http://blog.csdn.net/quiet_girl/article/details/74352190
说明:由于我的ubuntu系统中已经有tensorflow、python2.7、syntaxnet等,并不是全新的系统,安装hadoop集群也是在此之上。安装中也是各种坑,最大的一个坑是ssh免密码登录,其次是安装前要新建一个hadoop账号。我是按照参考文档1进行安装,启动出问题后又想到了参考文档2。在此不说人家的文档写的不好什么的,因为每个人的系统环境不同,你安装启动不了就说人家的文档没写好。言归正传,开始:
本来是写在最后的结束语,但想想还是写在开关:
三个系统建议安装好一个后,把下面的步骤全走完再克隆,要干的事情是修改/etc/hostname,/etc/hosts,以及在master上执行以下命令:
sudoscp./authorized_keys
hadoop@slaver1:~/.ssh
sudoscp./authorized_keys
hadoop@slaver2:~/.ssh
最后是在master上格式化和启动。
Ubuntu16.04
vmware12.5.2build-4638234
hadoop2.7.4
java1.8.0_131
master:192.168.93.140
slaver1:192.168.93.141
slaver2:192.168.93.142
添加如下:
2、切换到hadoop用户:
说明:在桌面版下切换用户按右上角的设置图标进行切换,不要用suhadoop
3、修改/etc/hostname主机名为master
4、修改/etc/hosts
5、安装配置java环境
下载jdk1.8解压到/usr/local目录下(为了保证所有用户都能使用),修改/etc/profile,并生效:
验证jdk是否安装配置成功
6、安装openssh-server
sudoapt-getinstallssh
ssh-keygen-trsa-P''-f~/.ssh/id_rsa
cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
7、对于slave1和slave2可采用虚拟机clone的方法实现复制,复制主机后注意修改/etc/hostname为slave1和slave2
8、配置master节点可通过SSH无密码访问slave1和slave2节点
将生成的authorized_keys文件复制到slave1和slave2的.ssh目录下
sudoscp./authorized_keyshadoop@slaver1:~/.ssh
sudoscp./authorized_keyshadoop@slaver2:~/.ssh
测试master节点无密码访问slave1和slave2节点:
输出:
参考文档1:
参考文档2:
说明:由于我的ubuntu系统中已经有tensorflow、python2.7、syntaxnet等,并不是全新的系统,安装hadoop集群也是在此之上。安装中也是各种坑,最大的一个坑是ssh免密码登录,其次是安装前要新建一个hadoop账号。我是按照参考文档1进行安装,启动出问题后又想到了参考文档2。在此不说人家的文档写的不好什么的,因为每个人的系统环境不同,你安装启动不了就说人家的文档没写好。言归正传,开始:
本来是写在最后的结束语,但想想还是写在开关:
三个系统建议安装好一个后,把下面的步骤全走完再克隆,要干的事情是修改/etc/hostname,/etc/hosts,以及在master上执行以下命令:
sudoscp./authorized_keys
hadoop@slaver1:~/.ssh
sudoscp./authorized_keys
hadoop@slaver2:~/.ssh
最后是在master上格式化和启动。
1.系统环境
Ubuntu16.04vmware12.5.2build-4638234
hadoop2.7.4
java1.8.0_131
master:192.168.93.140
slaver1:192.168.93.141
slaver2:192.168.93.142
2.部署步骤
2.1BasicRequirements
1.、添加hadoop用户,并添加到sudoerssudo[code]adduserhadoop
说明:sudoers文件保存时要用wq!
sudo[code]vim/etc/sudoers
添加如下:
#Userprivilegespecification[code]
root[code]ALL
=(ALL
:ALL
)ALL
hadoop[code]ALL
=(ALL
:ALL
)ALL[/code]
2、切换到hadoop用户:
说明:在桌面版下切换用户按右上角的设置图标进行切换,不要用suhadoop
suhadoop
3、修改/etc/hostname主机名为master
sudo[code]vim/etc/hostname
4、修改/etc/hosts
127.0.0.1[code]localhost
127.0.1.1[code]localhost.localdomain
localhost
#ThefollowinglinesaredesirableforIPv6capablehosts[code]
::1
localhostip6-localhostip6-loopback
ff02:[code]:1
ip6-allnodes
ff02:[code]:2
ip6-allrouters
#hadoopnodes[code]
192.168.93.140[code]master
192.168.93.141[code]slave1
192.168.93.142[code]slave2
说明:jdk我用的是openjdk,默认安装在/usr/lib/jvm/java-1.8.0-openjdk-amd64
5、安装配置java环境
下载jdk1.8解压到/usr/local目录下(为了保证所有用户都能使用),修改/etc/profile,并生效:
#setjdkclasspath[code]
exportJAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
exportJRE_HOME=$JAVA_HOME/jre
exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
exportCLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
source[code]/etc/profile
验证jdk是否安装配置成功
hadoop@master:~$jjava-version
openjdkversion"1.8.0_131"
OpenJDKRuntimeEnvironment(build1.8.0_131-8u131-b11-2ubuntu1.16.04.3-b11)
OpenJDK64-BitServerVM(build25.131-b11,mixedmode)1[/code]
6、安装openssh-server
sudoapt-getinstallssh
ssh-keygen-trsa-P''-f~/.ssh/id_rsa
cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
7、对于slave1和slave2可采用虚拟机clone的方法实现复制,复制主机后注意修改/etc/hostname为slave1和slave2
8、配置master节点可通过SSH无密码访问slave1和slave2节点
将生成的authorized_keys文件复制到slave1和slave2的.ssh目录下
sudoscp./authorized_keyshadoop@slaver1:~/.ssh
sudoscp./authorized_keyshadoop@slaver2:~/.ssh
测试master节点无密码访问slave1和slave2节点:
sshslaver1
sshslaver2
输出:
hadoop@master:/usr/lib/jvm/java-1.8.0-openjdk-amd64$sshslaver1
WelcometoUbuntu16.04.3LTS(GNU/Linux4.10.0-35-genericx86_64)
*Documentation:'target='_blank'>https://help.ubuntu.com[/code] *Management:'target='_blank'>https://landscape.canonical.com[/code] *Support:'target='_blank'>https://ubuntu.com/advantage[/code] 50packagescanbeupdated.0updatesaresecurityupdates.Lastlogin:TueSep1901:20:082017from192.168.93.140hadoop@slaver1:~$2.2Hadoop2.7ClusterSetup
说明:先要在hadoop用户下建文件夹software,cd到文件夹下去下载
hadoop-2.7.4.tar.gz,命令如下:wget
1、hadoop用户目录下解压下载的1、hadoop'target='_blank'>http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.4/hadoop-2.7.4.tar.gz hadoop-2.7.4.tar.gz·hadoop@master:~/software$ll·total260460·drwxrwxr-x4hadoophadoop4096Sep1903:43./·drwxr-xr-x19hadoophadoop4096Sep1902:37../·drwxrwxr-x3hadoophadoop4096Sep1903:43hadoop-2.7.0/·drwxr-xr-x11hadoophadoop4096Sep1902:35hadoop-2.7.4/·[code]-rw-rw-r--1hadoophadoop266688029Aug601:15hadoop-2.7.4.tar.gz
2、配置hadoop的环境变量sudo[code]vim/etc/profile
配置如下:#sethadoopclasspath[code]export[code]HADOOP_HOME=/home/hadoop/software/hadoop-2.7.4export[code]HADOOP_MAPRED_HOME=$HADOOP_HOMEexport[code]HADOOP_COMMON_HOME=$HADOOP_HOMEexport[code]HADOOP_HDFS_HOME=$HADOOP_HOMEexport[code]YARN_HOME=$HADOOP_HOMEexport[code]JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/nativeexport[code]HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopexport[code]YARN_CONF_DIR=$HADOOP_HOME/etc/hadoopexport[code]HADOOP_PREFIX=$HADOOP_HOMEexport[code]CLASSPATH=$CLASSPATH:.:$HADOOP_HOME/bin
生效文件:source/etc/profile
3、配置hadoop的配置文件,主要配置core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml文件。
core-site.xml<configuration>[code]
<property>
<name>fs.defaultFS</name>
<!--master:/etc/hosts配置的域名master-->
<value>hdfs://master:9000/</value>
</property></configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/software/hadoop-2.7.0/dfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/software/hadoop-2.7.0/dfs/datanode</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property></configuration>说明:mapred-site.xml文件在etc/hadoop下找不到,解决办法是sudocpmapred-site.xml.templatemapred-site.xml
mapred-site.xml<configuration>[code]
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property></configuration>
yarn-site.xml<configuration>[code]
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property></configuration>
4、修改env环境变量文件,为hadoop-env.sh、mapred-env.sh、yarn-env.sh文件添加JAVA_HOME:#Thejavaimplementationtouse.[code]exportJAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64[/code]
5、在etc/hadoop下配置masters和slaves文件:
但只找到slaves文件,那就复制一份
cpslavesmasters文件masters中的内容为master文件slaves中的内容为slaver1,slaver2
6、向slave1和slave2节点复制hadoop2.7.4整个目录至相同的位置
scp-rhadoop-2.7.4/hadoop@slaver1:~/software
scp-rhadoop-2.7.4/hadoop@slaver2:~/software2.3StartHadoopclusterfrommaster
1、初始格式化文件系统bin/hdfsnamenode-format·[code]hadoop@master:~/software/hadoop-2.7.4/bin$./hdfsnamenode-format
输出17/09/1903:43:18INFOcommon.Storage:Storagedirectory/home/hadoop/software/hadoop-2.7.0/dfs/namenodehasbeensuccessfullyformatted.
17/09/1903:43:18INFOnamenode.FSImageFormatProtobuf:Savingimagefile/home/hadoop/software/hadoop-2.7.0/dfs/namenode/current/fsimage.ckpt_0000000000000000000usingnocompression
17/09/1903:43:18INFOnamenode.FSImageFormatProtobuf:Imagefile/home/hadoop/software/hadoop-2.7.0/dfs/namenode/current/fsimage.ckpt_0000000000000000000ofsize322bytessavedin0seconds.
17/09/1903:43:18INFOnamenode.NNStorageRetentionManager:Goingtoretain1imageswithtxid>=0
17/09/1903:43:18INFOutil.ExitUtil:Exitingwithstatus0
17/09/1903:43:18INFOnamenode.NameNode:SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG:ShuttingdownNameNodeatmaster/192.168.93.140
************************************************************/
启动Hadoop集群start-all.shhadoop@master:~/software/hadoop-2.7.4/sbin$./start-all.shThisscriptisDeprecated.Insteadusestart-dfs.shandstart-yarn.shStartingnamenodeson[master]master:startingnamenode,loggingto/home/hadoop/software/hadoop-2.7.4/logs/hadoop-hadoop-namenode-master.outslaver2:startingdatanode,loggingto/home/hadoop/software/hadoop-2.7.4/logs/hadoop-hadoop-datanode-slaver2.outslaver1:startingdatanode,loggingto/home/hadoop/software/hadoop-2.7.4/logs/hadoop-hadoop-datanode-slaver1.outStartingsecondarynamenodes[master]master:startingsecondarynamenode,loggingto/home/hadoop/software/hadoop-2.7.4/logs/hadoop-hadoop-secondarynamenode-master.outstartingyarndaemonsstartingresourcemanager,loggingto/home/hadoop/software/hadoop-2.7.4/logs/yarn-hadoop-resourcemanager-master.outslaver1:startingnodemanager,loggingto/home/hadoop/software/hadoop-2.7.4/logs/yarn-hadoop-nodemanager-slaver1.outslaver2:startingnodemanager,loggingto/home/hadoop/software/hadoop-2.7.4/logs/yarn-hadoop-nodemanager-slaver2.outhadoop@master:~/software/hadoop-2.7.4/sbin$
jps输出运行的java进程:
浏览器查看HDFS:http://192.168.93.140:50070
Overview'master:9000'(active)
Started:TueSep1903:43:41PDT2017
Version:2.7.4,rcd915e1e8d9d0131462a0b7301586c175728a282
Compiled:2017-08-01T00:29Zbykshvachkfrombranch-2.7.4
ClusterID:CID-232a6925-5563-411b-9eb9-828aa4623ed0
BlockPoolID:BP-2106543616-192.168.93.140-1505817798572
Summary
Securityisoff.
Safemodeisoff.
1filesanddirectories,0blocks=1totalfilesystemobject(s).
HeapMemoryused44.74MBof221MBHeapMemory.MaxHeapMemoryis889MB.
NonHeapMemoryused45.64MBof46.5MBCommitedNonHeapMemory.MaxNonHeapMemoryis-1B.
浏览器查看mapreduce:http://192.168.93.140:8088
注意:在hdfsnamenode-format或start-all.sh运行HDFS或Mapreduce无法正常启动时(master节点或slave节点),可将master节点和slave节点目录下的dfs、logs、tmp等目录删除,重新hdfsnamenode-format,再运行start-all.sh2.4StopHadoopclusterfrommaster
hadoop@master:~/software/hadoop-2.7.4/sbin$jps9318ResourceManager8840NameNode9098SecondaryNameNode15628Jpshadoop@master:~/software/hadoop-2.7.4/sbin$./stop-all.shThisscriptisDeprecated.Insteadusestop-dfs.shandstop-yarn.shStoppingnamenodeson[master]master:stoppingnamenodeslaver1:stoppingdatanodeslaver2:stoppingdatanodeStoppingsecondarynamenodes[master]master:stoppingsecondarynamenodestoppingyarndaemonsstoppingresourcemanagerslaver1:stoppingnodemanagerslaver2:stoppingnodemanagernoproxyservertostop
hadoop@master:~/software/hadoop-2.7.4/sbin$hadoop与hbase兼容列表
相关文章推荐
- UBUNTU环境安装hadoop集群
- 【安装Hadoop 2.3 集群】Installing Hadoop 2.3.0 multi-node cluster on Ubuntu 13.10
- 在Ubuntu上安装Hadoop(集群模式)
- Ubuntu13.04安装Hadoop集群环境
- Ubuntu16.04搭建HA集群hadoop-2.7.4
- 1.如何在虚拟机ubuntu上安装hadoop多节点分布式集群
- Hadoop集群安装配置教程_Hadoop2.7.3Ubuntu/CentOS
- Ubuntu系统下Hadoop 2.0.4集群安装配置
- Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS
- Ubuntu 13.10 Hadoop集群安装记录
- Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS
- 基于Ubuntu的Hadoop集群安装与配置
- Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS
- Ubuntu14.04集群分布式Hadoop-2.6.0系统安装
- 基于Ubuntu的Hadoop简易集群安装与配置
- ubuntu安装hadoop2.7.3集群
- Ubuntu1604安装ganglia并监控Hadoop/HBase/Spark集群
- Ubuntu14.04下hadoop2.6.0集群安装
- Hadoop完全分布式集群安装(Ubuntu)
- Hadoop集群在Ubuntu上的安装与配置 ——(01)环境前期准备