首页 > 其他 > 详细

Hadoop完全分布搭建

时间:2021-04-17 20:13:14      阅读:22      评论:0      收藏:0      [点我收藏+]

完全分布式搭建

1.0修改IP

命令:

vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改

BOOTPROTO="static"
IPADDR=IP地址
GATEWAY=网关
DNS1=网关

1.1修改主机名

命令:

vi /etc/hostname //修改为本机名字

1.2主机与ip映射

vi /etc/hosts //ip地址    主机名

1.3克隆虚拟机

1.4修改每个虚拟机的IP和名字并重启

2.0配置ssh免密登录

命令

//先在一台机器上执行生成密钥命令,在用分发密钥命令将密钥分发到主节点和两台从节点,之后再在两个从节点执行生成密钥命令和分发密钥命令

成密钥:ssh-keygen -t rsa  
分发密钥:ssh-copy-id 主机名

2.1配置jdk和hadoop

命令

tar -zxvf jdk包名 -C 指定的路径
tar -zxvf Hadoop包名 -C 指定的路径

2.2配置Java和Hadoop的环境变量

命令

//卸载自带的jdk之后在进行jdk配置
rpm -qa | grep jdk  //查询系统是否自带了jdk
rpm -qa | grep jdk | xargs -n1 rpm -e --nodeps  //卸载自带的jdk



vi /etc/profile.d/my_env.sh
	#JAVA_HOME
	export JAVA_HOME=/opt/module/jdk1.8.0_144
	export PATH=$PATH:$JAVA_HOME/bin
	#HADOOP_HOME
	export HADOOP_HOME=/opt/module/hadoop-2.7.2
	export PATH=$PATH:$HADOOP_HOME/bin
	export PATH=$PATH:$HADOOP_HOME/sbin
	
source /etc/profile  //使配置生效
java -version  //查看jdk配置是否生效
hadoop version  //查看hadoop配置是否生效

2.3分发jdk解压缩包和Hadoop解压缩包到从节点

命令

rsynv -av /usr/local/soft root@slave-01:/usr/local/soft  //没有soft的话会自动创建

2.4配置Hadoop文件

2.4.1修改works和hadoop-env.sh
workers(每台机器都要修改)
修改:
将所有 master ,slaver 节点的主机映射名都填写到该文件中,注意不要有多余的空格
和换行
示例
master-01
slaver-01
slaver-02
----------------------------------------------------------------------------------
hadoop-env.sh
修改:
export JAVA_HOME= {JDK安装路径}
例如:export JAVA_HOME=/usr/local/jdk/jdk2.8.0_281
2.4.2 修改core-site-xml
<property>
<name>fs.defaultFS</name>
<!--方便起见,将 namenode,datanode,yarn 等进程都配置到 master 节点上-->
<value>hdfs://主机映射名:9000</value>
<description>HDFS的URI,文件系统://namenode标识:端口号
</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>hadoop安装目录/data</value>
<description>namenode上本地的hadoop临时文件夹</description>
</property>
2.4.3 修改yarn-site.xml
<!--固定写法-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--运行 MapReduce 任务时,可能会报错:找不到或无法加载主类解决办法:1.命令行执行: hadoop classpath
2.将 1 中命令执行后出现的结果,复制到下面的 value 中去,重启集群即可-->
<property>
<name>yarn.application.classpath</name>
<value>输入刚才返回的 hadoop classpath 中的路径</value>
</property>
2.4.4修改mapre-site-xml
<!--固定写法-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
2.4.5修改hdfs-site.xml
<property>
<name>dfs.replication</name>
<!--伪分布式设置为1,完全分布式跟根据 datanode 节点数量来定-->
<value>3</value>
<description>副本个数,配置默认是3,应小于datanode机器数量</description>
</property>

2.5 修改集群 启动/停止 命令

2.5.1 修改 hadoop安装路径 / sbin / start-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root 

//
hdfs_datanode_user=root
hdfs_datanode_secure_user=hdfs
hdfs_namenode_user=root
hdfs_secondarynamenode_user=root 
2.5.1.1 修改 hadoop安装路径 / sbin / stop-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
2.5.2 修改 {hadoop安装路径} / sbin / start-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

//
yarn_resourcemanager_user=root
hadoop_secure_dn_user=yarn
yarn_nodemanager_user=root
2.5.2.1 修改 {hadoop安装路径} / sbin / stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

2.4分发配置文件和启停命令

使用 rsync 命令,同步 {hadoop安装路径} / etc 下的配置文件
rsync -av /Hadoop安装路径/etc/hadoop root@远程登录名:/Hadoop安装路径/etc/hadoop
使用 rsync 命令,同步 {hadoop安装路径} / sbin 下的启 / 停命令
rsync -av /Hadoop安装路径/sbin root@远程登录名:/Hadoop安装路径/sbin

3.0 启动集群并测试

命令

//第一次启动要格式化
命令:
hadoop namenode -format

//如果格式化报错要删除data和logs在进行修改之后在进行第二次格式化!!!!!!!!

start-all.sh  //启动居群
stop-all.sh  //关闭集群

//测试
Mapper测试能否跑通
浏览器输入:机器IP地址:9870-------例如:192.168.56.140:9870
创建文件夹:hadoop fs -mkdir /input
上传文件到input文件夹:hadoop fs -put 需要上传的文件名 上传到的文件路径
示例: hadoop fs -put job_list.json /input 
输出文件:hadoop jar MapReduceExer.jar 输入路径 输出路径(事先不能存在)
示例: hadoop jar MapReduceExer.jar /input/job_list.json /output

Hadoop完全分布搭建

原文:https://www.cnblogs.com/DomainName/p/14671826.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!