Hadoop笔记五之Hadoop伪分布安装

4 篇文章 0 订阅
linux 配置
1:ip配置

执行ifconfig命令可以查看ip地址

虚拟机一般是动态分配ip,实际生产环境需要使用静态ip,在/etc/sysconfig/network-scripts目录下的ifcfg-eth0文件中修改ip信息,一般这个由专门的网络管理人员会去修改。另外有可能会有多个网卡eth0,eth1等。

2:关闭防火墙

a:我使用SecureCRT链接我的虚拟机,SecureCRT使用SSH链接系统端口是22。如果开启防火墙的话它会禁止使用22端口

c:后期使用java操作一些软件时也需要关闭防火墙

b:关闭防火墙

使用root用户登录

service iptables status 查看防火墙状态

service iptables start/stop 启动关闭防火墙

chkconfig iptables off  重新启动虚拟机时不再默认开启防火墙,

chkconfig --list|grep iptables 如果全部为off的话重启时就不会开启防火墙,只要有on系统就会开启防火墙

iptables             0:off 1:off 2:on 3:on 4:on 5:on 6:off

3:修改主机名

我最好修改主机名并建立他与本机ip的对应关系,这样后期如果ip地址发生变化我们的业务中只需要修改主机名与ip的对应关系即可。

hostname  查看主机名

修改/etc/sysconfig/network文件更改主机名,HOSTNAME=主机名

hostname 主机名   强制生效

4:建立ip主机名映射关系

修改/etc/hosts文件,建立ip与主机名的对应关系,例如:192.168.0.1主机名,执行ping 主机名,看映射是否生效

5:配置java环境变量

A:删除/usr/local下所有的无用目录rm -rf *,拷贝jdk-7u79-linux-x64.tar.gz到/usr/local

B:解压:tar -zxvf jdk-7u79-linux-x64.tar.gz

C:在/etc/profile文件中配置java环境变量

export JAVA_HOME=/usr/local/jdk1.7.0_79

export PATH=.:$JAVA_HOME/bin:$PATH 注意.表示当前目录

D:source /etc/profile,使刚刚修改环境变量生效

E:最后执行java –version,如下输出证明成功

[root@shb01 local]# java -version

java version "1.7.0_79"

Java(TM) SE Runtime Environment (build1.7.0_79-b15)

Java HotSpot(TM) 64-Bit Server VM (build24.79-b02, mixed mode)

 

6:SecureCRT连接问题

如果登录报错

The server has disconnected with anerror.  Server message reads:

A protocol error occurred. Change ofusername or service not allowed: (shb01,ssh-connection) -> (root,ssh-connection)

