hadoop安装的三种形式:java
安装前的准备:
一个纯净版的centos7 虚拟机,配置好静态ip,主机名,主机映射node
配置静态ip:vi /etc/sysconfig/network-scripts/ifcfg-ens33
配置完成后从新启动network:systemctl restart network
修改主机名:vi /etc/hostname
使主机名当即生效(若是不行能够重启虚拟机):hostnamectl
配置主机映射: vi /etc/hosts
在家目录下建立software文件夹,用于放软件压缩包。
中止防火墙,而且设置防火墙开机禁止启动web
systemctl stop firewalld ---关闭防火墙 systemctl disable firewalld ---禁止防火墙开机启动
生成秘钥:ssh-keygen -t rsa -P ""
将秘钥变成公钥:cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
apache
安装前软件要求:
安装好jdk,我这里选择的是jdk1.8版本。安装好jdk,配置好JDK环境变量。centos
解压配置hadoop安装包bash
tar -zxvf hadoop-2.6.0-cdh5.14.2.tar.gz -C /opt
mv hadoop-2.6.0-cdh5.14.2/ hadoop
tar -xvf hadoop-native-64-2.6.0.tar -C /opt/hadoop/lib ---解压到hadoop中的lib文件夹中 tar -xvf hadoop-native-64-2.6.0.tar -C /opt/hadoop/lib/native ---解压到hadoop中的lib中的native文件夹中
配置hadoop的配置文件app
cd /opt/hadoop/etc/hadoop
vi hadoop-env.sh
# The java implementation to use. <--在查看状态下输入25gg找到相应位置--> export JAVA_HOME=/opt/jdk_1.8.0_221
vi core-site.xml
<configuration> <!-- 默认节点(本身主机的ip)端口,端口默认为9000 --> <property> <name>fs.defaultFS</name> <value>hdfs://192.168.222.101:9000</value> </property> <!-- hdfs的临时文件的目录,临时目录这里取得是hdfsTmp,名字能够本身去,记住就好 --> <property> <name>hadoop.tmp.dir</name> <value>/opt/hadoop/hdfsTmp</value> </property> <!-- 其余机器的root用户可访问 --> <property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> <!-- 其余root组下的用户均可以访问 --> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property> </configuration>
vi hdfs-site.xml
<configuration> <!-- 设置数据块应该被复制的份数(和集群机器数量相等,因为只建立了一台虚拟机,因此这里是1) --> <property> <name>dfs.replication</name> <value>1</value> </property> <!-- 用来帮助NameNode将内存中的元数据信息checkpoint到硬盘上 --> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop101:50090</value> </property> </configuration>
cp mapred-site.xml.template mapred-site.xml
<configuration> <!-- mapreduce的工做模式:yarn --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <!-- mapreduce的工做地址,若是配集群能够改为别的ip地址,在别的机器上工做 --> <property> <name>mapreduce.jobhistory.address</name> <value>192.168.56.101:10020</value> </property> <!-- web页面访问历史服务端口的配置 --> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>192.168.56.101:19888</value> </property> </configuration>
vi yarn-site.xml
<configuration> <!-- reducer获取数据方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <!-- 指定YARN的ResourceManager的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop101</value> </property> <!-- 日志汇集功能使用 --> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <!-- 日志保留时间设置7天 --> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property> </configuration>
vi slaves
配置环境变量vi /etc/profile
按shift+g跳到最后一行,按o在下一行写入ssh
export HADOOP_HOME=/opt/hadoop export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib" export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
保存退出以后,别忘记source /etc/profile
验证是否成功hadoop version
webapp
格式化HDFS:hadoop namenode -format
分布式
启动hadoop:start-all.sh
启动历史服务:mr-jobhistory-daemon.sh start historyserver
启动成功后输入:jps
出现上图所示,表示hadoop正确安装并启动
访问Hadoop: http://192.168.222.101:50070
访问YARN的管理界面:http://192.168.222.101:8088
访问历史服务:http://192.168.222.101:19888/