伪分布式集群,不依赖zookeeper的hadoop集群
只有namenode, 和datanode, 可以有两个namenode.
没有zookeeper, 没有zkfc, 没有journalnode.
只在学习的时候使用, 生存环境不适用 .
生产环境用的高可用集群见 https://blog.csdn.net/weijiqian/article/details/137157513
1 修改主机名链接
vim /etc/hosts
192.168.110.10 master
192.168.110.11 slave1
192.168.110.12 slave2
2关闭防火墙
关闭:
[root@master ~]# systemctl stop firewalld.service
禁止开机启动:
[root@master ~]# systemctl disable firewalld.service
查看状态:
[root@master ~]# firewall-cmd --state
3 配置免密登录
注意:master、slave1和slave2都要在root下进行操作
master:
● 第1步
[root@master ~]# ssh-keygen -t rsa
一直按回车直到该命令结束
分别在slave1和slave2上执行相同的操作
● 第2步
在master上,进入到/root/.ssh目录下
[root@master ~]# cd /root/.ssh
将 id_rsa.pub写入authorized_keys
[root@master .ssh]# cat id_rsa.pub >> authorized_keys
更改authorized_keys的权限
[root@master .ssh]# chmod 644 authorized_keys
● 第3步
将authorized_keys发送给slave1和slave2
[root@master .ssh]# scp authorized_keys slave1:/root/.ssh/
输入yes和slave1的密码即可
[root@master .ssh]# scp authorized_keys slave2:/root/.ssh/
slave1:
a.进入到/root/.ssh路径下
[root@slave1 ~]# cd /root/.ssh/
b.更改authorized_keys的权限
[root@slave1 .ssh]# chmod 644 authorized_keys
c.将 id_rsa.pub追加到authorized_keys
[root@slave1 .ssh]# cat id_rsa.pub >> authorized_keys
d.将authorized_keys发送给slave2
[root@slave1 .ssh]# scp authorized_keys slave2:/root/.ssh/
slave2:
a.进入到/root/.ssh路径下
[root@slave2 ~]# cd /root/.ssh/
b.更改authorized_keys的权限
[root@slave2 .ssh]# chmod 644 authorized_keys
c.将 id_rsa.pub追加到authorized_keys
[root@slave2 .ssh]# cat id_rsa.pub >> authorized_keys
d.将authorized_keys分别发送给master和slave1
[root@slave2 .ssh]# scp authorized_keys master:/root/.ssh
[root@slave2 .ssh]# scp authorized_keys slave1:/root/.ssh
验证
在master上:
登录
[root@master .ssh]# ssh slave1
4. jdk的安装
下载jdk, 并解压到目录 /usr/local/java
配置环境变量
vim /etc/profile
JAVA_HOME=/usr/local/java/jdk1.8.0_45
JRE_HOME=/usr/local/java/jdk1.8.0_45/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME
export JRE_HOME
export CLASS_PATH
export PATH
使环境变量生效
[root@master ~]# source /etc/profile
[root@master ~]# java -version
5. hadoop安装
解压
解压到目录 /usr/local/
tar -zxvf hadoop-3.1.0.tar.gz -C /usr/local/
配置环境变量
[root@master ~]# vim /etc/profile
export HADOOP_HOME=/usr/local/hadoop-3.1.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使变量生效
[root@master ~]# source /etc/profile
修改配置文件 workers
进入目录
[root@master hadoop]# cd /usr/local/hadoop-3.1.0/etc/hadoop/
以下配置文件都在这个目录下面
[root@master hadoop]# vim workers
master
slave1
slave2
修改配置文件hadoo-env.sh
[root@master hadoop]# vim hadoop-env.sh
export JAVA_HOME=/usr/local/java/jdk1.8.0_45
export HADOOP_HOME=/usr/local/hadoop-3.1.0
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
修改配置文件core-site.xml
[root@master hadoop]# vim core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoop/tmp</value>
</property>
</configuration>
## 修改配置文件hdfs-site.xml
[root@master hadoop]# vim hdfs-site.xml
<property>
<name>dfs.name.dir</name>
<value>/data/hadoop/dfs/name</value>
<description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/data/hadoop/dfs/data</value>
<description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>
</property>
<property>
<name>dfs.namenode.rpc-address</name>
<value>master:9820</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>master:9870</value>
</property>
<!--配置HDFS的冗余度,默认是3,这里配成1 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--配置是否检查权限 -->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
修改配置文件yarn-site.xml
[root@master hadoop]# vim yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</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.nodemanager.resource.cpu-vcores</name>
<value>1</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
修改配置文件mapred-site.xml
[root@master hadoop]# vim mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>master:49001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/data/hadoop/var</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
复制到slave1 和 slave2上面
scp -r /usr/local/hadoop-3.1.0 root@slave1:/usr/local
scp -r /usr/local/hadoop-3.1.0 root@slave2:/usr/local
格式化节点
[root@master ~]# cd /usr/local/hadoop-3.1.0/sbin/
格式化节点
[root@master sbin]# hdfs namenode -format
运行后不报错并在倒数四五行出现successfully即为格式化节点成功
注意:在没有出现错误的情况下,节点格式化一次即可
启动hadoop集群
有两种启动方式,选择一种就可以.
● 一键启动
在master上面执行
[root@master sbin]# ./start-all.sh
● 分开启动文章来源:https://www.toymoban.com/news/detail-847723.html
[root@master sbin]# ./hadoop-daemon.sh start datanode
[root@master sbin]# ./hadoop-daemon.sh start namenode
页面查看
http://master:9870文章来源地址https://www.toymoban.com/news/detail-847723.html
到了这里,关于hadoop3.0 非高可用安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!