需要修改一下配置,选项-> 会话选项 -> 连接 -> SSH2 -> 用户名(可能没有配置root,这样也可以禁用服务器的ROOT登录了

 

7:windows平台映射配置

修改C:\Windows\System32\drivers\etc\hosts文件,加入虚拟机ip地址与主机名的映射关系,通过web访问hadoop时会用到。例如:192.168.79.128 主机名

 

8:环境变量

在/etc/profile/中配置hadoop的目录便于我们后期使用

Export JAVA_HOME=/usr/local/java_7.9.0

    exportHADOOP_HOME=/usr/local/hadoop-2.6.0

exportPATH=.:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

export PATH=.:$JAVA_HOME/bin:/usr/local/hadoop-2.6.0/bin:/usr/local/hadoop-2.6.0/sbin:$PATH

 

执行source/etc/profile

执行java –version查看jdk是否配置成功

9:ssh

开启sshd服务

service sshdstatus

service sshd start

 

在启动hdfs时会提示我们输入密码,这样我们需要配置ssh免登录

执行如下命令

ssh-keygen -t rsa  产生密钥,提示时全部回车

ssh-copy-id -i shb01 提示时输入密码

ssh  shb01 如果正常看能不能登录

[root@shb01 hadoop-2.6.0]# ssh shb01

Last login: Wed Aug 10 01:42:12 2016 from 192.168.79.1

[root@shb01 ~]# exit

logout

Connection to shb01 closed.

[root@shb01 hadoop-2.6.0]#

设置完毕后再启动hdfs后就不需要输入登录密码了

Hdfs伪分布安装
1:hadoop目录结构

a:解压缩安装包tar -zxvf hadoop-2.6.0.tar.gz

b:目录结构

  hadoop程序存放目录:/usr/local/Hadoop-2.6.0

      etc/hadoop目录存放的是hadoop的配置文件

bin存放框架组件的管理脚本hdfs,yarn

sbin存放框架本身的命令如start,stop

        lib/native存放操作系统相关的链接文件

       share/hadoop存放框架运行需要的jar

   以下目录需提前建,mkdir–p /usr/local/hadoop_repo/name

  nameNode存储数据目录:/usr/local/hadoop_repo/name

  dataNode存储数据目录:/usr/local/hadoop_repo/data

  secondaryNameNode存储目录:/usr/local/hadoop_repo/namesecondary

   日志文件目录:/usr/local/hadoop_repo/logs

   临时文件目录:/usr/local/hadoop_repo/tmp

 

2:基本配置文件

   安装Hadoop主要注意修改以下几个配置文件,/usr/local/hadoop-2.6.0/etc/hadoop目录下。

   A:core-site.xml

   <configuration>

    <property>

       <name>fs.defaultFS</name>

       <value>hdfs://shb100:9000</value>

   </property>

   <property>

       <name>hadoop.tmp.dir</name>

       <value>/usr/local/hadoop_repo/tmp</value>   

         </property>

         <!--

   <property>

       <name>fs.trash.interval</name>

       <value>1440</value>

   </property>

         -->

</configuration>

 

B:hdfs-site.xml ,这里配置namenode,datanode,secondarynamenode,均在一个节点shb100上

<configuration>

    <property>

                   <name>dfs.namenode.name.dir</name>

                   <value>file:///usr/local/hadoop_repo/name</value>

         </property>

         <property>

                   <name>dfs.datanode.data.dir</name>

                   <value>file:///usr/local/hadoop_repo/data</value>

         </property>

         <property>

                   <name>dfs.namenode.checkpoint.dir</name>

                   <value>file:///usr/local/hadoop_repo/namesecondary</value>

         </property>

         <property>

                   <name>dfs.namenode.secondary.http-address</name>

                   <value>shb100:9001</value>

         </property>

         <property>

                   <name>dfs.replication</name>

                   <value>1</value>

         </property>

         <property>

                   <name>dfs.webhdfs.enabled</name>

                   <value>true</value>

         </property>

         <property>

                   <name>dfs.permissions</name>

                   <value>false</value>

         </property>

</configuration>

C:mapred-site.xml

<configuration>

    <property>

                   <name>mapreduce.framework.name</name>

                   <value>yarn</value>

         </property>

         <property>

                   <name>mapreduce.jobhistory.address</name>

                   <value>shb100:10020</value>

         </property>

         <property>

                   <name>mapreduce.jobhistory.webapp.address</name>

                   <value>shb100:19888</value>

         </property>

         <property>

                   <name>yarn.app.mapreduce.am.staging-dir</name>

                   <value>/history</value>

         </property>

         <property>

                   <name>mapreduce.jobhistory.done-dir</name>

                   <value>${yarn.app.mapreduce.am.staging-dir}/history/done</value>

         </property>

         <property>

                   <name>mapreduce.jobhistory.intermediate-done-dir</name>

                   <value>${yarn.app.mapreduce.am.staging-dir}/history/done_intermediate</value>

         </property>

</configuration>

 

D:yarn-site.xml,yarn.resourcemanager.hostname的value改为我们的主机名,均在shb100上

<configuration>

   <property>

                  <name>yarn.nodemanager.aux-services</name>

                   <value>mapreduce_shuffle</value>

         </property>

         <property>

                   <name>yarn.resourcemanager.hostname</name>

                   <value>shb100</value>

         </property>

         <property>

                   <name>yarn.resourcemanager.address</name>

                   <value>shb100:8032</value>

         </property>

         <property>

                   <name>yarn.resourcemanager.scheduler.address</name>

                   <value>shb100:8030</value>

         </property>

         <property>

                   <name>yarn.resourcemanager.resource-tracker.address</name>

                   <value>shb100:8031</value>

         </property>

         <property>

                   <name>yarn.resourcemanager.admin.address</name>

                   <value>shb100:8033</value>

         </property>

         <property>

                   <name>yarn.resourcemanager.webapp.address</name>

                   <value>shb100:8088</value>

         </property>

         <property>

                   <name>yarn.log-aggregation-enable</name>

                   <value>true</value>

         </property>

</configuration>

 

E:hadoop-env.sh

在文件后面增加,注意不要重复

export JAVA_HOME=/usr/local/jdk1.7.0_79

export HADOOP_LOG_DIR=/usr/local/hadoop_repo/logs

export HADOOP_ROOT_LOGGER=DEBUG,DRFA

F:yarn-env.sh

在文件后面增加

export JAVA_HOME=/usr/local/jdk1.7.0_79

export YARN_LOG_DIR=/usr/local/hadoop_repo/logs

export YARN_ROOT_LOGGER=DEBUG,DRFA

G:slaves,在文件中配置我们的主机名。shb100

H:log4j.properties

   hadoop.log.dir=/usr/local/hadoop_repo/logs

3:hdfs格式化并启动hdfs

在bin目录执行hadoopnamenode –format或hdfs namenode -format命令格式化,但是此命令只能执行一次不能多次格式化。如果成功可以在日志中看到成功的提示。

执行

执行start-dfs.sh启动hdfs,关闭命令stop-dfs.sh

启动成功后执行jps查看namenode,datanode,secondarynamenode,resourcemanager,nodemanager是否已经启动

[root@shb100sbin]# jps

27875 Jps

27365SecondaryNameNode

27123 NameNode

27600NodeManager

27512ResourceManager

27209 DataNode

在logs目录下可以看到namenode,datanode,secondarynamenode,resourcemanager,nodemanager的启动日志

 

4:web访问

   在浏览器地址栏中输入http://shb01:50070查看是否能够如下显示,也可以通过ip访问。

上面的例子我的主机名是shb100,shb01是之前的截图但配置方式一样。


   

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值