hadoop 2.7集群搭建

网友投稿 237 2022-11-22

hadoop 2.7集群搭建

目录

一:版本介绍

LINUX版本:centos6.5 64位版本(虚拟机三台机器,一主两从)

168.37.101168.37.102168.37.103

hadoop版本:2.7.7版本 JAVA版本:1.8.0

二:SSH免密

1、编辑hosts

在root用户下输入命令,vi /etc/hosts,用vi编辑hosts文件,如下:

2、生成authorized_keys文件

登录centos01,在.ssh目录下输入命令:

ssh-keygen -t rsa

,三次回车后,该目录下将会产生id_rsa,id_rsa.pub文件。其他主机也使用该方式产生密钥文件。

拷贝其它两台机器的秘钥文件到centos01

输入命令:

cat id_rsa.pub >> authorized_keyscat id_rsa.pub.s1 >> authorized_keyscat id_rsa.pub.s2 >> authorized_keys

修改authorized_keys权限

chmod 600 authorized_keys

输入命令

more authorized_keys

可以看到

拷贝 authorized_keys到另外两台机器的.ssh文件夹。免密码登录设定完成,注意第一次ssh登录时需要输入密码,再次访问时即可免密码登录。

三:安装JDK

1、解压jdk安装包

下载安装包jdk-8u191-linux-x64.tar.gz,解压文件

tar -zxvf jdk-8u191-linux-x64.tar.gz -C /home//etc/profile 在/etc/profile添加如下内容

export JAVA_HOME=/home/CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:export PATH=$PATH:$JAVA_HOME/bin:

查看配置是否生效

java -version

四:安装hadoop

1、创建hadoop目录

为了便于管理,创建hdfs的NameNode、DataNode及临时文件,命令如下:

mkdir /home/hadoopmkdir /home/hadoop/hdfs/datamkdir /home/hadoop/hdfs/namemkdir /home/hadoop/hdfs/temp

2、安装hadoop安装包

下载安装包hadoop-2.7.7.tar.gz,解压文件

tar -zxvf hadoop-2.7.7.tar.gz -C /home/hadoop

解压后文件如下:

3、设置环境变量

vim /etc/profile 在/etc/profile添加如下内容

export HADOOP_HOME=/home/hadoop/hadoop-2.7.7expor tPATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:

查看配置是否生效

hadoop version

4、设置hadoop配置文件

转到/home/hadoop/hadoop-2.7.7/etc/hadoop目录,需要修改如下5个文件: core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml以及slaves文件

4.1 修改hdfs-site.xml

vim hdfs-site.xml, 输入如下内容:

dfs.replication 2 dfs.namenode.name.dir file:/home/hadoop/hdfs/name true dfs.datanode.data.dir file:/home/hadoop/hdfs/data true dfs.namenode.secondary. centos01:9001 dfs.webhdfs.enabled true dfs.permissions false

4.2 修改core-site.xml

vim core-site.xml, 输入如下内容:

hadoop.tmp.dir file:/home/hadoop/hdfs/temp A base for other temporary directories. io.file.buffer.size 131072 fs.default.name hdfs://centos01:9000hadoop.proxyuser.root.hosts*hadoop.proxyuser.root.groups*

4.3 修改mapred-site.xml

vim mapred-site.xml, 输入如下内容:

mapreduce.framework.name yarn

4.4 修改yarn-site.xml

vim yarn-site.xml, 其中centos01是主机名,输入如下内容:

yarn.resourcemanager.address centos01:18040 yarn.resourcemanager.scheduler.address centos01:18030 yarn.resourcemanager.webapp.address centos01:18088 yarn.resourcemanager.resource-tracker.address centos01:18025 yarn.resourcemanager.admin.address centos01:18141 yarn.nodemanager.aux-services mapreduce_shuffle

4.5 修改slaves

vim slaves, 输入如下内容:

centos02centos03

4.6 修改hadoop-env与yarn-env

由于配置了环境变量。所以hadoop-env.sh与yarn-env.sh这两个文件不用修改,因为里面的配置是: export JAVA_HOME=${JAVA_HOME}

五:启动hadoop

1、初始化hdsf

执行:hadoop namenode -format,看到如下证明启动成功

2、查看hadoop相关启动文件

进入/home/hadoop/hadoop-2.7.7/sbin/目录,可以看到很多的启动文件

3、 启动hdfs

输入命令:

./start-dfs.sh

看到如下启动日志

主机输入jps,看到如下进程

备机输入jps,看到如下进程

4、 启动yarn

输入命令:

./start-yarn.sh

看到如下启动日志

主机输入jps,看到如下进程

备机输入jps,看到如下进程

5、 验证是否启动成功

验证hdfs,进入/home/hadoop/hadoop-2.7.7/bin目录,输入命令

hdfs dfsadmin -report

看到如下:

验证yarn,登录java 和 which javac 分别可以看到 [root@localhost ~]# which java /usr/bin/java [root@localhost ~]# which javac /usr/bin/javac 简单说一下,就是把这2个文件ln -s 到我们新的jdk 下的 java 和 javac 上,命令如下: rm -rf /usr/bin/java rm -rf /usr/bin/javac ln -s $JAVA_HOME/bin/javac /usr/bin/javac ln -s $JAVA_HOME/bin/javac /usr/bin/java 这样执行以后,然后 java -version 、 javac -version 解决问题

2、hdfs report报异常

hdfs 会报java.net.NoRouteToHostException: No route to host的异常

./hdfs dfsadmin -reportreport: No Route to Host from centos01/192.168.37.102 to centos01:9000 failed on socket timeout exception: java.net.NoRouteToHostException: No route to host; For more details see: http://wiki.apache.org/hadoop/NoRouteToHost

原因是由于防火墙开启,datanode连接不上namenode,导致datanode无法启动 关闭防火墙即可,输入命令

service iptables stop

可以看到

3、hadoop日志报异常(Unable to load native-hadoop library for your platform)

hadoop打印日志时会发现如下日志异常:

这里的主要原因是centos6.x的glibc版本过低,需要升级2.14版本,输入如下命令

strings /lib64/libc.so.6 | grep GLIBC

发现glibc版本是2.12

按照如下命令升级即可,编译时间超长,如果出现部分警告可忽略

# 下载 glibc 2.14源码wget wget 解压上一步下载后的源码tar xvf glibc-2.14.tar.gz && cd glibc-2.14# 在源码文件夹下创建一个build文件夹,编译生成的文件都放在此文夹下mkdir build && cd build# 如果是新机器,需要安装编译依赖yum install gcc gcc-c++# 在源码文件夹下创建一个build文件夹,编译生成的文件都放在此文夹下mkdir build && cd build# configure的时候,不能直接在解压目录configure../configure --prefix=/usr # 编译安装make -j4 && make install # 检验是否成功ls -l /lib64/libc.so.6 lrwxrwxrwx 1 root root 12 Jul 23 16:17 /lib64/libc.so.6 -> libc-2.14.so

最终查看可以看到:

4、无法启动NodeManager

备机输入jps命令,无法看到NodeManager,原因是因为2.4以上的hadoop版本配置中的yarn-site.xml有变化 需要修改mapreduce.shuffle为mapreduce_shuffle

yarn.nodemanager.aux-services mapreduce_shuffle

5、粘贴XML很多空格

在拷贝前输入:set paste (这样的话,vim就不会启动自动缩进,而只是纯拷贝粘贴) 拷贝完成之后,输入:set nopaste (关闭paste)

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Hdu5226 Tom and matrix
下一篇:Java 十大排序算法之选择排序刨析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~