RedHat6.5上安装Hadoop单机

来源:互联网 发布:linux 查看挂载磁盘 编辑:程序博客网 时间:2024/06/12 21:36

版本号:RedHat6.5   JDK1.8   Hadoop2.7.3

 

hadoop  说明:从版本2开始加入了Yarn这个资源管理器,Yarn并不需要单独安装。只要在机器上安装了JDK就可以直接安装Hadoop,单纯安装Hadoop并不依赖Zookeeper之类的其他东西。

基础环境准备:

 

RedHat6.5安装:RHEL 6.5系统安装配置图解教程(rhel-server-6.5)

JDK安装:http://blog.csdn.net/chongxin1/article/details/68957808

1下载hadoop 2.7.3

官网下载地址:https://dist.apache.org/repos/dist/release/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz

百度网盘下载:链接:http://pan.baidu.com/s/1eSAF7sm 密码:vdfp

2配置SSH免登录

2.1、SSH服务

由于在这里我使用的rhel-server-6.5-x86_64-dvd.iso,安装的时候自带了ssh服务,所以省去装SSH服务。

RedHat6.5安装可参考:RHEL 6.5系统安装配置图解教程(rhel-server-6.5)

输出 ssh localhost 是否已安装ssh服务,例如Ubuntu就需要安装openssh服务。

机器名称命名叫master,待会用hostname命令修改也行。

说明:为了免去后面一系列授权的麻烦,这里直接使用root账户登录和操作了。

          使用ifconfig命令,查看这个机器的IP。我的机器名和ip的对应关系是:

192.168.168.200  master

2.2、检查机器名称 

为了后续操作方便,确保机器的hostname是我们想要的。拿192.168.168.200这台机器为例,用root账户登录,然后使用hostname命令查看机器名称

如图: 

 

发现,这个机器名称不是我们想要的。不过这个好办, 我给它改个名称,命令是:

hostname   master  #立即生效

如图: 

sudo gedit /etc/sysconfig/network   #永久生效

将HOSTNAME后面的值改为想要设置的主机名,然后重启即可。

2.3 、修改/etc/hosts文件

修改这台机器的/etc/hosts文件,在文件中添加以下内容: 

 192.168.168.200   master

 

sudo gedit /etc/hosts

如图:

配置完成后使用ping命令检查机器是否ping得通: 

ping  master

如图: 

2.4、给机器生成秘钥文件

以master为例,执行命令,生成空字符串的秘钥(后面要使用公钥),命令是:

ssh-keygen  -t   rsa   -P  ''

如图:

     

      因为我现在用的是root账户,所以秘钥文件保存到了/root/.ssh/目录内,可以使用命令查看,命令是:

ls    /root/.ssh/

如图:   

       

2.5、在master上创建authorized_keys文件

     接下来要做的事情是在机器的/root/.ssh/目录下创建authorized_keys,文件内容是我们刚才为机器生成的公钥。为了方便,我下面的步骤是现在master上生成authorized_keys文件,然后把机器刚才生成的公钥加入到这个master的authorized_keys文件里。

       首先使用命令,在master的/root/.ssh/目录中生成一个名为authorized_keys的文件,命令是:

touch /root/.ssh/authorized_keys

如图:    

 

      可以使用命令看,是否生成成功,命令是:

ls   /root/.ssh/

如图:    

   

其次将master上的/root/.ssh/id_rsa.pub文件内容复制到这个authorized_keys文件中。

master1机器上我的/root/.ssh/id_rsa.pub内容是:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAs0/TeFAKiPvz9URSVsOlaTP80PUs8E7NZppX4Ko0gKHjRmC3Ovb+5BFBTlZgt1bfoGcv1Pj+m9Acgru9NGi6+KW4TYJLM/EFUAOMlk/8TdRz5+2Onb5jdFK4B8RiKunEVM2jH3QLC+het5xuN7j9yGT/CqThGFmKvcH8d6TsWuQC8PAJI21ej4lOzwr4763Qc4AeomraoBBpysPLzTwJC7asSbG69Da+7P6UVw8CCLzL7xwkQ1eCVk96dhVaoa+6X1NLTMMBGjYUSbs4KkN5F6/4O5zjIkDzE+Jc5Wl/QsV17VOgrbVPHQMyKC7Fhr98SFsQvJZCzJfAC1dItjqhKQ== root@master

master机器上的/root/.ssh/authorized_keys文件内容是:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAs0/TeFAKiPvz9URSVsOlaTP80PUs8E7NZppX4Ko0gKHjRmC3Ovb+5BFBTlZgt1bfoGcv1Pj+m9Acgru9NGi6+KW4TYJLM/EFUAOMlk/8TdRz5+2Onb5jdFK4B8RiKunEVM2jH3QLC+het5xuN7j9yGT/CqThGFmKvcH8d6TsWuQC8PAJI21ej4lOzwr4763Qc4AeomraoBBpysPLzTwJC7asSbG69Da+7P6UVw8CCLzL7xwkQ1eCVk96dhVaoa+6X1NLTMMBGjYUSbs4KkN5F6/4O5zjIkDzE+Jc5Wl/QsV17VOgrbVPHQMyKC7Fhr98SFsQvJZCzJfAC1dItjqhKQ== root@master 

 ​

