Hadoop部署

Hadoop 安装配置

解压到根目录

tar xvf hadoop.2.7.1.tar.gz

配置profile

sudo gedit /etc/profile ,里面加上:

————————————————————————————————————

export JAVA_HOME=/home/yuqiao/jdk1.8.0_45

export JRE_HOME=$JAVA_HOME/jre

export SCALA_HOME=/home/yuqiao/scala-2.11.7

export SPARK_HOME=/home/yuqiao/spark-2.0.2-bin-hadoop2.7

export HADOOP_HOME=/home/yuqiao/hadoop-2.7.1

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH:$HADOOP_HOME/share/hadoop/common/hadoop-common-2.7.1.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.7.1.jar:$HADOOP_HOME/share/hadoop/common/lib/commons-cli-1.2.jar

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH:$HADOOP_HOME/share/hadoop/common/hadoop-common-2.7.1.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.7.1.jar:$HADOOP_HOME/share/hadoop/common/lib/commons-cli-1.2.jar

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$SCALA_HOME/bin:$SPARK_HOME/bin:$SPARK_HOME/sbin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH

———————————————————————————————————————

配置hadoop-env.sh

sudo gedit /home/yuqiao/hadoop-2.7.1/etc/hadoop/hadoop-env.sh

加上两句:

export JAVA_HOME=/home/yuqiao/jdk1.8.0_45  #和profile里的javahome一致

export HADOOP_PREFIX=/home/yuqiao/hadoop-2.7.1

一个例子

例子:一个计数的例子

使用hadoop自带的hadoop-mapreduce-examples-2.6.0.jar

对某目录下的文档进行单词数的统计

执行命令

$ cd /home/yuqiao/ hadoop-2.7.1  

$ mkdir input

$ cp etc/hadoop/*.xml input

$hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar grep input /home/yuqiao/output  '\bs\w+\b'

$ cat output/*

以上操作主要功能是在Hadoop安装的目录下创建文件夹input,然后将 etc/hadoop/目录下的xml 文件拷贝到文件夹input下,通过执行hadoop命令调用java编写的jar程序share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar 将input目录下的所有xml文件内包含dfs的内容写入到output目录下,使用cat命令来查看。

集群配置

查看每台电脑的IP情况

ifconfig 命令

master截图:

slave1截图:

注意inet 地址

开头的ens33

百度ip,查看外网的静态ip:

每台机子都修改hostname

sudo   gedit   /etc/hostname

内容分别为master和slave1

每台机子都改hosts

sudo  gedit  /etc/hosts

内容入下:

———————————————————————————————————————

127.0.0.1 localhost

192.168.159.128  master    # master的inet地址

192.168.159.130  slave1     #slave1的inet地址

# The following lines are desirable for IPv6 capable hosts

::1     ip6-localhost ip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

——————————————————————————————————————

master截图:

每台机子都改interfaces

$sudo  gedit   /etc/network/interfaces

内容如下

——————————————————————————————————————

# interfaces(5) file used by ifup(8) and ifdown(8)

auto lo

iface lo inet loopback

auto ens33              #这是ifconfig里的第一行

iface ens33 inet static

address 192.168.159.128   #master的inet地址,从ifconfig 里看到

netmask 255.255.255.0    #master的掩码,从ifconfig 里看到

network 192.168.159.0   

boardcast 192.168.159.255     #master的广播,从ifconfig 里看到

gateway 192.168.159.2

dns-nameservers 8.8.8.8 8.8.4.4 115.156.143.108  #最后的115....108是百度ip地址得到的

——————————————————————————————————————

master截图:

检验成果

在多台虚拟机同时运行的情况下:

ping master

ping slave1

配置shh免密码登录

配置ssh免密码登录是让各节点能自动通过安全认证,不影响正常通讯。

安装shh

执行命令

$sudo  apt-get  install  ssh

$sudo  apt-get  update

确认sshserver是否启动了:

$ ps -e | grep ssh

猜你喜欢

转载自www.cnblogs.com/YuQiao0303/p/9226950.html