大数据1、hadoop搭建体验

你挡我一时,挡不了我一世

发布日期: 2018-12-20 12:27:53 浏览量: 860
评分:
star star star star star star star star star star
*转载请注明来自write-bug.com

一、Linux

  • 熟练基本命令

  • 安装操作

  • Nat设置

ps:由于集群需要多个模拟系统所以网卡地址不能一样,为防止本地IP冲突,所以使用Nat虚拟IP地址

Linux设置好IP地址

二、Hadoop1.0集群搭建

Hadoop源码包下载

http://mirror.bit.edu.cn/apache/hadoop/common/

2.1 集群环境

  • Master 192.168.xx.10

  • Slave1 192.168.xx.11

  • Slave2 192.168.xx.12

2.2 关闭系统防火墙及内核防火墙

Master、Slave1、Slave2

暂时关闭防火墙

  1. /etc/init.d/iptables stop

查看防火墙状态

  1. iptables -L

临时关闭内核防火墙

  1. setenforce 0

永久关闭内核防火墙

  1. vim /etc/selinux/config
  2. SELINUX=disabled

查看内核防火墙状态

  1. getenforce

2.3 修改主机名

Master

  1. vim /etc/sysconfig/network
  2. NETWORKING=yes
  3. HOSTNAME=master

Slave1

  1. vim /etc/sysconfig/network
  2. NETWORKING=yes
  3. HOSTNAME=slave1

Slave2

  1. vim /etc/sysconfig/network
  2. NETWORKING=yes
  3. HOSTNAME=slave2

2.4 修改IP地址

Master、Slave1、Slave2

  1. vim /etc/sysconfig/network-scripts/ifcfg-eth0
  2. DEVICE=eth0
  3. HWADDR=00:50:56:89:25:3E
  4. TYPE=Ethernet
  5. UUID=de38a19e-4771-4124-9792-9f4aabf27ec4
  6. ONBOOT=yes
  7. NM_CONTROLLED=yes
  8. BOOTPROTO=static
  9. IPADDR=192.168.xx.10/11/12
  10. NETMASK=255.255.255.0
  11. GATEWAY=192.168.xx.2
  12. DNS1=#本省

2.5 修改主机文件

Master、Slave1、Slave2

  1. vim /etc/hosts
  2. 192.168.xx.10 master
  3. 192.168.xx.11 slave1
  4. 192.168.xx.12 slave2

2.6 SSH互信配置

Master、Slave1、Slave2

生成密钥对(公钥和私钥)

  1. ssh-keygen -t rsa

三次回车

  1. cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
  2. chmod 600 /root/.ssh/authorized_keys

相互追加Key

Master

  1. ssh slave1 cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
  2. ssh slave2 cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

Slave1

  1. ssh master cat /root/.ssh/authorized_keys > /root/.ssh/authorized_keys

Slave2

  1. ssh master cat /root/.ssh/authorized_keys > /root/.ssh/authorized_keys

2.7 安装JDK

http://www.oracle.com/technetwork/java/javase/downloads/index.html

Master

  1. cd /usr/local/src
  2. wget 具体已上面的链接地址为准
  3. tar zxvf jdk1.8.0_152.tar.gz

2.8 配置JDK环境变量

Master、Slave1、Slave2

  1. vim ~/.bashrc
  2. export JAVA_HOME=/usr/local/src/jdk1.6.0_45
  3. export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib
  4. export PATH=:$PATH:$JAVA_HOME/bin

2.9 JDK拷贝到Slave主机

Master

  1. scp -r /usr/local/src/jdk1.8.0_152 root@slave1:/usr/local/src/jdk1.8.0_152
  2. scp -r /usr/local/src/jdk1.8.0_152 root@slave2:/usr/local/src/jdk1.8.0_152

2.10 下载Hadoop

Master

  1. wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz
  2. tar zxvf hadoop-1.2.1.tar.gz
  3. cd hadoop-1.2.1.tar.gz
  4. mkdir tmp

