hadoop-2.5.2完全分布式搭建centos6.5下

首先用VMWare新建三个虚拟机,分别安装centos系统,用户名统一为hadoop
一、 配置hosts文件
三个虚拟机统一修改,修改后重启服务器
二、安装jdk
jdk下载完后,用 SSHSecureShellClient 上传到/home/hadoop目录
  • 解压jdk压缩包
tar -xzvf jdk-8u112-linux-x64.gz
  • 更改解压后文件夹名称为java
mv jdk1.8.0_112 java
  • 配置jdk环境变量
修改/etc/profile需切换到root用户下完成 su root
[root@master hadoop]# vi /etc/profile
添加如下内容:
#set java environmentJAVA_HOME=/home/hadoop/javaJRE_HOME=/home/hadoop/java/jreCLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libPATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/binexport JAVA_HOME JRE_HOME CLASS_PATH PATH
让修改立即生效:
[root@master hadoop]# source /etc/profile
三、配置ssh免密码连接
  • 在master上生成公钥和私钥
ssh-keygen -t rsa 一路狂按回车,最终生成(id_rsa,id_rsa.pub两个文件).
  • 把master的公钥分别添加到node1、node2、master服务器的authorized_keys文件中
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@node1
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@node2
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@master
在每台服务器把这三条命令执行一遍。
四、下载解压hadoop安装包并配置环境变量
  • 解压hadoop
hadoop下载完后,用 SSHSecureShellClient 上传到master服务器的/home/hadoop目录下
tar -xzvf hadoop-2.5.2.tar.gz //解压
mv hadoop-2.5.2 hadoop2 //更改文件夹名称
  • 配置hadoop环境变量
vi etc/profile //编辑profile在文件底部添加如下内容
JAVA_HOME=/home/hadoop/java
JRE_HOME=/home/hadoop/java/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
HADOOP_HOME=/home/hadoop/hadoop2
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

#HADOOP VARIABLES START
export HADOOP_INSTALL=/home/hadoop/hadoop2
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
#HADOOP VARIABLES END
五、 配置 hadoop-env.sh
[hadoop@master hadoop]$ cd /home/hadoop/hadoop2/etc/hadoop
[hadoop@master hadoop]$ vi hadoop-env.sh //在文件末尾添加如下内容
export JAVA_HOME=/home/hadoop/java
[hadoop@master hadoop]$ source hadoop-env.sh //使修改内容立即生效
六、配置 yarn-env.sh
[hadoop@master hadoop]$ vi yarn-env.sh//在文件末尾添加如下内容
export JAVA_HOME=/home/hadoop/java
[hadoop@master hadoop]$ source yarn-env.sh //使修改内容立即生效
七、配置slaves文件
[hadoop@master hadoop]$ vi slaves //添加数据节点
node1
node2
八、配置namenode,修改site文件
  • 配置core-site.xml文件
先在hadoop2目录下建立 tmp
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value> file:/home/hadoop/hadoop2/tmp </value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131702</value>
</property>
</configuration>

core-site.xml
  • 配置hdfs-site.xml文件
配置之前先在hadoop下建立 dfs/name,dfs/data 目录
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value> /home/hadoop/hadoop2/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value> /home/hadoop/hadoop2/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
hdfs-site.xml
  • 配置mapred-site.xml文件
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final>
</property>
</configuration>
mapred-site.xml
  • 配置yarn-site.xml文件
<configuration>
<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.hostname</name>
<value>master</value>
</property>
</configuration>
yarn-site.xml
、向各节点复制hadoop
scp -r /home/hadoop/hadoop2 hadoop@node1:/home/hadoop
scp -r /home/hadoop/hadoop2 hadoop@node2:/home/hadoop
九、配置防火墙
配置hadoop相关端口,例如本人配置的9000、9011、50030端口(还有很多其它默认端口)
/sbin/iptables -I INPUT -p tcp --dport 9000 -j ACCEPT #开启8011端口
/etc/rc.d/init.d/iptables save #保存配置
/etc/rc.d/init.d/iptables restart #重启服务
鉴于各个版本端口不一样,简单粗暴的方式直接关闭防火墙
关闭防火墙方法如下
1) 重启后生效
关闭: chkconfig iptables off
2) 即时生效,重启后失效
关闭: service iptables stop
(本人在未配置防火墙且未关闭防火墙的情况下启动hadoop,发现node1、node2服务器下 TaskTracker DataNode服务不能正常启动报错如下)
查看/home/hadoop/hadoop/hadoop-hadoop-datanode-node2.log日志报错如下

十、格式化namenode
这一步也在主结点 master 上进行操作:
[hadoop@master conf]$ hadoop namenode -format

十一、启动hadoop
可以使用start-all.sh启动
不过推荐分别使用 start-dfs.sh、start-yarn.sh进行启动
[hadoop@master hadoop]$start-dfs.sh
[hadoop@master hadoop]$start-yarn.sh
十二、用jps检验各后台进程是否成功启动
107服务器查看
105服务器查看
十三、通过浏览器访问
(如果是在windows下访问,则需要在C:\Windows\System32\drivers\etc\hosts添加192.168.1.107 master,或者直接访问 http://192.168.1.107:50070/)
注意事项:
第一次运行stat-dfs报错
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
在网上搜索资料发现是系统中的glibc的版本和libhadoop.so需要的版本不一致导致
运行
yum install glibc*
后更新glibc版本即可


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值