Hadoop的分支hdfs的集群搭建
首先是三台服务器之间的免密
我写的免密操作
追加自己的免密
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
安装JDK
上传jdk压缩包 然后在linux中将jdk压缩包解压到/root/apps 下 配置环境变量:JAVA_HOME PATH
vim /etc/profile
export JAVA_HOME=/root/apps/jdk1.8.0_60 export PATH=$PATH:$JAVA_HOME/bin
安装hdfs集群
下载安装包
原理图
一台主机,其他都是数据机器
修改配置文件
hadoop-env.sh
设置定点的jdk,然后你也可以不设置,直接用环境变量的jdk,但是如果jdk有多个的时候你就想用某个jdk就可以在这里定义
cd /usr/local/hadoop-3.3.2/etc/hadoop vim hadoop-env.sh
加上
export JAVA_HOME=/opt/jdk1.8.0_181/
需要修改两个文件core-site.xml,hdfs-site.xml 文件所在文件夹
core-site.xml的修改
cd /usr/local/hadoop-3.3.2/etc/hadoop
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://192.168.1.121:9000</value> </property> </configuration>
另外,如果需要去再安装hive的话记得加上下面这段:不然无法访问
<!-- 表示设置 hadoop 的代理用户--> <property> <!--表示代理用户的组所属--> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property> <property> <!--表示任意节点使用 hadoop 集群的代理用户 hadoop 都能访问 hdfs 集群--> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property>
然后分发出去:另外两台关联机器
scp /usr/local/hadoop-3.3.2/etc/hadoop/core-site.xml 192.168.1.88:/usr/local/hadoop-3.3.2/etc/hadoop/
scp /usr/local/hadoop-3.3.2/etc/hadoop/core-site.xml 192.168.1.92:/usr/local/hadoop-3.3.2/etc/hadoop/
hdfs-site.xml的修改
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>/root/hdpdata/name/</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/root/hdpdata/data</value> </property> <!-- 复本,三份复本,这也其中一台机器丢了数据其他机器就会找补回来 --> <property> <name>dfs.replication</name> <value>3</value> </property> </configuration>
然后分发出去:另外两台关联机器
scp /usr/local/hadoop-3.3.2/etc/hadoop/hdfs-site.xml 192.168.1.88:/usr/local/hadoop-3.3.2/etc/hadoop/
scp /usr/local/hadoop-3.3.2/etc/hadoop/hdfs-site.xml 192.168.1.92:/usr/local/hadoop-3.3.2/etc/hadoop/
修改start-dfs.sh,stop-dfs.sh
为什么要修改呢:因为默认值的这些参数和你本机不对,所以需要加这个, 按理说应该在/usr/local/hadoop-3.3.2/etc/hadoop里面的某个XXX-env.sh里面去定义的,但是实在太多我也不知道写在哪个里面了。
[root@node121 sbin]# vim start-dfs.sh
[root@node121 sbin]# vim stop-dfs.sh
HDFS_DATANODE_USER=root HADOOP_SECURE_DN_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root
上一篇:
IDEA上Java项目控制台中文乱码