目录
1.环境准备
2.linux中java环境的配置
3.hadoop的安装
3.1关闭防火墙
3.2配置主机名
3.3修改hosts文件
3.4配置免密登录
3.5配置hadoop
3.5.1解压hadoop
3.5.2修改配置文件
3.5.3启动hadoop
3.5.4通过浏览器访问hadoop
hadoop简介:Hadoop是Apache提供的开源的海量数据离线处理框架,是最知名的大数据框架之一。最初来源Google的的三篇论文GFS、MapReduce、BigTable,设计者是Doug Cutting,当初hadoop设计的初衷是为了解决Nutch的海量数据存储和处理的需求,可以解决大数据场景下的数据存储和处理的问题。
话不多说,下面开始上菜
linux系统,我的是阿里云CentOS7.3
jdk,我使用的是jdk-8u65-linux-x64,网盘下载地址:https://pan.baidu.com/s/1m2fnzBTx2Vradd-npOuDzg
hadoop包,我使用的是hadoop2.7,网盘下载地址:https://pan.baidu.com/s/1KyF5aVtf3KJ9EBxp7GFd_w
在linux系统的根目录下创建一个目录software(命令:mkdir /software),将jdk和hadoop上传到这个目录下
解压jdk,tar -zxvf jdk-8u65-linux-x64.tar.gz 然后使用mv命令将解压后的文件重命名为jdk1.8
输入 vim /etc/profile 打开文件
vim /etc/profile
在文件的最下方输入下面两条命令
export JAVA_HOME=/software/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME=/software/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
按esc保存,按shift加冒号,之后输入!wq,保存退出
输入source /etc/profile使修改生效
source /etc/profile
然后输入java -version看有没有jdk版本信息,如果有的话,恭喜你java环境配置成功,如果没有,需要你重新配置一遍了
[root@aliyun01 ~]# java -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
首先上传hadoop到software文件目录下,
阿里云防火墙默认是关闭的,
可以使用firewall-cmd --state 查看防火墙状态,若果没有关闭,使用systemctl stop firewall.service关闭防火墙
为了操作方便,习惯配一下主机名
hostnamectl set-hostname 主机名
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.41.97 aliyun01
上面ip和主机名改成你们自己的主机和ip
生成自己的公钥和私钥
输入ssh-keygen一路回车
[root@aliyun01 ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? yes
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
bb:2a:5f:2b:9f:44:ce:68:ab:ae:cf:4d:c5:e6:81:b5 root@aliyun01
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| . |
| + . |
| . E |
| O o |
| + B |
| ..+.+ + |
| .+=+=+= |
+-----------------+
将公钥拷贝到远程机器,$ ssh-copy-id [user]@[host]
[root@aliyun01 ~]# ssh-copy-id root@aliyun01
The authenticity of host 'aliyun01 (172.16.41.97)' can't be established.
ECDSA key fingerprint is 7a:57:4b:32:d8:ab:2b:c4:95:f4:67:c6:fd:4b:eb:6d.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@aliyun01's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@aliyun01'"
and check to make sure that only the key(s) you wanted were added.
tar -zxvf hadoop-2.7.1_64bit.tar.gz
进入到hadoop的配置文件目录 hadoop2.7.1->etc->hadoop
(1)修改hadoop-env.sh
使用 vim hadoop-env.sh打开文件主要修改java_home的路径
在文件的25行 将export JAVA_HOME=${JAVA_HOME}修改成具体的路径
(2)修改core-site.xml
vim core-site.xml打开文件
配置namenode地址个,文件储存的位置
在configuration标签下添加如下配置
fs.defaultFS
hdfs://aliyun01:9000
hadoop.tmp.dir
/software/hadoop-2.7.1/tmp
注意:别忘了创建存放文件的tmp文件
(3)修改hdfs-site.xml
vim hdfs-site.xml 打开配置文件
因为配的是单机为分布式,所以要把副本数量改为1
添加如下配置
dfs.replication
1
(4)修改mapred-site.xml
复制目录下的mapred-site.xml.template
cp mapred-site.xml.template mapred-site.xml
配置mapreduce运行在yarn上,yarn是一种资源调度框架
vim mapred-site.xml打开文件
mapreduce.framework.name
yarn
(5)修改yarn-site.xml
指定yarn的老大resourcemanager的地址和NodeManager获取数据的方式
vim yarm-site.xml打开配置文件
yarn.resourcemanager.hostname
aliyun01
yarn.nodemanager.aux-services
mapreduce_shuffle
(6)修改slaves
将localhost改成你的主机名
(7)配置hadoop的环境变量
将HADOOP_HMOE=/software/hadoop-2.7.1 PATH=$PATH:$HADOOP_HOME/bin写入profile文件中
vim /etc/profile
export HADOOP_HOME=/software/hadoop-2.7.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
(8)格式化namenode
hdfs namenode -format
如果有输出Storage directory /tmp/hadoop-root/dfs/name has been successfully formatted就成功了
进入到sbin目录下
start-all.sh
如果有问题的话可以试着重启一下linux系统
启动后使用jps命令查看是不是有五个守护线程,分别是NameNode,DataNode,ResourceManager,Application,NodeManager,
SecondaryNameNode
hadoop启动成功后可以通过浏览器访问hadoop
http://[server_ip]:50070访问hadoop
如果访问不了,可能是服务器的50070端口被关闭了,通过sudo firewall-cmd --zone=public --add-port=50070/tcp --permanent打开