在一切开始之前给用户建议设置一下权限,减少后面权限引发的问题
visudo
找到 root ALL=(ALL) ALL
在这一行下添加一条 比如 : hadoop ALL=(ALL)ALL
保存之后,注销一下用户,再登录回来。
1.虚拟机CentOS设置静态ip
主要有三点:
1.设置成NAT模式
通过 虚拟网络编辑器 NAT模式 NAT设置,看一下网关号,比如192.168.21.2
子网IP设置一下192.168.21.0
前两位和自己本机一样就行。
2.修改配置文件
vim /etc/sysconfig/network-scripts/ifcfg-eno***
在里面修改:
BOOTPROTO=staticONBOOT=yes IPADDR=192.168.21.xx #(xx自己定义)GATEWAY=192.168.21.2 #(网关号和之前的网关相同)DNS1=192.168.21.2 #(DNS1和网关相同)然后修改配置文件 /etc/resolv.conf nameserver 192.168.21.2 (和网关相同)
最后执行
service network restart
试试可不可以ping通外网,再试试外面可不可以ping进来
2.配Java环境
java -version
发现有jdk环境,建议删掉
rpm -qa | grep java
搜到了很多
用 指令把他们删除掉
rpm -e --nodeps 后面加上你要删除的
再执行
java -version
发现没有环境了,就可以配置自己下载的jdk了。将tar包复制到某目录下 例如: /opt/soft/
执行 tar -zxvf 安装包名
进行解压
建议改文件夹的名,因为带着版本号不好写环境变量 弄好了之后就是 /opt/soft/java
执行shell vim /etc/profile
在末尾增加java的环境变量
export JAVA_HOME=/opt/soft/javaexport PATH=${JAVA_HOME}/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
执行 source /etc/profile
使环境变量生效
这里注意一点,每次打开终端都要执行source profile
使我们环境变量生效,所以很烦,建议做以下步骤
执行vim /etc/bashrc
在末尾追加
source /etc/profile
并保存
执行
java -version
java 环境
出现版本号,证明配置成功。
3.Hadoop安装
先去官网下载个hadoop的tar包,bin的就行
然后类似java的安装,我是拷贝到 /opt/soft/ 目录下
然后解压缩
4.Hadoop配置环境变量
执行vim /etc/profile
在末尾增加hadoop的环境变量 例如:
export HADOOP_HOME=/opt/soft/hadoop-3.1.1export HADOOP_INSTALL=$HADOOP_HOMEexport HADOOP_MAPRED_HOME=$HADOOP_HOMEexport HADOOP_COMMON_HOME=$HADOOP_HOMEexport HADOOP_HDFS_HOME=$HADOOP_HOMEexport YARN_HOME=$HADOOP_HOMEexport HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/nativeexport PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin
(注意修改路径)
执行source /etc/profile
执行hadoop version
hadoop 版本
有版本信息提示的效果,证明成功了
5.配SSH
建议先配一下ssh,就可以免密码登录。
分别执行:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
6.Hadoop配置文件
Hadoop的配置文件在 hadoop 根目录下的etc/hadoop/ 目录里
以下文件都在那个目录!!!配置中记得注意自己的hadoop目录!!!!注意修改自己的ip和端口!!!!!
先修改 core-site.xml 文件
<configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/local/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://**你的ip地址**:9000</value> </property></configuration>
再修改**hdfs-site.xml **文件
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>[dfs.namenode.name](http://dfs.namenode.name/).dir</name> <value>file:/usr/local/hadoop/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/data</value> </property></configuration>
配置好之后,执行一下,格式化命令
./bin/hdfs namenode -format
然后执行一下namenode和datanode的守护进程
./sbin/start-dfs.sh
成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错。
查看是否成功可以通过两个方面去看,一个是上面的办法,还有一个是执行 jps 命令
应该出现NameNode、DataNode、SecondaryNameNode ,如果没有则检查配置文件并尝试重新格式化并启动。
执行 jps
查看是否启动守护进程
红色圈出部分
当然如果启动后 localhost:50070 不出现web界面,则通过以下方式检测:
执行 netstat -ant
如 50070 没启动,尝试修改配置文件:
在 mapred-site.xml 文件添加以下:
<property> <name>mapred.job.tracker.http.address</name> <value>主机的IP:50030</value></property><property> <name>mapred.task.tracker.http.address</name> <value>主机的IP:50060</value></property>
在hdfs-site.xml文件添加以下:
<property> <name>dfs.http.address</name> <value>0.0.0.0:50070</value></property>
即可成功打开web界面。
url为 : 虚拟机ip:50070
hadoop的Web UI
最后可以开启YARN
mapred-site.xml 文件添加以下:
<configuration> <property> <name>[mapreduce.framework.name](http://mapreduce.framework.name/)</name> <value>yarn</value> </property></configuration>
yarn-site.xml 文件添加以下:
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property></configuration>
然后执行:
./sbin/start-yarn.sh
即可看到resourcemanager和nodemanagers在启动
执行命令:
./sbin/mr-jobhistory-daemon.sh start historyserver
即可开启历史服务器
ok,执行jps可以看到ResourceManager和NodeManagers
jps查看
启动 YARN 之后,运行实例的方法还是一样的,仅仅是资源管理方式、任务调度不同。观察日志信息可以发现,不启用 YARN 时,是 “mapred.LocalJobRunner” 在跑任务。启用 YARN 之后,“mapred.YARNRunner” 在跑任务。启动 YARN 有个好处是可以通过 Web 界面查看任务的运行情况:
虚拟机ip:8088/cluster
查看任务运行情况web ui
作者:AceCream佳
链接:https://www.jianshu.com/p/bcb2f77d90e8