搭建环境
三台机器系统均为ubuntu16.0.4,内存8g,16g,16g.一台做master,另外两台做slave,安装的是jdk1.8.0,hadoop2.7.3,scala2.11.8,spark2.1.0-bin-hadoop2.7
搭建顺序
安装hadoop2.7.3
安装scala2.11.8
安装spark-2.1.0-bin-hadoop2.7
搭建Hadoop2.7.3
参考 Hadoop2.7.3完全分布式集群搭建和测试 这篇博客,亲测可行。
1.修改电脑hostname和hosts文件,将电脑名称在改为hostname文件里修分别改为Master,Slave1,Slave2,并在hosts文件里加入另外两台电脑的信息(IP地址以及电脑名称),如下:
#修改hostname的命令@H_404_27@
sudo@H_404_27@ vim /etc/hostname
#修改hosts的命令@H_404_27@
sudo@H_404_27@ vim /etc/hosts
想修改后的hostname需要重启电脑才能生效,修改后的hosts文件如下所示
2.在三台电脑上分别建立用户,三台电脑用户名设置成相同如hadoop。这里用户权限问题应该设置一下,否则后面配置hadoop时可能会因权限问题出错,简单起见的话可以赋予用户root权限
sudo@H_404_27@ add user hadoop
3.配置ssh
#安装ssh@H_404_27@
sudo apt-get install openssh-server
#产生key,生成的key保存在~/.ssh文件夹下@H_404_27@
ssh-genkey
#在Master@H_404_27@上,导入authorized_keys
cat ~/.ssh/id@H_404_27@_rsa.pub >> ~/.ssh/authorized@H_404_27@_keys
#远程无密码登录(把Master上的authorized_keys拷贝到其他主机的相应目录下)@H_404_27@
scp ~/.ssh/authorized@H_404_27@_keys hadoop@Slave1@H_404_27@:~/@H_404_27@.ssh/
scp ~/.ssh/authorized@H_404_27@_keys hadoop@Slave2@H_404_27@:~/@H_404_27@.ssh/
#测试一下三台主机彼此之间是否可以连通@H_404_27@
ssh Master@H_404_27@
ssh Slave1@H_404_27@
ssh Slave2@H_404_27@
#如果想在ssh连接时不使用主机名称而是想使用自己设置的名称可以编辑.ssh文件夹下的config文件@H_404_27@
配置好ssh之后,下面大部分操作只需在Master主机上配置,然后通过scp将配置好的文件传给Slave即可
4.安装jdk,这里不多说了。Master上安装之后scp给Slave,并且最好在三台主机上将jdk安装在相同的目录下方便后面的配置。
5.安装hadoop
(1).解压到相应位置
(2).在hadoop目录下新建如下目录
sudo mkdir ./dfs
sudo mkdir ./dfs/name
sudo mkdir ./dfs/data
sudo mkdir ./tmp
(3).配置文件,文件位置在HADOOP_HOME/etc/hadooop下面,这里待填具体配置内容
hadoop-env.sh,yarn-env.sh,slaves,core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml(4).将Master主机上配置好的文件传给Slave
scp -r /opt/hadoop2.7.3 hadoop@Slave1:/opt/
(5). 配置环境变量,编辑/etc/profile
sudo gedit /etc/profile
export@H_404_27@ HADOOP_HOME=/opt/Hadoop/hadoop-2.7@H_404_27@.3@H_404_27@
export@H_404_27@ PATH=$PATH@H_404_27@:$HADOOP_HOME@H_404_27@/sbin
export@H_404_27@ PATH=$PATH@H_404_27@:$HADOOP_HOME@H_404_27@/bin
source@H_404_27@ /etc/profile
(6). 测试启动/停止hadoop
hdfs namenode -format
start-hdfs.sh
start-yarn.sh
终端输入jps查看是否启动成功
stop-hdfs.sh
stop-yarn.sh
如果出现datanode启动不成功的问题,有可能是多次format的原因导致/dfs/data和/dfs/name里面id不一样,具体可搜索解决方法。
安装scala2.11.8
参考 Spark-2.0.1 安装 及 WordCount (详细图文)这篇博客
scala安装相对简单,解压到相应位置,scp到其他机器,再配置一下/etc/profile文件即可
安装spark
参考 Spark-2.0.1 安装 及 WordCount (详细图文)这篇博客 关于Hadoop配置里的slaves文件和Spark配置里的slaves文件暂时还没有搞清楚