2.11 修改Hadoop配置文件

Master

  1. cd conf
  2. vim masters
  3. master
  4. vim slaves
  5. slave1
  6. slave2

vim core-site.xml

  1. <configuration>
  2. <property>
  3. <name>hadoop.tmp.dir</name>
  4. <value>/usr/local/src/hadoop-1.2.1/tmp</value>
  5. </property>
  6. <property>
  7. <name>fs.default.name</name>
  8. <value>hdfs://#masterip:9000</value>
  9. </property>
  10. </configuration>

vim mapred-site.xml

  1. <configuration>
  2. <property>
  3. <name>mapred.job.tracker</name>
  4. <value>http://#masterip:9001</value>
  5. </property>
  6. </configuration>

vim hdfs-site.xml

  1. <configuration>
  2. <property>
  3. <name>dfs.replication</name>
  4. <value>3</value>
  5. </property>
  6. </configuration>
  1. vim hadoop-env.sh
  2. export JAVA_HOME=/usr/local/src/jdk1.8.0_152

2.12 配置环境变量

Master、Slave1、Slave2

  1. vim ~/.bashrc
  2. HADOOP_HOME=/usr/local/src/hadoop-1.2.1
  3. export PATH=$PATH:$HADOOP_HOME/bin

刷新环境变量

  1. source ~/.bashrc

2.13 安装包拷贝到Slave主机

Master

  1. scp -r /usr/local/src/hadoop-1.2.1 root@slave1:/usr/local/src/hadoop-1.2.1
  2. scp -r /usr/local/src/hadoop-1.2.1 root@slave2:/usr/local/src/hadoop-1.2.1

2.14 启动集群

Master

初始化NameNode

  1. hadoop namenode -format

启动Hadoop启动Hadoop集群

  1. start-all.sh

2.15 集群状态

jps

2.16 监控页面

NameNode

http://master:50070/dfshealth.jsp

SecondaryNameNode

http://master:50090/status.jsp

DataNode

http://slave1:50075/

http://slave2:50075/

JobTracker

http://master:50030/jobtracker.jsp

TaskTracker

http://slave1:50060/tasktracker.jsp

http://slave2:50060/tasktracker.jsp

2.17 关闭集群

  1. stop-all.sh

总结一下搭建遇见的坑

1.1

Linux系统安装时占存大小一定要选好,这个东西思想是集群式,只有在真正HDFS这种分布式存储上才能展现威力,在本地会显得慢一点

1.2

相比于桥接模式直接连接物理网络,NAT模式更加人性化解决IP冲突问题,如果想用NAT模式重新获取到本地IP对应的虚拟IP,需要从虚拟机的虚拟网络编辑器中删除NAT模式的网络并新建一个网络改为NAT模式,就会获取到新的对应IP,并且每台Linux中都需要根据这个nat网关IP从新分配静态IP,可以利用

  1. curl www.baidu.com

测试连接外网,在srt软件中测试时乱码问题需要自己设置下(还可以设置背景和系统哦)

1.3

集群搭建还需要做到master和slave之间无密码连接(ssh互信),而阻挡连接的问题也就是iptables和selinux了,而修改主机名可以方便以后不需要再蛋疼的打IP了可以达到dns的效果

1.4

本地上传和从网上download -jdk和Hadoop包都可以,上传的话虚拟机设置选项里面有一个共享文件夹,设置后可以在/mnt/hgfs中找到然后拷贝到各个机器中(scp/cp)

1.5

Hadoop中的配置文件一共就那么几个,一定要配置好,千万不要打错字母,不然启动集群时某些任务起不来,IP都是master的IP,Hadoop1.0不像2.0一样不显示jobtracker&tasktracker

  • 千万不要打错字母
  • 出错的时候先检查配置文件再说

1.6

环境变量:更方便地在任何目录下使用

上传的附件
最近文章
eject