有三台Ubuntu虚拟机虚拟机(可克隆实现)
提示:在搭建之前先创建快照
以下安装均在普通用户(即:非root用户)下进行,例如:用户名为hadoop的普通用户
$ sudo apt-get install openssh-server
重启SSH服务
$ sudo /etc/init.d/ssh restartxshell连接虚拟机
查看ip地址
ifconfig
打开xshell
连接成功
三台虚拟机都连接
$ sudo vim /etc/hostname
将原有内容删除,添加如下内容,修改成新的主机名,例如:node_master,
node_master
保存退出。
重启Ubuntu,让新的主机名称生效
$ sudo reboot映射ip与主机名
对三台虚拟机依次修改/etc/hosts文件
$ sudo vim /etc/hosts
把第二行127.0.1.1换成Ubuntu的IP地址,例如:
192.168.198.128 nodeMster 192.168.198.120 node2 192.168.198.129 node3
三台都需要修改
安装JDKHadoop是运行在jdk之上的软件,所以要先安装JDK
安装步骤参考:Ubuntu16.04下安装JDK1.8
设置免密码登录Hadoop集群中各类节点的机器要进行通信,例如NameNode要与DataNode进行通信,如果每次都需要输入密码,非常繁琐,且不现实,所以需要设置免密登录。这里使用SSH技术来实现免密登录。
1.生成秘钥对
$ ssh-keygen -t rsa
2.连续敲击三次回车键后的输出内容
Generating public/private rsa key pair. Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/hadoop/.ssh/id_rsa. Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub. The key fingerprint is: SHA256:+RqoRjhFaKq93po0BJ7nc10iMPNWLwF4PEV7+zhgDrg hadoop@node1 The key's randomart image is: +---[RSA 2048]----+ | .o.oo | | o..+. . | |.o =. .+ . | |o.. B . +.. | |.+.= = =S+ | |..* + *.=.o | | oE ..o.o.. | | ..++. o. | | .+oo . | +----[SHA256]-----+
运行以上命令后,连续敲击三次回车键,将会在~/.ssh中生成公钥(id_rsa.pub)和私钥(id_rsa)
$ ls ~/.ssh
id_rsa id_rsa.pub
3.追加公钥
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
4.验证免密登录
5.通过localhost验证
$ ssh localhost
$ exit
2.通过ip地址验证
$ ssh ip地址
#例如:
$ ssh 192.168..128
$ exit
3.通过主机名称验证
$ ssh 主机名称
#例如:
$ ssh nodeMaster
$ exit
注意:
a. 建议在~目录以外的目录(例如 /soft)执行ssh验证,执行前后路径的变化,执行前的路径为/soft,执行后路径为~
b. 第一次执行ssh时需要输入密码注册knows_hosts,之后再次执行ssh命令时就不再需要密码了
c. 通过exit命令退出登录,返回免密登录前的位置
搭建hadoop真分布 一、下载hadoop网址:https://archive.apache.org/dist/hadoop/core/hadoop-2.7.3/
二、文件上传Ubuntu将下载好的hadoop传到ubantu自己账号的根目录下(我用的是Xftp,传输文件需要root账号登陆!如果遇到root无法登陆请自行百度(我踩过的坑))
注意:配置环境要在自己的账号下,我在root账户下配置不成功(jdk也一样)
三、解压1、防止错误先:
cd ~ cd soft
2、查看
ls
3、解压并创建快捷方式 输入:
tar -zxvf hadoop-2.7.3.tar.gz
4、创建软连接
ln -s hadoop-2.7.3 hadoop
查看
ls四、配置 hadoop 环境变量
1、没有vim的用vi或者gedit都行,能编辑文件就行
sudo vim ~/.bashrc
2、在末尾配置如下:
export HADOOP_HOME=~/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:
3、保存退出和使修改文件生效 输入:
source ~/.bashrc
4、测试 hadoop 是否安装成功 输入:
hadoop version
安装成功
五、接下来要开始配置 hadoop 工作文件切换到配置文件目录
cd ~/soft/hadoop/etc/hadoop/
ls1、修改hadoop-env.sh文件
1、修改 hadoop-env.sh 文件
sudo vim hadoop-env.sh
2、找到 JAVA_HOME, 修改为:
export JAVA_HOME=/home/hadoop/soft/jdk
此目的为了找到你的jdk,后面为jdk路径
2、修改 core-site.xml 文件2.1、先查看主机名命令:
hostname
2.2、输入:
sudo vim core-site.xml
2.3、在里面添加一下配置
3、修改 hdfs-site.xml 配置fs.defaultFS hdfs://nodeMster:8020 hadoop.tmp.dir /home/hadoop/soft/hadoop/tmp
3.1、输入
sudo vim hdfs-site.xml
3.2、在里面添加以下配置
4、配置 mapred-site.xmldfs.replication 2
4.1、先复制文件输入:
cp mapred-site.xml.template mapred-site.xml
再输入:
sudo vim mapred-site.xml
4.2、在里面添加以下配置
5、配置 yarn-site.xml mapreduce.framework.name yarn 5.1、输入:
sudo vim yarn-site.xml5.2、在里面添加以下配
6、配置slaveyarn.resourcemanager.hostname nodeMster yarn.nodemanager.aux-services mapreduce_shuffle 输入命令
cd ~/soft/hadoop/etc/hadoop sudo vim slaves将原有内容删除,添加
node2 node3六、分发配置可以直接全部分发,也可以一个一个分发
直接粗暴分发cd ~ scp soft hadoop@node2:~ scp soft hadoop@node3:~分开分发以下分发都是在nodeMster中操作
1、分发hadoop配置1.1 输入命令
cd ~/soft/1.2、如果没有,则在node2和node3中创建出~/soft/hadoop/etc/目录
mkdir -p ~/soft/1.3、进行分发
scp -r hadoop hadoop@node2:~/soft/ scp -r hadoop hadoop@node3:~/soft/2、分发jdk2.1进入jdk所在目录
cd ~/soft2.2、分发jdk
scp -r jdk hadoop@node2:~/soft/ scp -r jdk hadoop@node2:~/soft/node2和node3中有了相应文件
3、分发环境配置
3.1、直接分发
scp -r ~/.bashrc hadoop@node2:~/.bashrc scp -r ~/.bashrc hadoop@node3:~/.bashrc3.2、查看是否成功
在node2和node3中输入下命令查看
java -version七、启动hadoop
ok!1、格式化系统
hdfs namenode -format2、启动
start-all.shjps查看jps查看nodeMster
node2:
node3:
我们可以登陆网页端查看node2和node3
浏览器输入下面网址
http://192.168.80.128:50070/完结!!