3安装hadoop

         说明,为了省去一系列获取管理员权限,授权等繁琐操作,精简教程,这里都是使用root账户登录并且使用root权限进行操作。

3.1 必须首先安装JDK

3.2安装hadoop        

3.2.1 上传文件并解压缩

        在/usr/local目录下新建一个名为hadoop的目录,并将下载得到的hadoop-2.7.3.tar.gz上传到该目录下,如图: 

 进入到该目录,执行命令:

mkdir /usr/local/hadoop

cd   /usr/local/hadoop

 执行解压命令:

 tar  -xvf   hadoop-2.7.3.tar.gz        

3.2.2新建几个目录

           在/root目录下新建几个目录,复制粘贴执行下面的命令: 

 mkdir  /usr/local/hadoop  

 mkdir  /usr/local/hadoop/tmp  

 mkdir  /usr/local/hadoop/var  

 mkdir  /usr/local/hadoop/dfs  

 mkdir  /usr/local/hadoop/dfs/name  

 mkdir  /usr/local/hadoop/dfs/data  

 

3.2.3 修改etc/hadoop中的一系列配置文件

          修改/usr/local/hadoop/hadoop-2.7.3/etc/hadoop目录内的一系列文件。

3.2.3.1 修改core-site.xml

修改/usr/local/hadoop/hadoop-2.7.3/etc/hadoop/core-site.xml文件
在<configuration>节点内加入配置:

  1. <property>
  2.      <name>hadoop.tmp.dir</name>
  3.      <value>/usr/local/hadoop/tmp</value>
  4.      <description>Abase for other temporary directories.</description>
  5. </property>
  6. <property>
  7.      <name>fs.default.name</name>
  8.      <value>hdfs://192.168.168.200:9000</value>
  9. </property>

3.2.3.2 修改hadoop-env.sh

         修改/usr/local/hadoop/hadoop-2.7.3/etc/hadoop/hadoop-env.sh文件

         将export   JAVA_HOME=${JAVA_HOME}

         修改为:

         export   JAVA_HOME=/usr/local/java/jdk1.8

        说明:修改为自己的JDK路径

3.2.3.3 修改hdfs-site.xml

          修改/usr/local/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml文件

          在<configuration>节点内加入配置:

  1. <property>
  2.    <name>dfs.name.dir</name>
  3.    <value>/usr/local/hadoop/dfs/name</value>
  4.    <description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>
  5. </property>
  6. <property>
  7.    <name>dfs.data.dir</name>
  8.    <value>/usr/local/hadoop/dfs/data</value>
  9.    <description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>
  10. </property>
  11. <property>
  12.    <name>dfs.replication</name>
  13.    <value>2</value>
  14. </property>
  15. <property>
  16.    <name>dfs.permissions</name>
  17.    <value>false</value>
  18.    <description>need not permissions</description>
  19. </property>

          说明:dfs.permissions配置为false后,可以允许不要检查权限就生成dfs上的文件,方便倒是方便了,但是你需要防止误删除,请将它设置为true,或者直接将该property节点删除,因为默认就是true。

3.2.3.4 新建并且修改mapred-site.xml

           在该版本中,有一个名为mapred-site.xml.template的文件,复制该文件,然后改名为mapred-site.xml,命令是:

  1.  cp   /usr/local/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template 
  2.     /usr/local/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml​

 修改这个新建的mapred-site.xml文件,在<configuration>节点内加入配置:

  1. <property>
  2.     <name>mapred.job.tracker</name>
  3.     <value>192.168.168.200:49001</value>
  4. </property>
  5. <property>
  6.     <name>mapred.local.dir</name>
  7.     <value>/usr/local/hadoop/var</value>
  8. </property>
  9. <property>
  10.     <name>mapreduce.framework.name</name>
  11.     <value>yarn</value>
  12. </property>​

