下载解压的目录在home/opt/hadoop/latest/下面这样方便管理也方便做版本控制
mkdir -p /home/opt/hadoop/latest/
tar -zxvf hadoop-xxx.tar.gz -C /home/opt/hadoop/latest/
先运行 Java -version
看一下是不是1.8系列的,是就vans了,没什么好说的,这个版本的java我最喜欢
如果没有Java则需要重新装java了哈。
因为hadoop为分布式框架,涉及多节点协调工作,配置这个更为方便,不配置的话,就算单节点运行也会让你总是输入密码,不配麻烦点也能跑
$ ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
实验一下,ssh yourhost 看是否不需要输入密码,如果成功免密配置成功,失败的话可以找找教程看看有啥解决方法。
ps:解压hadoop之后则需要进行环境变量的配置
hadoop 就像一个独立的文件系统,目录设置的很科学,配置文件都落在etc/hadoop里面
首先这个系统是Java 编写的,所以运行环境基于JVM,理所应当需要同系统JAVA环境进行绑定 vim conf/hadoop-env.sh文件
添加export JAVA_HOME=jdk的路径
如果不记得可以$echo JAVA_HOME 得到以上jdk的路径
cat /etc/hosts
看一下系统的hosts 文件是否有域名同ip的映射,也就是说以下localhost可以是任何有意义的字串,只要hosts有字串同ip的映射
另外则是对hadoop/tmp的配置
LINUX 系统,在服务重启后,如果不对hadoop的tmp进行配置,默认的tmp是存在一个重启后会被清空的目录hadoop.tmp.dir 是 hadoop文件系统依赖的基本配置,很多配置路径都依赖它,它的默认位置在/tmp/{$user}下面。
所以建议在core-site.xml中配置 hadoop.tmp.dir 路径到持久化目录,可以配置到一个不需要重启后重新挂载的目录,因为不会有很大的数据落在这上面所以建议可以设为/home/opt/hadoop/latest/hadoopxx/tmp。
fs.default.name
hdfs://localhost:9000
//指定tmp目录的位置 tmp目录提前创建好
hadoop.tmp.dir
/home/opt/hadoop/latest/hadoopxx/tmp
dfs.replication
1
mapreduce.framework.name
yarn
既然配置了Yarn就要配全套,配置etc/hadoop/yarn-site.xml参数如下:
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.hostname
[hostname]
分别设置dfs相关目录,在hdfs-site.xml
dfs.namenode.name.dir
file://your_dir/dfs/name
确定DFS名称节点应在本地文件系统的哪个位置存储名称表(fsimage)。
如果这是一个以逗号分隔的目录列表,则名称表将被复制到所有目录中,以实现冗余
dfs.datanode.data.dir
file://your_dir/dfs/data
dfs.namenode.checkpoint.dir
file://your_dir/dfs/namesecondary
1、格式化hadoop的文件系统HDFS(建立文件目录,和清除数据)有一个坑是千万不要再启动之后再格式化,这样后面看到datanode没能启动。
$ bin/hadoop namenode -format
2、运行hadoop
$ sbin/start-all.sh
3、检验是否启动成功
NameNode - http://localhost:50070/
JobTracker - http://localhost:50030/
4、退出hadoop
$ sbin/stop-all.sh
检验单节点是否成功启动hadoop方法一般为运行jps指令看是否有NameNode,DataNode进程存在, http://localhost:50070/ 页面可以访问