- Linux系统
- jdk1.8.0、Hadoop2.7.4安装包
创建文件夹
1 2
| mkdir -p /export/servers /export/data /export/software #包位置、数据位置、安装包位置
|
进入 /export/software 导入jdk、hadoop安装包
解压jdk、hadoop安装包
1
| tar -zxvf 安装包名 -C /export/servers
|
修改jdk、hadoop名字
1 2
| mv jdk-tab jdk mv hadoop-tab hadoop
|
配置jdk、hadoop环境
1 2 3 4 5
| vi /etc/profile #找不到命令解决方法:export PATH=/usr/sbin
export JAVA_HOME=/export/servers/jdk export HADOOP_HOME=/export/servers/hadoop export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
|
记得. /etc/porfile
刷新配置文件
检查java、Hadoop是否配置成功
1 2
| java -version hadoop version
|
永久关闭防火墙或者放行端口
永久关闭防火墙
1 2
| systemctl stop firewalld systemctl disable firewalld
|
放行端口
1 2 3 4
| firewall-cmd --zone=public --add-port=50070/tcp --permanent #放行50070端口 firewall-cmd --reload #重新载入 返回 success 代表成功 # 查看 返回 yes 代表开启成功 firewall-cmd --zone=public --query-port=50070/tcp
|
配置hosts文件
ssh免密协议
1 2 3
| ssh-keygen -t rsa #不记得可用ssh-keygen --help 回车4次 ssh-copy-id ip地址或主机名 #输入主机密码 ssh ip地址或主机名 #查看是否免密进入成功
|
配置Hadoop的5个文件
localhost 是主机名 可以修改,注意前面和后面不能修改
1
| cd /export/servers/hadoop/etc/hadoop/ #进入目录
|
①vi hadoop-env.sh
1 2
| # 找到JAVA_HOME并且配置你的路径 JAVA_HOME=/export/servers/jdk #配置java路径
|
②vi core-site.xml
1 2 3 4 5 6 7 8 9 10 11 12
| <configuration> <!--指定Hadoop所使用的文件系统,HDFS的NameNode地址--> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> <!--指定Hadoop运行时产生临时文件的存储目录--> <property> <name>hadoop.tmp.dir</name> <value>/export/servers/hadoop/tmp</value> </property> </configuration>
|
③vi hdfs-site.xml
1 这里的主机是1台主机,搭建高可用的hadoop请看其他教程
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <configuration> <!--指定HDFS副本的数量--> <property> <name>dfs.replication</name> <value>1</value> </property> <!--Secondary namenode所在主机的IP和端口--> <property> <name>dfs.namenode.secondary.http-address</name> <value>localhost:50090</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/export/servers/hadoop/dir</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/export/servers/hadoop/data</value> </property> </configuration>
|
④cp mapred-site.xml.template mapred-site.xml
先复制再编辑
vi mapred-site.xml
1 2 3 4 5 6 7
| <configuration> <!--指定MapReduce运行时的框架,在Yarn上运行--> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
|
⑤vi yarn-site.xml
1 2 3 4 5 6 7 8 9 10 11 12 13
| <configuration> <!-- Site specific YARN configuration properties --> <!--指定Yarn的ResourceManager的地址--> <property> <name>yarn.resourcemanager.hostname</name> <value>localhost</value> </property> <!--Reducer获取数据的方式--> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
|
格式化Hadoop
cd /export/servers/hadoop/bin
要到Hadoop的bin目录下格式化
启动Hadoop服务
1 2
| start-all.sh #开启 stop-all.sh #关闭
|
jps
查看有以下程序
①DataNode hdfs-site.xml
②NameNode hdfs-site.xml core-site.xml
③SecondaryNameNode hdfs-site.xml
④ResourceManager yarn-site.xml
⑤NodeManager yarn-site.xml
⑥Jps
访问HDFS UI
浏览器
IP:50070
遇到的问题
hadoop上传文件 没有到主机的路由
①检查防火墙有没有关闭
②ping服务看看有么有问题
③关闭SELinux
1 2 3 4 5 6 7
| 修改配置文件需要重启机器:
修改/etc/selinux/config文件
将SELINUX=enforcing改为SELINUX=disabled
重启虚拟机
|
无法访问50070 web网页
①检查配置文件,检查五个服务是否正常启动
②检查防火墙或者安全组有没有放行50070端口
1 2 3
| netstat -lntu # 检查防火墙有没有关闭 systemctl distable firewalld
|
③在hdfs-site.xml
1 2 3 4
| <property> <name>dfs.http.address</name> <value>0.0.0.0:50070</value> </property>
|