3.2.3.5 修改yarn-site.xml文件

         修改/usr/local/hadoop/hadoop-2.7.3/etc/hadoop/yarn-site.xml文件,

         在<configuration>节点内加入配置(注意了,内存根据机器配置越大越好,我这里只配2个G是因为机器不行)

  1. <property>
  2.     <name>yarn.resourcemanager.hostname</name>
  3.     <value>master</value>
  4. </property>
  5. <property>
  6.     <description>The address of the applications manager interface in the RM.</description>
  7.     <name>yarn.resourcemanager.address</name>
  8.     <value>${yarn.resourcemanager.hostname}:8032</value>
  9. </property>
  10. <property>
  11.     <description>The address of the scheduler interface.</description>
  12.     <name>yarn.resourcemanager.scheduler.address</name>
  13.     <value>${yarn.resourcemanager.hostname}:8030</value>
  14. </property>
  15. <property>
  16.      <description>The http address of the RM web application.</description>
  17.      <name>yarn.resourcemanager.webapp.address</name>
  18.      <value>${yarn.resourcemanager.hostname}:8088</value>
  19. </property>
  20. <property>
  21.      <description>The https adddress of the RM web application.</description>
  22.      <name>yarn.resourcemanager.webapp.https.address</name>
  23.      <value>${yarn.resourcemanager.hostname}:8090</value>
  24. </property>
  25. <property>
  26.      <name>yarn.resourcemanager.resource-tracker.address</name>
  27.      <value>${yarn.resourcemanager.hostname}:8031</value>
  28. </property>
  29. <property>
  30.      <description>The address of the RM admin interface.</description>
  31.      <name>yarn.resourcemanager.admin.address</name>
  32.      <value>${yarn.resourcemanager.hostname}:8033</value>
  33. </property>
  34. <property>
  35.      <name>yarn.nodemanager.aux-services</name>
  36.      <value>mapreduce_shuffle</value>
  37. </property>
  38. <property>
  39.      <name>yarn.scheduler.maximum-allocation-mb</name>
  40.      <value>2048</value>
  41.      <discription>每个节点可用内存,单位MB,默认8182MB</discription>
  42. </property>
  43. <property>
  44.      <name>yarn.nodemanager.vmem-pmem-ratio</name>
  45.      <value>2.1</value>
  46. </property>
  47. <property>
  48.     <name>yarn.nodemanager.resource.memory-mb</name>
  49.     <value>2048</value>
  50. </property>
  51. <property>
  52.     <name>yarn.nodemanager.vmem-check-enabled</name>
  53.     <value>false</value>
  54. </property>

       说明:yarn.nodemanager.vmem-check-enabled这个的意思是忽略虚拟内存的检查,如果你是安装在虚拟机上,这个配置很有用,配上去之后后续操作不容易出问题。如果是实体机上,并且内存够多,可以将这个配置去掉。

3.3配置环境变量

修改相应的配置文件:

sudo gedit /etc/profile

增加如下内容:

  1. #set Hadoop enviroment
  2. export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.3
  3. export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
  4. export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
  5. export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop​​

使配置文件立即生效

source /etc/profile

输入命令:hadoop 即可验证是否生效:

4启动hadoop

4.1在namenode上执行初始化

cd   /usr/local/hadoop/hadoop-2.7.3/bin

执行初始化脚本,也就是执行命令:

 ./hadoop  namenode  -format

如图: 

稍等几秒,不报错的话,即可执行成功,如图:       

 格式化成功后,可以在看到在/usr/local/hadoop/dfs/name/目录多了一个current目录,而且该目录内有一系列文件

4.2namenode上执行启动命令

    进入到master这台机器的/usr/local/hadoop/hadoop-2.7.3/sbin目录,也就是执行命令:

cd   /usr/local/hadoop/hadoop-2.7.3/sbin

执行初始化脚本,也就是执行命令:

 ./start-all.sh

第一次执行上面的启动命令,会需要我们进行交互操作,在问答界面上输入yes回车

如图:

5测试hadoop

 master是我们的namanode,该机器的IP是192.168.168.200,在浏览器访问如下地址:

http://192.168.168.200:50070

 


 

 自动跳转到了cluster页面

 如图:

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 医保晚交了几天怎么办 辞职后转为灵活就业养老怎么办 公司名称变更提取不了公积金怎么办 五险合一软件已经减员怎么办 法人社保不在投标单位怎么办 换工作单位后社保怎么办 在北京孩子没有一老一小怎么办 深户小孩怎么办社保卡 社保卡没办下来去医院住院怎么办 老年社保卡丢了怎么办 外墙掉瓷砖伤车伤人怎么办 医保卡姓名弄错了怎么办 走工伤和走社保怎么办 公司在朝阳社保在海淀怎么办 公司没缴纳个税怎么办 报个税工资报少了怎么办 医院预约单丢了怎么办 肛瘘手术后太疼怎么办 低位保肛手术后吻合口瘘怎么办 做完痔疮手术后大便困难怎么办 20岁长痔疮了怎么办 孕妇痔疮痒的难受怎么办 痔疮术后伤口不愈合怎么办 剖腹产液化伤口长的慢怎么办 内痔斑痕怎么办了能消化 油条面和稀了怎么办 解脲支原体感染怀孕怎么办 怀孕了检查出解脲支原体感染怎么办 大便是黑色的要怎么办 大人直肠给药不好意思怎么办 肛周脓肿长肉芽怎么办 二岁宝宝有直肠息肉怎么办 87岁老人得直肠息肉怎么办 做b超查出囊肿怎么办 解大便时肛门痒怎么办 生完孩子肛门痒怎么办 把达克宁软膏摸到肛门怎么办 痔疮手术后肛门痒怎么办 便秘拉完屁股疼怎么办 屁股拉屎拉破了怎么办 6岁小朋友屁眼痒怎么办