hadoop伪分布式的安装搭建(Hadoop-2.7.3+jdk1.8+centos6.5)

来源:互联网 发布:新手做微商好还是淘宝 编辑:程序博客网 时间:2024/06/05 02:50

安装4台主机模拟Hadoop工作环境:

主机                                    ip                        账号密码

master                      192.168.40.100 -------hadoop/hadoop

weekend001             192.168.40.101 -------hadoop/hadoop

weekend002             192.168.40.102 -------hadoop/hadoop

weekend003             192.168.40.103 -------hadoop/hadoop

安装步骤:


1.将网卡切换至nat模式并设置好网关

设置网段:192.168.40.0 子网掩码:255.255.255.0 -> apply -> ok

                                                

2.安装centos6.5

a.关闭防火墙(在root权限下)----------centos6.5

 #查看防火墙状态
service iptables status
#关闭防火墙
service iptables stop
#查看防火墙开机启动状态
chkconfig iptables --list
#关闭防火墙开机启动
chkconfig iptables off


/////////////////////////////////补充一点centos7的防火墙关闭方式与centos6.5不同//////////////////////////////////

关闭方法为

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
b.修改ip (建议在图形用户界面下修改)


终端下修改的方法
vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"
BOOTPROTO="static"               ###
HWADDR="00:0C:29:3C:BF:E7"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c"
IPADDR="192.168.40.100"           ###
NETMASK="255.255.255.0"          ###
GATEWAY="192.168.40.2"            ###--------------------------------请与vmware配置时的输入一一对应上

c.将创建的用户添加到sudoers的列表下
切换到root账户,修改/etc/sudoers文件,增加:hadoop  ALL=(ALL)  ALL


d.
修改/etc/hosts 文件,增加4台机器的ip和hostname的映射关系

e.修改主机名

sudo vi /etc/sysconfig/network--------------------------------每个节点都要修改


sudo hostname master
//即可将主机名改为hadoop
重启生效
3.安装jdk
在hadoop文件夹下创建APP文件夹
mkdir /home/hadoop/app
通过ftp服务器将jdk文件,hadoop文件,eclipse等文件上传至虚拟机.
a. 解压jdk

tar -zxvf jdk-8u111-linux-x64.tar.gz -C /home/hadoop/app


b.sudo vim /etc/profile
在文件末尾添加
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_111
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


c.刷新
source /etc/profile
d.验证配置

4.安装配置hadoop
a.tar -zvxf hadoop-2.7.3.tar.gz -C /home/hadoop/app
b.sudo vim /etc/profile

在文件末尾添加
export HADOOP_HOME=/home/hadoop/app/hadoop-2.7.3
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin(修改)

c.刷新配置文件
source /etc/profile
d.验证配置文件
hadoop version

5.修改配置文件(7个)

注意:hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop

配置之前,需要在app本地文件系统创建以下文件夹:



a.hadoop-env.sh
[plain] view plain copy
print?
  1. [hadoop@master hadoop]$ echo $JAVA_HOME  
  2. /home/hadoop/app/jdk1.8.0_111  
  3. [hadoop@master hadoop]$ vi hadoop-env.sh  
-----在第25/26行
 

b.core-site.xml

<code class="hljs xml has-numbering" style="display: block; padding: 0px; background: transparent; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal;"><configuration> <property><!-- 指定hadoop运行时产生文件的存储目录 --> <name>hadoop.tmp.dir</name> <value>/home/hadoop/tmp</value> </property><!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 --> <property> <name>fs.defaultFS</name><value>hdfs://master:9000</value></property> <property>   <name>io.file.buffer.size</name> <value>131072</value> </property></configuration></code>
c.hdfs-site.xml

[plain] view plain copy
print?
  1. <configuration>  
  2. <!-- 指定HDFS副本的数量 -->  
  3.                 <property>  
  4.                 <name>dfs.replication</name>  
  5.                 <value>1</value>  
  6.                 </property>  
  7. </configuration>  
  8. <pre name="code" class="plain"><property>  
  9.  <name>dfs.namenode.secondary.http-address</name>  
  10. <value>master:9001</value>  
  11. </property>  
  12.   
  13.          <property>  
  14.  <name>dfs.namenode.name.dir</name>  
  15. <value>file:/home/hadoop/hdfs/name</value>  
  16.  </property>  
  17.   
  18.            <property>  
  19. <name>dfs.datanode.data.dir</name>  
  20.  <value>file:/home/hadoop/hdfs/data</value>  
  21.  </property>  

[plain] view plain copy
print?
  1. <property>  
  2.  <name>dfs.webhdfs.enabled</name>  
  3.     <value>true</value>  
  4.  </property>  

d.mapred-site.xml

需要重命名: mv mapred-site.xml.template mapred-site.xml

[plain] view plain copy
print?
  1. <!-- 指定mr运行在yarn上 -->  
  2.         <property>  
  3.             <name>mapreduce.framework.name</name>  
  4.             <value>yarn</value>  
  5.     </property>  
  6. <pre name="code" class="plain"><property>  
  7.  <name>mapreduce.jobhistory.address</name>  
  8. <value>master:10020</value>  
  9.  </property>  
  10.     
  11.   <property>  
  12.   <name>mapreduce.jobhistory.webapp.address</name>                
  13.   <value>master:19888</value>  
  14.   </property>  


e.yarn-site.xml

[plain] view plain copy
print?
  1. <!-- 指定YARN的老大(ResourceManager)的地址 -->  
  2.         <property>  
  3.             <name>yarn.resourcemanager.hostname</name>  
  4.             <value>master</value>  
  5.     </property>  
  6.         <!-- reducer获取数据的方式 -->  
  7.     <property>  
  8.             <name>yarn.nodemanager.aux-services</name>  
  9.             <value>mapreduce_shuffle</value>  
  10.      </property>  

f.yarn-env.sh

g.vi slaves/master(需新建)

vi master

master

6.配置三台datanode节点

a.复制虚拟机

b.修改ip地址

c.修改主机名及配置文件

----------退出重新登录生效

d.互通验证

e.为节约资源关闭图形用户界面

sudo vi /etc/inittab--------------由5改为3,重启生效.


7.ssh免秘钥登录

a.查看SSH是否安装。

输入命令:rpm -qa | grep ssh

注:若没安装SSH则可输入:yum install openssh-server安装。

sodu apt-get install ssh(ubuntu)

b.生成公钥

安装完成后会在~目录(当前用户主目录,即这里的/home/hadoop)下产生一个隐藏文件夹.ssh(ls  -a 可以查看隐藏文件)。如果没有这个文件,自己新建即可(mkdir .ssh)。

具体步骤如下:

1、 进入.ssh文件夹

2、 ssh-keygen -t  rsa 之后一路回 车(产生秘钥)


3.cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

c. chmod 600 ~/.ssh/authorized_keys

d.scp ~/.ssh/id_rsa.pub  hadoop@192.168.40.102:~/.ssh(以此类推三台都要复制一遍)

生成authorized_keys.
cat id_rsa.pub >> authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
e.ssh互通测试

8.启动

第一次启动得格式化

hdfs namenode -format或hadoop namenode -format

启动dfs

start-dfs.sh

启动yarn

start-yarn.sh
9.测试

jps

master

datanode


http://192.168.40.100:50070/dfshealth.html#tab-overview


http://192.168.40.100:8088/cluster


可以看到一切正常。3个节点。

至此我们的4台hadoop运行


0 0
原创粉丝点击