赞
踩
在上一篇博客中已经准备好linux环境,看本篇博客之前请看楼主上一篇大数据简介博客,准备系统环境
下载以下jar包,传入linux服务器的opt目录下
hadoop-2.7.2-src.tar.gz ,apache-maven-3.6.0-bin.tar.gz,apache-ant-1.9.15-bin.tar.gz,protobuf-2.5.0.tar.gz
# 1. 解压maven包
tar -zxvf apache-maven-3.6.0-bin.tar.gz
# 2. 修改profile文件
vim /etc/profile
# 3. 添加以下配置
export MAVEN_HOME=/opt/apache-maven-3.6.0
export PATH=$PATH:$MAVEN_HOME/bin
# 4. 文件生效
source /etc/profile
# 5. 验证
mvn -version
# 1. 解压ant包
tar -zxvf apache-ant-1.9.15-bin.tar.gz
# 2. 修改profile文件
vim /etc/profile
# 3. 添加以下配置
export ANT_HOME=/opt/apache-ant-1.9.15
export PATH=$PATH:$ANT_HOME/bin
# 4. 文件生效
source /etc/profile
# 5. 验证
ant -version
yum install -y glibc-headers
yum install -y gcc-c++
yum install -y make
yum install -y cmake
# 1. 解压protobuf包 tar -zxvf protobuf-2.5.0.tar.gz # 2. 进入目录 cd protobuf-2.5.0 # 3. 编译 ./configure make make check make install ldconfig # 4. 修改profile文件 vim /etc/profile # 5. 添加以下配置 export PROTOBUF_PATH=/opt/protobuf-2.5.0 export PATH=$PATH:$PROTOBUF_PATH # 6. 文件生效 source /etc/profile # 5. 验证 protoc --version
yum install -y openssl-devel
yum install -y ncurses-devel
# 1. 回到opt目录 cd /opt # 2. 解压hadoop tar -zxvf hadoop-2.7.2-src.tar.gz # 3. 进入hadoop目录 cd hadoop-2.7.2-src # 4. 编译打包源码 mvn package -Pdist,native -DskipTests -Dtar 或者 mvn clean package -Pdist,native -DskipTests -Dtar # 5. 复制编译报到opt目录下 cp hadoop-2.7.2.tar.gz /opt/ # 6. 解压 tar -zxvf hadoop-2.7.2.tar.gz # 7. 修改profile文件 vim /etc/profile # 8. 添加以下配置 export HADOOP_HOME=/opt/module/hadoop-2.7.2 export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin # 9. 配置生效 source /etc/profile
vim etc/hadoop/core-site.xml
添加以下配置
<configuration> <!--指定HDFS中NameNode的地址--> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> <!--指定hadoop运行产生文件(DataNode)的存储目录--> <property> <name>hadoop.tmp.dir</name> <value>/opt/module/hadoop-2.7.2/data/tmp</value> </property> </configuration>
vim etc/hadoop/hdfs-site.xml
添加以下配置
<!--指定HDFS副本数量,这里只设置了一个节点(hadoop01)副本数量为1-->
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
第一次启动时格式化,以后就不要格式化了,如果之后再格式化则namenode为新生成的,就找不到DataNode
bin/hdfs namenode -format
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
jps
访问 http://192.168.1.100:50070查看是否启动成功
安装完单机版hadoop之后,我们做一个词频统计,在一个文本中查看每个字母出现的次数
bin/hdfs dfs -mkdir -p /user/root/input
文件夹创建成功
创建一个wc.txt文件,在文件里写入任务英文字母
上传文件资源
bin/hdfs dfs -put wc.txt /user/root/input
查看是否上传成功
这个是在单机版下本地版运行,并没有提交到yarn上。
hadoop会给我们提供一些mapreduce程序,我们由于没写mapreduce程序,可以用hadoop的示例来进行演示
执行命令
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/root/input /user/root/output
参数讲解
share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar :mapreduce程序
wordcount : 词频统计
/user/root/input : 测试文件目录
/user/root/output : 结果输入目录,输出目录必须是一个不存在的文件夹
点击下载查看次词频统计结果cd
# 删除文件
hadoop dfs -rm -f /user/root/input/wc.txt
# 递归删除全部
hadoop dfs -rm -r /user/root/output
hadoop fs -lsr /
要先停止datanode再停止namenode
sbin/hadoop-daemon.sh stop datanode
sbin/hadoop-daemon.sh stop namenode
cd /etc/hadoop/
vim yarn-env.sh
添加以下配置
vim yarn-site.xml
添加以下内容
<!--reducer获取数据的方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--指定yarn的resourcemanager地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop1.com</value>
</property>
mapred-site.xml.template模板文件重命名mapred-site.xml
mv mapred-site.xml.template mapred-site.xml
修改mapred-site.xml
vim mapred-site.xml
添加以下配置
<!--运行MapReduce作业的运行时框架-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
启动时先启动namenode再启动datanode
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
web浏览器中查看 : http://192.168.1.100:8088
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/root/input /user/root/output
运行成功
MapReduce 的 JobHistory Server,这是一个独立的服务,可通过 web UI 展示历史作业日志,之所以将其独立出来,是为了减轻 ResourceManager 负担。JobHistory Server 将会分析作业 运行日志,并展示作业的启动时间、结束时间、各个任务的运行时间,各种Counter数据等,并产生一个指向作业和任务日志的链接,其默认端口号为 19888。通常可以启动在一台独立的机器上。
sbin/hadoop-daemon.sh stop datanode
sbin/hadoop-daemon.sh stop namenode
sbin/yarn-daemon.sh stop nodemanager
sbin/yarn-daemon.sh stop resourcemanager
在mapred-site.xml文件中添加以下配置
<!--配置历史服务器的地址及端口-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop1.com:10020</value>
</property>
<!--配置历史服务器的web界面地址与端口-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop1.com:19888</value>
</property>
在yarn-site.xml文件中添加以下配置
<!--日志聚集功能使能-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!--日志保留时间设置7天-->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
sbin/hadoop-daemon.sh start datanode
sbin/hadoop-daemon.sh start namenode
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
mr-jobhistory-daemon.sh start historyserver
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/root/input /user/root/output
访问http://192.168.1.100:19888/jobhistory 查看日志
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。