hadoop1.X集群环境的搭建

来源:互联网 发布:大数据是什么 编辑:程序博客网 时间:2024/06/05 19:11

注意:

如果你的linux操作系统是从维护人员那里要的 一定要先查看    file /sbin/init  到底是32位还是64位操作系统

1.部署方式

   1.1 本地模式:运行时不使用HDFS   
   1.2 伪分布模式:在一个节点上运行hadoop集群
   1.3 集群模式:在生产中真正使用的,hadoop的各个进程运行在集群的很多节点上

2.部署集群开发环境

在windows的C:\Windows\System32\drivers\etc\hosts增加ip与主机名绑定

(假设我们有5个节点)

       hadoop1               NameNode JobTracker

       hadoop2              SecondaryNameNode

       hadoop3~5          DataNode TaskTracker


192.168.80.101 hadoop1
192.168.80.102 hadoop2
192.168.80.103 hadoop3
192.168.80.104 hadoop4
192.168.80.105 hadoop5


2.1 设置静态ip

(1)使用vi编辑文件/etc/sysconfig/network-scripts/ifcfg-eth2

   BOOTPROTO=static
   IPADDR=192.168.80.101
   NETMASK=255.255.255.0
   GATEWAY=192.168.1.1
   DNS1=192.168.1.1

   保存退出

(2)执行命令service network restart重启网卡设置

(3)执行命令ifconfig查看配置结果是否正确


2.2 设置hostname

(1)使用vi编辑/etc/sysconfig/network
   把HOSTNAME的值改为hadoop1,保存退出。
(2)执行hostname hadoop1,在当前环境中立即生效  
(3)执行命令hostname查看设置结果

2.3 绑定ip与hostname

   编辑文件/etc/hosts,增加ip与hostname的映射信息
  

2.4 关闭防火墙

(1) 执行命令service iptables stop关闭防火墙
(2)执行命令service iptables status查看防火墙是否正在运行

2.5 关闭防火墙的自动运行
(1) 执行命令chkconfig iptables off

2.6 SSH(secure shell)免密码登录
(1)执行命令ssh-keygen -t rsa产生公钥私钥文件,产生的文件位于~/.ssh目录下
(2)执行命令ssh-copy-id -i hadoop4复制公钥文件到对方hadoop4中authorized_keys中去了。
(3)执行ssh hadoop4,就可以实现真正的免密码登录了。
只需要实现主节点(hadoop1)到从节点(hadoop3\hadoop4\hadoop5)的免密码登录即可,不必要实现从节点到主节点的免密码登录。

2.7 部署hadoop

(1)在hadoop1上执行命令cp /mnt/software/hadoop-1.1.2.tar.gz  ~ 复制hadoop压缩包到home目录

(2)在hadoop1上执行命令 tar -zxvf ~/hadoop-1.1.2.tar.gz 进行解压缩,产生文件夹hadoop-1.1.2

(3)在hadoop1上执行命令 vi /etc/profie 设置环境变量,增加的内容如下

       export JAVA_HOME=/usr/local/jdk
       export HADOOP_HOME=/usr/local/hadoop
       export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
   保存退出
   记得执行source  /etc/profile

(4)在hadoop1上编辑配置文件,见最后配置代码

          另外注意配置master和slaves   master:hadoop2  slaves:hadoop3 hadoop4 hadoop5

(5)把hadoop1上的hadoop-1.1.2复制到其他节点,执行命令

      scp -r  /usr/local/hadoop  hadoop2:/usr/local/
      scp -r  /usr/local/hadoop  hadoop2:/usr/local/
      scp -r  /usr/local/hadoop  hadoop2:/usr/local/
      scp -r  /usr/local/hadoop  hadoop2:/usr/local/
      scp -r  /usr/local/hadoop  hadoop2:/usr/local/
      scp -p /etc/profile hadoop2:/etc/或scp /etc/profile hadoop2:/etc/ 建议使用前面表示文件
      scp -p /etc/profile hadoop3:/etc
      scp -p /etc/profile hadoop4:/etc
      scp -p /etc/profile hadoop5:/etc

 在其他各个节点,执行命令source /etc/profile

(7)在hadoop1节点执行命令hadoop namenode -format 进行格式化

(8)在hadoop1节点执行命令start-all.sh 启动集群  


出现的问题汇总:
     (1)配置文件conf/*.xml文件编码出现问题 查看方法使用vim 去查看*.xml文件
     (2)程序中某个hadoop进程没有启动 解决办法去/hadoop/log/下去查看相应报错的文件的log日志 看到底是什么错误

          可能是端口被占用 查看命令 netstart -ant | 端口号 杀进程 kill -9 端口号




hadoop/conf配置文件如下:

<span style="color:#000000;">配置文件core-site.xml,增加内容如下<configuration>    <property>        <name>fs.default.name</name>        <value>hdfs://hadoop1:9000</value>    </property>    <property>        <name>hadoop.tmp.dir</name>        <value>/usr/local/hadoop/tmp</value>    </property>  </configuration>配置文件hdfs-site.xml,增加内容如下<configuration>        <property>          <name>dfs.http.address</name>          <value>0.0.0.0:50070</value>        </property>        <property>          <name>dfs.secondary.http.address</name>          <value>0.0.0.0:0</value>        </property>        <property>          <name>dfs.datanode.address</name>          <value>0.0.0.0:0</value>        </property>        <property>          <name>dfs.datanode.ipc.address</name>          <value>0.0.0.0:0</value>        </property>        <property>          <name>dfs.datanode.http.address</name>          <value>0.0.0.0:0</value>        </property>    <property>        <name>dfs.replication</name>        <value>3</value>    </property>    <property>        <name>dfs.permissions</name>        <value>false</value></property><configuration>配置文件mapred-site.xml,增加内容如下<configuration>    <property>        <name>mapred.job.tracker</name>        <value>http://hadoop1:8000</value>        </property>        <property>              <name>mapred.job.tracker.http.address</name>              <value>0.0.0.0:50030</value>        </property>        <property>          <name>mapred.task.tracker.http.address</name>          <value>0.0.0.0:0</value>        </property></configuration></span>


欢迎大家一起交流,我的博客地址是http://blog.csdn.net/huo_chai_gun,转载请标明出去大笑

0 0
原创粉丝点击