hadoop多节点以及mapreduce数词

编程入门 行业动态 更新时间:2024-10-23 16:28:48

hadoop多节点以及mapreduce<a href=https://www.elefans.com/category/jswz/34/1709314.html style=数词"/>

hadoop多节点以及mapreduce数词

文章目录

  • Single-Node Hadoop
  • Configure Hadoop Cluster and Run Mapreduce Job
  • Wordcount 小文件

Single-Node Hadoop

  1. 准备工作
    在阿里云服务器上面购买云服务器,购买配置可为2vCPU,2GB内存,40GB的硬盘。
  2. 修改主机名称以及添加host
1). vim /etc/hosts# append(云服务器的私网地址) master master
2). vim /etc/hostname#modifymaster
3)	reboot
  1. 安装Java和设置ssh
    远程连接云服务器,安装Java:
	sudo apt-get updatesudo apt install openjdk-8-jdkjava –version

当最后一个命令输入完成以后,能看到版本号就代表安装成功。
4. 创建hadoop的使用用户

	sudo addgroup hadoopsudo adduser --ingroup hadoop hduser# 为了方便操作,我们可以把hduser用户赋予sudo用户一样的权限。vim /etc/sudoers/# append the following lines at the filehduser ALL=(ALL:ALL) ALL# 如果需要使用hduser在命令行输入:su hduser
  1. 设置ssh
    1). 安装ssh,其实绝大部分系统都会自带。
    2). 添加ssh key
	sudo apt-get install openssh-serverssh-keygen -t rsa -f id_rsamkdir ~/sshmv id_rsa* ~/ssh/cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keyschmod 600 ~/.ssh/authorized_keysssh localhost

  1. 安装hadoop
	wget .9.2/hadoop-2.9.2.tar.gztar xvzf hadoop-2.9.2.tar.gzcd hadoop-2.9.2/sudo mkdir -p /usr/local/hadoopsudo mv * /usr/local/hadoopsudo chown -R hduser:hadoop /usr/local/hadoop
  1. 配置文件(在hduser用户下操作)
1).	系统环境变量vim ~/.bashrc# append the following lines at the file

	source ~/.bashrc2)	配置Hadoop的环境vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh# modify JAVA_HOME to beexport JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
3)	配置core-site.xmlvim /usr/local/hadoop/etc/hadoop/core-site.xml#Add those lines in the configuration section<property><name>fs.default.name</name><value>hdfs://master:54310</value></property>
# 注意:如果先前在hosts文件里面没有更改或者改错,之后的访问都有会出现错误!
4)	配置hdfs-site.xmlmkdir -p hadoop_tmp/hdfs/namenodemkdir -p hadoop_tmp/hdfs/datanodevim /usr/local/hadoop/etc/hadoop/hdfs-site.xml#Add those lines in the configuration section<property><name>dfs.replication</name><value>1</value></property><property><name>dfs.namenode.name.dir</name><value>file:/home/hduser/hadoop_tmp/hdfs/namenode</value></property><property><name>dfs.datanode.data.dir</name><value>file:/home/hduser/hadoop_tmp/hdfs/datanode</value></property>
# 注意:hadoop_tmp文件就是结点文件,之后如果有namenode ID和datanode ID不同的报错,可以删了hadoop_tmp重新创建,再进行初始化!
5)	配置yarn-site.xmlvim /usr/local/hadoop/etc/hadoop/yarn-site.xml#Add those lines in the configuration section<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>
6)	配置mapred-site.xmlvim /usr/local/hadoop/etc/hadoop/mapred-site.xml#Add those lines in the configuration section<property><name>mapreduce.framework.name</name><value>yarn</value></property>
  1. 初始化namenode并且开启hadoop(在hduser用户下操作)
	hdfs namenode -format start-dfs.shstart-yarn.shmr-jobhistory-daemon.sh start historyserver


  1. 自己电脑查看hadoop相关网页
    1). 配置阿里云服务器上的安全组和关闭防火墙


    2). 访问网页

Configure Hadoop Cluster and Run Mapreduce Job

  1. 准备工作
    1). 在阿里云上面购买三个云服务器,配置和单结点的相同
    2). 单结点用到的机器是集群的主节点master,后面的购买的三个服务器分别是从结点slave1、slave2和slave3。
    3). 修改这三个从结点的homename。
    4). 修改主从结点的hosts,让每个hosts文件都包含集群里面所有结点的私网。(不同结点的私网不同,去云服务器的实例里面查看)。
    5). 安装rsync,这个可以用来传配置文件sudo apt-get install rsync
    6). 为了让上述配置生效,重启reboot
    7). 与主节点一样给每个从节点按装java,ssh,hadoop和创建hduser
  2. 修改master配置文件
  1. core-site.xml不需要改动

  2. 更新hdfs-site.xml

	# modify<property><name>dfs.replication</name><value>3</value></property>
  1. 更新yarn-site.xml
	# append<property><name>yarn.resourcemanager.resource-tracker.address</name><value>master:8025</value></property><property><name>yarn.resourcemanager.scheduler.address</name><value>master:8035</value></property><property><name>yarn.resourcemanager.address</name><value>master:8050</value></property>
  1. 更新mapred-site.xml
	# append<property><name>mapreduce.job.tracker</name><value>master:5431</value></property><property><name>mapred.framework.name</name><value>yarn</value></property>
  1. 更新masters
	vim masters# addmaster
  1. 更新slaves
	vim slaves# addslave1slave2slave3
  1. 传送hadoop的配置文件到所有的slave服务器去
    在slave1下输入下面指令,slave2和slave3同理:
	sudo rsync -avxP /usr/local/hadoop/ hduser@slave1:/usr/local/hadoop/
  1. 在master节点下输入
	sudo rm -rf /usr/local/hadoop_tmp/sudo mkdir -p /usr/local/hadoop_tmp/sudo mkdir -p /usr/local/hadoop_tmp/hdfs/namenodesudo chown hduser:hadoop -R /usr/local/hadoop_tmp/
  1. 在slave节点下输入
	sudo rm -rf /usr/local/hadoop_tmp/hdfs/sudo mkdir -p /usr/local/hadoop_tmp/sudo mkdir -p /usr/local/hadoop_tmp/hdfs/datanodesudo chown hduser:hadoop -R /usr/local/hadoop_tmp/# 注意:每次打算要初始化的时候,请务必先执行4,5操作再初始化。
  1. 在master节点下输入,同理slave2,slave3
	ssh-copy-id -i $HOME/.ssh/id_rsa.pub hduser@slave1
  1. 初始化并且启动
	hdfs namenode -format start-dfs.shstart-yarn.sh


Wordcount 小文件

  1. 下载数据集
	wget '.tar.gz'tar -zxvf Shakespeare.tar.gz
# 注意:如果报错说raw.githubusercontent不能访问,可以在hosts里面添加151.101.76.133  raw.githubusercontent
  1. 上传数据集
	hadoop dfs -copyFromLocal /home/hduser/data /datahadoop dfs -ls /data
  1. 执行数词操作
	cp /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar ./hadoop jar hadoop-mapreduce-examples-2.9.2.jar wordcount /data /result

更多推荐

hadoop多节点以及mapreduce数词

本文发布于:2024-03-04 12:48:47,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1709311.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数词   节点   hadoop   mapreduce

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!