配置ResourceManager ,nodeManager的通信端口,web监控端口等
<configuration> <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.resourcemanager.address</name> <value>0.0.0.0:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>0.0.0.0:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>0.0.0.0:8035</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>0.0.0.0:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>0.0.0.0:8088</value> </property> </configuration>第 ⑤ 步 hadoop添加到环境变量
和 java 环境变量的配置一样,配置环境变量
vim /etc/profile # 底部编辑 export HADOOP_HOME=http://www.likecs.com/usr/local/src/hadoop/hadoop-2.6.1 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$PATH刷新配置文件
source /etc/profile第 ⑥ 步 初始化namenode
初始化 hdfs 格式,相当于格式化文件系统。
会往/usr/local/src/hadoop/hadoop-2.6.1/data写文件
hadoop namenode -format显示格式化成功!
第 ⑦ 步 配置本地ssh 免密登录
如果没有配置本地 ssh 免密登录,则在配置中会一直提示让输入用户密码
yum -y install openssh-server如果本地ssh正常就不用配置了
之后,
ssh-keygen -t rsa一直 enter 下去:
[root@iZ2zebkqy02hia7o7gj8paZ sbin]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:oZgJuXGvxnk5pkkfd3r5CT/+uxq9nJMn2xJWk5pa6so root@iZ2zebkqy02hia7o7gj8paZ The key's randomart image is: +---[RSA 3072]----+ | | | . | | + . . .| | = = . . o.| | . + o S o..| | . o . =o | | * * . o.=..o | | o * +.oo=.+=+.| | o . .Eo+*+OO.| +----[SHA256]-----+之后,
cd ~/.ssh/ cp id_rsa.pub authorized_keys验证一下:
ssh localhost如果不用输入密码就跳转登录了,此时就 ok 了!
第 ⑧ 步 启动 hadoop 集群
启动的组件包括 HDFS 以及 yarn。
先启动 HDFS,再启动 yarn,均在 /usr/local/src/hadoop/hadoop-2.6.1/sbin下
./start-dfs.sh ./start-yarn.sh正常的话,很快就启动了。
启动之后,使用 jps 看一下进程
35072 NodeManager 34498 DataNode 34644 SecondaryNameNode 34788 ResourceManager 34380 NameNode 82205 Jps说明是成功的。
我这边是在服务器上配置的,所以想要访问 hdfs 或者 yarn,需要直接使用 ip 地址就可以访问了。
HDFS的web界面:ip:50070(ip更换为自己的地址)
yarn的web界面:ip:8088(ip更换为自己的地址)
那到现在,一个伪分布式的集群就搭建好了,包括了HDFS、Yarn、MapReduce 等组件。
下面首先使用 hadoop 自带的一个例子实现 WordCount。
系统 WordCount 演示首先,咱们看到系统自带的 WordCount 文件的 jar 包在 /usr/local/src/hadoop/hadoop-2.6.1/share/hadoop/mapreduce 下的 hadoop-mapreduce-examples-2.6.1.jar。
预备需要做的就是创建一个文本文件,然后使用提供的 jar 包进行对文本文件中单词的计数。
首先,创建两个文件,分别填入不同的内容。
在 /usr/local/src/hadoop/hadoop-2.6.1/data/ 下创建了 data1.txt 和 data2.txt。
vim data1.txt vim data2.txtdata1.txt的内容
hadoop flink spark kafka hive hbase flink hadoop spark spark hbase spark hadoopdata2.txt的内容
hadoop flink spark kafka hive hbase flink hadoop spark spark hbase spark hadoop然后,在 HDFS 创建/input 目录,并且把上述两个文件上传
# 创建 input 目录 hadoop dfs -mkdir /input # 上传文件到 input 目录下 hadoop dfs -put data* /input/查看,已经上传成功
hadoop dfs -ls /input