hadoop2.6.0学习——伪分布式环境搭建
在搭建hadoop环境之前需要先把jdk环境安装完成
没有jdk环境的可以看我的另一篇博客:利用辅助工具MobaXter在Linux centos7上配置jdk环境
然后下载hadoop安装包链接: https://pan.baidu.com/s/10vl0j7xwpYiM2lnGnuOyfA
提取码: t37t
1、先在linux根目录下创建一个专门放安装包的文件夹:
mkdir software
cd /software
将需要的安装包拖入到文件夹里
下面进行解压 tar -zxvf hadoop-2.6.0-cdh5.14.2.tar.gz -C /opt/
我将文件解压到/opt下
之后cd /opt
将文件名称 mv hadoop-2.6.0-cdh5.14.2 hadoop
改成hadoop方便查找
2、下面修改系统配置文件vi /etc/profile
添加环境变量 其中也包括了jdk的环境变量 根据个人情况来添加 保存退出
需要提醒的是export PATH=… 需要放到最后面配置,否则每次开机都要source /etc/profile
export JAVA_HOME=/opt/java8
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
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_INSTALL=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
使环境变量生效 source /etc/profile
输入 hadoop version
出现下图提示即表示hadoop环境变量配置完成
3、下面进行配置伪分布式环境搭建的相关文件修改(hadoop-env.sh core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml )
cd /opt/hadoop/etc/hadoop
ll
将 mapred-site.xml.template mapred-site.xml 改名成 mapred-site.xml mv mapred-site.xml.template mapred-site.xml
下面我们按顺序来修改下图所标注的文件
修改添加 vi hadoop-env.sh
找到JAVA_HOME注释并 添加如下 java8 是因为我的 jdk解压之后 改名成了java8
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/opt/java8
保存退出,修改添加 vi core-site.xml
添加如下,其中 192.168.116.50 是自己虚拟机的IP地址
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.116.50:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.native.lib</name>
<value>false</value>
<description>Should native hadoop libraries, if present, be used.
</description>
</property>
</configuration>
保存退出,修改添加 vi hdfs-site.xml
<configuration>
<property>
<name>dfs.relication</name>
<value>1</value>
</property>
</configuration>
保存退出,修改添加 vi mared-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop001:10020</value>
</property>
<!-- 历史服务网页端口配置 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop001:19888</value>
</property>
</configuration>
保存退出,修改添加 vi yarn-site.xml
,其中192.168.116.50是自己虚拟机的IP地址
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>192.168.116.50</value>
</property>
<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>
<!-- 日志聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间设置7天 -->
<property>
<name>yarn.log-aggretion.retain-seconds</name>
<value>604800</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>4096</value>
</property>
</configuration>
保存退出
4、生成密钥 与自己建立互信 ssh-keygen
一直回车直到出现密钥
将密钥覆盖到自己的公钥上 cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
或者ssh-copy-id 127.0.0.1
检测是否能连接上自己 ssh hadoop001
出现下图即成功连接
连接成功之后输入 exit 退出
5、Hadoop启动
第一次启动hadoop之前需要格式化namenode节点,命令为 hadoop namenode -format
两种方式启动方式,可按需选择,全部启动还是,只启动相应功能
(1)全部启动 :start-all.sh
(2)分开启动:单独启动hdfs start-hdfs.sh
;单独启动yarn start-yarn.sh
jps 查看是否启动成功。
start-hdfs.sh
会启动文件系统的 namenode datanode
start-yarn.sh
会启动资源调度 ResourceManager NodeManager
停止也有2种方式:
(1)停止全部 stop-all.sh
(2)分开停止:1、停止hdfs stop-hdfs.sh
;2、停止yarn stop-yarn.sh
我采用的是:start-all.sh
输入jps
查看,如图所示即为成功启动
6、下面进行相关命令的测试
创建文件夹hadoop fs -mkdir /test
打开谷歌浏览器输入 http://192.168.116.50:50070/ 自己的IP地址后面跟端口号50070
能够看到test文件夹出现了
上传文件README.txt 到test文件夹 hadoop fs -put /opt/hadoop/README.txt /test
通过浏览器能够看到上传成功
最后利用hadoop 自带jar包测试一下 hadoop jar share/hadoop/mapreduce2/hadoop-mapreduce-examples-2.6.0-cdh5.14.2.jar wordcount /test/README.txt /output
出现如图所示即为测试成功
输入mr-jobhistory-daemon.sh start historyserver
查看工作历史页面
7、这样我们的hadoop伪分布式环境就搭建好了!