1.首先需要配置jdk环境,如没有配置请查看之前的教程
jdk环境配置点击直达
本文使用的是hadoop-2.6.0-cdh5.14.2.tar.gz
2.首先上传压缩包到/opt文件夹,并输入以下命令解压
tar -zxvf hadoop-2.6.0-cdh5.14.2.tar.gz
然后将解压的文件夹改名
mv hadoop-2.6.0-cdh5.14.2/ hadoop
3.配置环境变量
vi /etc/profile
这里需要注意自己的解压文件夹目录,如果不一样需要适当的修改目录
我是将所要文件都解压到/opt文件夹下面的
插入
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_INSTALL=$HADOOP_HOME
修改
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
最终效果
也可以将之前的环境变量删除粘贴下面的命令,来达到偷懒的效果
export JAVA_HOME=/opt/jdk1.8.0_221
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_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_INSTALL=$HADOOP_HOME
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
输入命令使环境变量生效
source /etc/profile
4.设置主机名称和主机列表
设置主机名为hadoop002
hostnamectl set-hostname hadoop002
vi /etc/hosts
5.添加系统互信
cd ~
ssh-keygen
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
ssh-copy-id -i .ssh/id_rsa.pub -p22 用户名@主机名
第4和5步主要是为集群做准备
6.配置hadoop文件
进入目录
cd /opt/hadoop/etc/hadoop
6.1配置core-site.xml
插入(注意修改ip地址为linux的ip)
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.83.101:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<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>
6.2配置hdfs-site.xml
插入(注意修改IP地址)
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>192.168.83.102:50090</value>
</property>
6.3配置mapred-site.xml
首先修改文件名称
mv mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
插入(注意修改IP地址)
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.83.102:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.83.102:19888</value>
</property>
6.4配置yarn-site.xml
vi yarn-site.xml
插入(注意修改主机名)
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop002</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-aggregation.retain-seconds</name>
<value>604800</value>
</property>
6.5配置slaves
vi ./slaves
修改为主机名
6.6配置hadoop-env.sh
这里改为jdk包的具体路径
7.格式化HDFS
hadoop namenode -format
8.启动hadoop
start-all.sh
访问http://192.168.83.102:50070/ 测试
注9.
如果修改配置文件需要经过以下步骤
- 删除tmp文件夹
- 删除logs文件夹
- 重新格式化 hdsf namenode -format
- 关闭 stop-all.sh
- 开启 start-all.sh
附10.配置yarn历史查询功能
1.上传hadoop-native-64-2.6.0.tar 到opt文件夹
2.解包hadoop-native-64-2.6.0.tar
tar -xvf hadoop-native-64-2.6.0.tar -C /opt/hadoop/lib/native
3.复制文件
cd ./hadoop/lib/native/
cp * ../
4.输入
mr-jobhistory-daemon.sh start historyserver
5.访问http://192.168.83.102:19888/jobhistory
11.官方WordCount案例
字符统计为非常常用的实例,主要用来统计数量
创建test文件夹
hadoop fs -mkdir /test
上传文件到test
hadoop fs -put README.txt /test
执行wordcount命令
hadoop jar ./share/hadoop/mapreduce2/hadoop-mapreduce-examples-2.6.0-cdh5.14.2.jar wordcount /test/README.txt /output
查看结果
hadoop fs -cat /output/part-r-00000