安装Hadoop集群:
一、安装Linux虚拟机和linux系统安装
这边我用的是vmware+CentOS7;
这个可以用镜像来安装,图形化界面,非常简单,这里网上资料很多,不多说。
二、安装JDK
1.卸载系统自带的openjava包
先查询java包
rpm -qa | grep java-1
2.然后卸载openjava:如下命令:
rpm -e --nodeps javapackages-tools-3.4.1-11.el7.noarch
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64
rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.191-2.6.15.5.el7.x86_64
rpm -e --nodeps tzdata-java-2018e-3.el7.noarch
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.5.el7.x86_64
3.用root用户上传JDK包执行如下命令
tar -zxvf jdk-8u201-linux-x64.tar.gz -C /usr/lib/jvm
4.修改环境变量
vi /etc/profile
最后新增如下:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_201
export PATH=
J
A
V
A
H
O
M
E
/
b
i
n
:
{JAVA_HOME}/bin:
JAVAHOME/bin:PATH
5.使其立即生效.
source /etc/profile
6.测试JAVA
java -version
三、安装hadoop–伪分布式
1.把Hadoop的tar包上传到/usr/local目录下,并解压
tar -zxvf hadoop-2.7.7.tar.gz
2.设置无密码登陆
ssh-keygen -t dsa -P ‘’ -f ~/.ssh/id_dsa
3.创建目录
mkdir -p /usr/local/hadoop/tmp
mkdir -p /usr/local/hadoop/hdfs
mkdir -p /usr/local/hadoop/hdfs/name
mkdir -p /usr/local/hadoop/hdfs/data
4.cd /usr/local/hadoop/hadoop-2.7.7/etc/hadoop
vi hadoop-env.sh
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_201
5.vi yarn-env.sh
export JAVA_HOME=/home/y/libexec/jdk1.6.0/
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_201
6.
vi core-site.xml
fs.defaultFS
hdfs://192.168.199.129:9000
hadoop.tmp.dir
/usr/local/hadoop/tmp
- vi hdfs-site.xml
dfs.namenode.name.dir
file:/usr/local/hadoop/hdfs/name
dfs.datanode.data.dir
file:/usr/local/hadoop/hdfs/data
dfs.replication
1
8.cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
mapreduce.framwork.name
yarn
9.vi yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
10.格式化 hdfs namenode -format
11.start-all.sh
jps
如下就是OK了。
[root@hadoop1 ~]# jps
10354 NodeManager
10086 SecondaryNameNode
9767 NameNode
10247 ResourceManager
10701 Jps
9919 DataNode
12.防火墙
firewall-cmd --state
systemctl stop firewalld.service
systemctl disable firewalld.service
四、分布式安装
0、前期准备:
1.这里准备三台机器
1个namenode
3个datanode
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.198.130 master
192.168.198.131 node1
192.168.198.132 node2
安装规划:
节点名称 NN1 NN2 DN RM NM
master NameNode DataNode NodeManager
node1 SecondaryNameNode DataNode ResourceManager NodeManager
node2 DataNode NodeManager
需要的包,我已经上传,并且已经安装和配置好jdk,所有服务器都一样。而且root的信任关系也都建立OK了。
ssh-keygen -t dsa -P ‘’ -f ~/.ssh/id_dsa
一、解压hadoop包,修改配置
vi hadoop-env.sh
The java implementation to use.
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_201
vi core-site.xml
fs.defaultFS
hdfs://master:9000
hadoop.tmp.dir
/usr/local/hadoop/tmp
mkdir -p /usr/local/hadoop/tmp
vi hdfs-site.xml
dfs.replication
2
dfs.namenode.name.dir
file:/usr/local/hadoop/hdfs/name
true
dfs.datanode.data.dir
file:/usr/local/hadoop/hdfs/data
true
dfs.namenode.secondary.http-address
node1:50090
dfs.webhdfs.enabled
true
vi mapred-site.xml
mapreduce.framwork.name
yarn
vi 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>
vi slaves
master
node1
node2
复制到另外节点
scp -r * node1:/usr/local/hadoop/hadoop-2.7.7/etc/hadoop
scp -r * node2:/usr/local/hadoop/hadoop-2.7.7/etc/hadoop
二、运行和测试
–在namenode主节点执行
hdfs namenode -format
主节点上来启动hdfs
start-dfs.sh
主节点:
[root@master hadoop]# jps
15541 Jps
15260 DataNode
15133 NameNode
[root@master hadoop]#
[root@node1 hadoop]# jps
9532 SecondaryNameNode
9438 DataNode
9679 Jps
[root@node1 hadoop]#
[root@node2 hadoop]# jps
11014 DataNode
11357 Jps
[root@node2 hadoop]#
start-yarn.sh
[root@master hadoop]# jps
15923 Jps
15700 NodeManager
15260 DataNode
15133 NameNode
15599 ResourceManager
[root@node1 hadoop]# jps
9744 NodeManager
9856 Jps
9532 SecondaryNameNode
9438 DataNode
[root@node1 hadoop]#
[root@node2 hadoop]# jps
11412 NodeManager
11014 DataNode
11516 Jps
[root@node2 hadoop]#