返回顶部
首页 > 资讯 > 数据库 >hadoop redis mongodb
  • 401
分享到

hadoop redis mongodb

2024-04-02 19:04:59 401人浏览 泡泡鱼
摘要

一、环境系统        Centos7.0 64位namenode01    192.168.0.22

一、环境

系统        Centos7.0 64位

namenode01    192.168.0.220

namenode02    192.168.0.221

datanode01    192.168.0.222

datanode02    192.168.0.223

datanode03    192.168.0.224

二、配置基础环境

在所有的机器上添加本地hosts文件解析

[root@namenode01 ~]# tail -5 /etc/hosts
192.168.0.220	namenode01
192.168.0.221	namenode02
192.168.0.222	datanode01
192.168.0.223	datanode02
192.168.0.224	datanode03

在5台机器上创建hadoop用户,并设置密码是hadoop,这里只以naemenode01为例子

[root@namenode01 ~]# useradd hadoop
[root@namenode01 ~]# passwd hadoop
Changing passWord for user hadoop.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

配置5台机器hadoop用户之间互相免密码ssh登录

#namenode01的操作
[root@namenode01 ~]# su - hadoop
[hadoop@namenode01 ~]$ ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): 
Created directory '/home/hadoop/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
1c:7e:89:9d:14:9a:10:fc:69:1e:11:3D:6d:18:a5:01 hadoop@namenode01
The key's randomart p_w_picpath is:
+--[ RSA 2048]----+
|     .o.E++=.    |
|      ...o++o    |
|       .+ooo     |
|       o== o     |
|       oS.=      |
|        ..       |
|                 |
|                 |
|                 |
+-----------------+
[hadoop@namenode01 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub namenode01
[hadoop@namenode01 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub namenode02
[hadoop@namenode01 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub datanode01
[hadoop@namenode01 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub datanode02
[hadoop@namenode01 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub datanode03

#验证结果
[hadoop@namenode01 ~]$ ssh namenode01 hostname
namenode01
[hadoop@namenode01 ~]$ ssh namenode02 hostname
namenode02
[hadoop@namenode01 ~]$ ssh datanode01 hostname
datanode01
[hadoop@namenode01 ~]$ ssh datanode02 hostname
datanode02
[hadoop@namenode01 ~]$ ssh datanode03 hostname
datanode03

#在namenode02上操作
[root@namenode02 ~]# su - hadoop
[hadoop@namenode02 ~]$ ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
a9:f5:0d:cb:c9:88:7b:71:f5:71:d8:a9:23:c6:85:6a hadoop@namenode02
The key's randomart p_w_picpath is:
+--[ RSA 2048]----+
|                 |
|                 |
|            .  o.|
|         . ...o.o|
|        S +....o |
|       +.E.O o.  |
|      o ooB o .  |
|       ..        |
|      ..         |
+-----------------+

[hadoop@namenode02 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub namenode01
[hadoop@namenode02 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub namenode02
[hadoop@namenode02 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub datanode01
[hadoop@namenode02 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub datanode02
[hadoop@namenode02 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub datanode03

#验证结果
[hadoop@namenode02 ~]$ ssh namenode01 hostname
namenode01
[hadoop@namenode02 ~]$ ssh namenode02 hostname
namenode02
[hadoop@namenode02 ~]$ ssh datanode01 hostname
datanode01
[hadoop@namenode02 ~]$ ssh datanode02 hostname
datanode02
[hadoop@namenode02 ~]$ ssh datanode03 hostname
datanode03

#在datanode01上操作
[root@datanode01 ~]# su - hadoop
[hadoop@datanode01 ~]$ ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
48:72:20:69:64:e7:81:b7:03:64:41:5e:fa:88:db:5e hadoop@datanode01
The key's randomart p_w_picpath is:
+--[ RSA 2048]----+
| +O+=            |
| +=*.o           |
| .ooo.o          |
| . oo+ .         |
|. . ... S        |
| o               |
|. . E            |
| . .             |
|  .              |
+-----------------+

[hadoop@datanode01 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub namenode01
[hadoop@datanode01 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub namenode02
[hadoop@datanode01 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub datanode01
[hadoop@datanode01 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub datanode02
[hadoop@datanode01 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub datanode03

#验证结果
[hadoop@datanode01 ~]$ ssh namenode01 hostname
namenode01
[hadoop@datanode01 ~]$ ssh namenode02 hostname
namenode02
[hadoop@datanode01 ~]$ ssh datanode01 hostname
datanode01
[hadoop@datanode01 ~]$ ssh datanode02 hostname
datanode02
[hadoop@datanode01 ~]$ ssh datanode03 hostname
datanode03

#datanode02上操作
[hadoop@datanode02 ~]$ ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
32:aa:88:fa:ce:ec:51:6f:de:f4:06:c9:4e:9c:10:31 hadoop@datanode02
The key's randomart p_w_picpath is:
+--[ RSA 2048]----+
|      E.         |
|      ..         |
|       .         |
|      .          |
|    . o+So       |
|   . o oB        |
|  . . oo..       |
|.+ o o o...      |
|=+B   . ...      |
+-----------------+

[hadoop@datanode02 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub namenode01
[hadoop@datanode02 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub namenode02
[hadoop@datanode02 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub datanode01
[hadoop@datanode02 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub datanode02
[hadoop@datanode02 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub datanode03

#验证结果
[hadoop@datanode02 ~]$ ssh namenode01 hostname
namenode01
[hadoop@datanode02 ~]$ ssh namenode02 hostname
namenode02
[hadoop@datanode02 ~]$ ssh datanode01 hostname
datanode01
[hadoop@datanode02 ~]$ ssh datanode02 hostname
datanode02
[hadoop@datanode02 ~]$ ssh datanode03 hostname
datanode03

#datanode03上操作
[root@datanode03 ~]# su - hadoop
[hadoop@datanode03 ~]$ ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
f3:f3:3c:85:61:c6:e4:82:58:10:1f:d8:bf:71:89:b4 hadoop@datanode03
The key's randomart p_w_picpath is:
+--[ RSA 2048]----+
|      o=.        |
|      ..o.. .    |
|       o.+ * .   |
|      . . E O    |
|        S  B o   |
|         o. . .  |
|          o  .   |
|           +.    |
|            o.   |
+-----------------+

[hadoop@datanode03 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub namenode01
[hadoop@datanode03 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub namenode02
[hadoop@datanode03 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub datanode01
[hadoop@datanode03 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub datanode02
[hadoop@datanode03 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub datanode03

#验证结果
[hadoop@datanode03 ~]$ ssh namenode01 hostname
namenode01
[hadoop@datanode03 ~]$ ssh namenode02 hostname
namenode02
[hadoop@datanode03 ~]$ ssh datanode01 hostname
datanode01
[hadoop@datanode03 ~]$ ssh datanode02 hostname
datanode02
[hadoop@datanode03 ~]$ ssh datanode03 hostname
datanode03

三、安装jdk环境

[root@namenode01 ~]# wget Http://download.oracle.com/otn-pub/java/jdk/8u74-b02/jdk-8u74-linux-x64.tar.gz?AuthParam=1461828883_648d68bc6c7b0dfd253a6332a5871e06
[root@namenode01 ~]# tar xf jdk-8u74-linux-x64.tar.gz -C /usr/local/

#配置环境变量配置文件
[root@namenode01 ~]# cat /etc/profile.d/java.sh
JAVA_HOME=/usr/local/jdk1.8.0_74
JAVA_BIN=/usr/local/jdk1.8.0_74/bin
JRE_HOME=/usr/local/jdk1.8.0_74/jre
PATH=$PATH:/usr/local/jdk1.8.0_74/bin:/usr/local/jdk1.8.0_74/jre/bin
CLASSPATH=/usr/local/jdk1.8.0_74/jre/lib:/usr/local/jdk1.8.0_74/lib:/usr/local/jdk1.8.0_74/jre/lib/charsets.jar
export JAVA_HOME PATH

#加载环境变量
[root@namenode01 ~]# source /etc/profile.d/java.sh
[root@namenode01 ~]# which java
/usr/local/jdk1.8.0_74/bin/java

#测试结果
[root@namenode01 ~]# java -version
java version "1.8.0_74"
Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode)

#将环境变量配置文件和二进制包复制到其余的4台机器上
[root@namenode01 ~]# scp -r /usr/local/jdk1.8.0_74 namenode02:/usr/local/
[root@namenode01 ~]# scp -r /usr/local/jdk1.8.0_74 datanode01:/usr/local/
[root@namenode01 ~]# scp -r /usr/local/jdk1.8.0_74 datanode02:/usr/local/
[root@namenode01 ~]# scp -r /usr/local/jdk1.8.0_74 datanode03:/usr/local/
[root@namenode01 ~]# scp /etc/profile.d/java.sh namenode02:/etc/profile.d/                                                                                                      100%  308     0.3KB/s   00:00    
[root@namenode01 ~]# scp /etc/profile.d/java.sh datanode01:/etc/profile.d/                                                                                            100%  308     0.3KB/s   00:00    
[root@namenode01 ~]# scp /etc/profile.d/java.sh datanode02:/etc/profile.d/                                                                                                         100%  308     0.3KB/s   00:00    
[root@namenode01 ~]# scp /etc/profile.d/java.sh datanode03:/etc/profile.d/

#测试结果,以namenode02为例子
[root@namenode02 ~]# source /etc/profile.d/java.sh 
[root@namenode02 ~]# java -version
java version "1.8.0_74"
Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode)

四、安装hadoop

#下载hadoop软件
[root@namenode01 ~]# wget http://apache.fayea.com/hadoop/common/hadoop-2.5.2/hadoop-2.5.2.tar.gz
[root@namenode01 ~]# tar xf hadoop-2.5.2.tar.gz -C /usr/local/
[root@namenode01 ~]# chown -R hadoop.hadoop /usr/local/hadoop-2.5.2/
[root@namenode01 ~]# ln -sv /usr/local/hadoop-2.5.2/ /usr/local/hadoop
‘/usr/local/hadoop’ -> ‘/usr/local/hadoop-2.5.2/’

#添加hadoop的环境变量配置文件
[root@namenode01 ~]# cat /etc/profile.d/hadoop.sh
HADOOP_HOME=/usr/local/hadoop
PATH=$HADOOP_HOME/bin:$PATH
export HADOOP_BASE PATH

#切换到hadoop用户下,检查jdk环境是否正常
[root@namenode01 ~]# su - hadoop
Last login: Thu Apr 28 15:17:16 CST 2016 from datanode01 on pts/1
[hadoop@namenode01 ~]$ java -version
java version "1.8.0_74"
Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode)

#开始编辑hadoop的配置文件
#编辑hadoop的环境变量文件
[hadoop@namenode01 ~]$ vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_74        #修改JAVA_HOME变量的值

#编辑core-site.xml文件
[hadoop@namenode01 ~]$ vim /usr/local/hadoop/etc/hadoop/core-site.xml
<configuration>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/home/hadoop/temp</value>
        </property>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://mycluster</value>
        </property>
        <property>
                <name>io.file.buffers.size</name>
                <value>131072</value>
        </property>
</configuration>

#编辑hdfs-site.xml文件
[hadoop@namenode01 ~]$ vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
<configuration>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>/data/hdfs/dfs/name</value>    #namenode目录
	</property>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>/data/hdfs/data</value>        #datanode目录
	</property>
	<property>
		<name>dfs.permissions</name>
		<value>false</value>
	</property>
	<property>
		<name>dfs.nameservices</name>
		<value>mycluster</value>        #和core-site.xml文件中保持一致
	</property>
	<property>
		<name>dfs.ha.namenodes.mycluster</name>
		<value>namenode01,namenode02</value>        #namenode节点
	</property>
	<property>
		<name>dfs.namenode.rpc-address.mycluster.namenode01</name>
		<value>namenode01:8020</value>
	</property>
	<property>
		<name>dfs.namenode.rpc-address.mycluster.namenode02</name>
		<value>namenode02:8020</value>
	</property>
	<property>
		<name>dfs.namenode.http-address.mycluster.namenode01</name>
		<value>namenode01:50070</value>
	</property>
	<property>
		<name>dfs.namenode.http-address.mycluster.namenode02</name>
		<value>namenode02:50070</value>
	</property>
	<property>
	        #namenode往journalnode写edits文件,填写所有的journalnode节点
		<name>dfs.namenode.shared.edits.dir</name>
		<value>qjournal://namenode01:8485;namenode02:8485;datanode01:8485;datanode02:8485;datanode03:8485/mycluster</value>
	</property>
	<property>
		<name>dfs.journalnode.edits.dir</name>
		<value>/data/hdfs/journal</value>    #journalnode目录
	</property>
	<property>
		<name>dfs.client.faliover.proxy.provider.mycluster</name>
		<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
	</property>
	<property>
		<name>dfs.ha.fening.methods</name>
		<value>sshfence</value>        #通过什么方法进行fence操作
	</property>
	<property>
		<name>dfs.ha.fencing.ssh.private-key-files</name>
		<value>/home/hadoop/.ssh/id_rsa</value>    #主机之间的认证
	</property>
	<property>
		<name>dfs.ha.fencing.ssh.connect-timeout</name>
		<value>6000</value>
	</property>
	<property>
		<name>dfs.ha.automatic-failover.enabled</name>
		<value>false</value>    #关闭主备自动切换,后面通过ZooKeeper来切换
	</property>
	<property>
		<name>dfs.replication</name>
		<value>3</value>        #replicaion的数量,默认为3分,少于这个数量会报错
	</property>
	<property>
		<name>dfs.WEBhdfs.enabled</name>
		<value>true</value>
	</property>
	<property>
		<name>dfs.permissions</name>
		<value>false</value>
	</property>
</configuration>

#编辑yarn-site.xml文件
[hadoop@namenode01 ~]$ vim /usr/local/hadoop/etc/hadoop/yarn-site.xml 
<configuration>
	<property>
		<name>yarn.nodemanager.aux-service</name>
		<value>mapReduce_shuffle</value>
	</property>
	<property>
		<name>yarn.resourcemanager.address</name>
		<value>namenode01:8032</value>
	</property>
	<property>
		<name>yarn.resourcemanager.scheduler.address</name>
		<value>namenode01:8030</value>
	</property>
	<property>
		<name>yarn.resourcemanager.resource-tracker.address</name>
		<value>namenode01:8031</value>
	</property>
	<property>
		<name>yarn.resourcemanager.admin.address</name>
		<value>namenode01:8033</value>
	</property>
	<property>
		<name>yarn.resourcemanager.webapp.address</name>
		<value>namenode01:8033</value>
	</property>
	<property>
		<name>yarn.nodemanager.resource.memory-mb</name>
		<value>15360</value>
	</property>
</configuration>

#编辑mapred-site.xml文件
[hadoop@namenode01 ~]$ cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml
[hadoop@namenode01 ~]$ vim /usr/local/hadoop/etc/hadoop/mapred-site.xml
<configuration>
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
	<property>
		<name>mapredue.jobtracker.http.address</name>
		<value>namenode01:50030</value>
	</property>
	<property>
		<name>mapreduce.jobhistory.address</name>
		<value>namenode01:10020</value>
	</property>
	<property>
		<name>mapreduce.jobhistory.webapp.address</name>
		<value>namenode01:19888</value>
	</property>
</configuration>

#编辑slaves配置文件
[hadoop@namenode01 ~]$ cat /usr/local/hadoop/etc/hadoop/slaves 
datanode01
datanode02
datanode03

#在namenodee01上切换到root用户下,创建相应的目录
[root@namenode01 ~]# mkdir /data/hdfs
[root@namenode01 ~]# chown hadoop.hadoop /data/hdfs/

#将hadoop用户的环境变量配置文件复制到其余4台机器上
[root@namenode01 ~]# scp /etc/profile.d/hadoop.sh namenode02:/etc/profile.d/
[root@namenode01 ~]# scp /etc/profile.d/hadoop.sh datanode01:/etc/profile.d/
[root@namenode01 ~]# scp /etc/profile.d/hadoop.sh datanode02:/etc/profile.d/  
[root@namenode01 ~]# scp /etc/profile.d/hadoop.sh datanode03:/etc/profile.d/

#复制hadoop安装文件到其余的4台机器上
[root@namenode01 ~]# scp -r /usr/local/hadoop-2.5.2/ namenode02:/usr/local/
[root@namenode01 ~]# scp -r /usr/local/hadoop-2.5.2/ datanode01:/usr/local/
[root@namenode01 ~]# scp -r /usr/local/hadoop-2.5.2/ datanode02:/usr/local/
[root@namenode01 ~]# scp -r /usr/local/hadoop-2.5.2/ datanode03:/usr/local/

#修改目录的权限,以namenode02为例
[root@namenode02 ~]# chown -R hadoop.hadoop /usr/local/hadoop-2.5.2/
[root@namenode02 ~]# ln -sv /usr/local/hadoop-2.5.2/ /usr/local/hadoop
‘/usr/local/hadoop’ -> ‘/usr/local/hadoop-2.5.2/’
[root@namenode02 ~]# ll /usr/local |grep hadoop
lrwxrwxrwx  1 root   root     24 Apr 28 17:19 hadoop -> /usr/local/hadoop-2.5.2/
drwxr-xr-x  9 hadoop hadoop  139 Apr 28 17:16 hadoop-2.5.2

#创建目录
[root@namenode02 ~]# mkdir /data/hdfs
[root@namenode02 ~]# chown -R hadoop.hadoop /data/hdfs/

#检查jdk环境
[root@namenode02 ~]# su - hadoop
Last login: Thu Apr 28 15:12:24 CST 2016 on pts/0
[hadoop@namenode02 ~]$ java -version
java version "1.8.0_74"
Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode)
[hadoop@namenode02 ~]$ which hadoop
/usr/local/hadoop/bin/hadoop

五、启动hadoop

#在所有服务器执行hadoop-daemon.sh start journalnode,要在hadoop用户下执行
#只贴出namenoe01的过程
[hadoop@namenode01 ~]$ /usr/local/hadoop/sbin/hadoop-daemon.sh start journalnode
starting journalnode, logging to /usr/local/hadoop-2.5.2/logs/hadoop-hadoop-journalnode-namenode01.out

#在namenode01上执行
[hadoop@namenode01 ~]$ hadoop namenode -fORMat
#说明:第一次启动的时候需要执行hadoop namenoe -format,非首次启动则运行hdfs namenode  -initializeSharedEdits
这里需要解释一下。   
首次启动是指安装的时候就配置了HA,hdfs还没有数据。这时需要用format命令把namenode1格式化。   
非首次启动是指原来有一个没有配置HA的HDFS已经在运行了,HDFS上已经有数据了,现在需要配置HA而加入一台namenode。这时候namenode1通过initializeSharedEdits命令来初始化journalnode,把edits文件共享到journalnode上。

#开始启动namenode节点
#在namenode01上执行
[hadoop@namenode01 ~]$ /usr/local/hadoop/sbin/hadoop-daemon.sh start namenode

#在namenode02上执行
[hadoop@namenode02 ~]$ /usr/local/hadoop/sbin/hadoop-daemon.sh start namenode-bootstrapStandby

#启动datanode节点
[hadoop@datanode01 ~]$ /usr/local/hadoop/sbin/hadoop-daemon.sh start datanode
[hadoop@datanode02 ~]$ /usr/local/hadoop/sbin/hadoop-daemon.sh start datanode
[hadoop@datanode03 ~]$ /usr/local/hadoop/sbin/hadoop-daemon.sh start datanode

#验证结果
#查看namenode01结果
[hadoop@namenode01 ~]$ jps
2467 NameNode        #namenode角色
2270 JournalNode
2702 Jps

#查看namenode02的结果
[hadoop@namenode01 ~]$ ssh namenode02 jps
2264 JournalNode
2680 Jps

#查看datanode01的结果
[hadoop@namenode01 ~]$ ssh datanode01 jps
2466 Jps
2358 DataNode        #datanode角色
2267 JournalNode

#查看datannode02的结果
[hadoop@namenode01 ~]$ ssh datanode02 jps
2691 Jps
2612 DataNode        #datanode角色
2265 JournalNode

#查看datanode03的结果
[hadoop@namenode01 ~]$ ssh datanode03 jps
11987 DataNode        #datanode角色
12067 Jps
11895 JournalNode

六、zookeeper高可用环境搭建

#下载软件,使用root用户的身份去安装
[root@namenode01 ~]# wget http://apache.fayea.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

#解压文件/usr/local下,并修改权限
[root@namenode01 ~]# tar xf zookeeper-3.4.6.tar.gz -C /usr/local/
[root@namenode01 ~]# chown -R hadoop.hadoop /usr/local/zookeeper-3.4.6/

#修改zookeeper配置文件
[root@namenode01 ~]# cp /usr/local/zookeeper-3.4.6/conf/zoo_sample.cfg /usr/local/zookeeper-3.4.6/conf/zoo.cfg
[root@namenode01 ~]# egrep -v "^#|^$" /usr/local/zookeeper-3.4.6/conf/zoo.cfg 
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/hdfs/zookeeper/data
dataLogDir=/data/hdfs/zookeeper/logs
clientPort=2181
server.1=namenode01:2888:3888
server.2=namenode02:2888:3888
server.3=datanode01:2888:3888
server.4=datanode02:2888:3888
server.5=datanode03:2888:3888

#配置zookeeper环境变量
[root@namenode01 ~]# cat /etc/profile.d/zookeeper.sh
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.6
export PATH=$PATH:$ZOOKEEPER_HOME/bin

#在namenode01上创建相关的目录和myid文件
[root@namenode01 ~]# mkdir -p /data/hdfs/zookeeper/{data,logs}
[root@namenode01 ~]# tree /data/hdfs/zookeeper
/data/hdfs/zookeeper
├── data
└── logs
[root@namenode01 ~]# echo "1" >/data/hdfs/zookeeper/data/myid
[root@namenode01 ~]# cat /data/hdfs/zookeeper/data/myid
1
[root@namenode01 ~]# chown -R hadoop.hadoop /data/hdfs/zookeeper
[root@namenode01 ~]# ll /data/hdfs/
total 0
drwxrwxr-x 3 hadoop hadoop 17 Apr 29 10:05 dfs
drwxrwxr-x 3 hadoop hadoop 22 Apr 29 10:05 journal
drwxr-xr-x 4 hadoop hadoop 28 Apr 29 10:42 zookeeper

#将zookeeper安装目录和环境变量配置文件复制到其余的几台机器上,以复制到namenode02为例
[root@namenode01 ~]# scp -r /usr/local/zookeeper-3.4.6 namenode02:/usr/local/
[root@namenode01 ~]# scp /etc/profile.d/zookeeper.sh namenode02:/etc/profile.d/

#namenode02上创建相关的目录和文件,并修改相应目录的权限
[root@namenode02 ~]# chown -R hadoop.hadoop /usr/local/zookeeper-3.4.6/
[root@namenode02 ~]# ll /usr/local/ |grep zook
drwxr-xr-x  10 hadoop hadoop 4096 Apr 29 10:47 zookeeper-3.4.6
[root@namenode02 ~]# mkdir -p /data/hdfs/zookeeper/{data,logs}
[root@namenode02 ~]# echo "2" >/data/hdfs/zookeeper/data/myid
[root@namenode02 ~]# cat /data/hdfs/zookeeper/data/myid
2
[root@namenode02 ~]# chown -R hadoop.hadoop /data/hdfs/zookeeper
[root@namenode02 ~]# ll /data/hdfs/ |grep zook
drwxr-xr-x 4 hadoop hadoop 28 Apr 29 10:50 zookeeper

#在datanode01上创建相关的目录和文件,并修改相应目录的权限
[root@datanode01 ~]# chown -R hadoop.hadoop /usr/local/zookeeper-3.4.6/
[root@datanode01 ~]# ll /usr/local/ |grep zook
drwxr-xr-x  10 hadoop hadoop 4096 Apr 29 10:48 zookeeper-3.4.6
[root@datanode01 ~]# mkdir -p /data/hdfs/zookeeper/{data,logs}
[root@datanode01 ~]# echo "3" >/data/hdfs/zookeeper/data/myid
[root@datanode01 ~]# cat /data/hdfs/zookeeper/data/myid
3
[root@datanode01 ~]# chown -R hadoop.hadoop /data/hdfs/zookeeper
[root@datanode01 ~]# ll /data/hdfs/ |grep zook
drwxr-xr-x 4 hadoop hadoop 28 Apr 29 10:54 zookeeper

#在datanode02上创建相关的目录和文件,并修改相应目录的权限
[root@datanode02 ~]# chown -R hadoop.hadoop /usr/local/zookeeper-3.4.6/
[root@datanode02 ~]# ll /usr/local/ |grep zook
drwxr-xr-x  10 hadoop hadoop 4096 Apr 29 10:49 zookeeper-3.4.6
[root@datanode02 ~]# mkdir -p /data/hdfs/zookeeper/{data,logs}
[root@datanode02 ~]# echo "4" >/data/hdfs/zookeeper/data/myid
[root@datanode02 ~]# cat /data/hdfs/zookeeper/data/myid
4
[root@datanode02 ~]# chown -R hadoop.hadoop /data/hdfs/zookeeper
[root@datanode02 ~]# ll /data/hdfs/ |grep zook
drwxr-xr-x 4 hadoop hadoop 28 Apr 29 10:56 zookeeper

#在datanode03上创建相关的目录和文件,并修改相应目录的权限
[root@datanode03 ~]# chown -R hadoop.hadoop /usr/local/zookeeper-3.4.6/
[root@datanode03 ~]# ll /usr/local/ |grep zook
drwxr-xr-x  10 hadoop hadoop 4096 Apr 29 18:49 zookeeper-3.4.6
[root@datanode03 ~]# mkdir -p /data/hdfs/zookeeper/{data,logs}
[root@datanode03 ~]# echo "5" >/data/hdfs/zookeeper/data/myid
[root@datanode03 ~]# cat /data/hdfs/zookeeper/data/myid
5
[root@datanode03 ~]# chown -R hadoop.hadoop /data/hdfs/zookeeper
[root@datanode03 ~]# ll /data/hdfs/ |grep zook
drwxr-xr-x 4 hadoop hadoop 28 Apr 29 18:57 zookeeper

#在5台机器上已hadoop的身份穷zookeeper
#namenode01上启动
[hadoop@namenode01 ~]$ /usr/local/zookeeper-3.4.6/bin/zkServer.sh start
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

#namenode02上启动
[hadoop@namenode02 ~]$ /usr/local/zookeeper-3.4.6/bin/zkServer.sh start
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

#datanode01上启动
[hadoop@datanode01 ~]$ /usr/local/zookeeper-3.4.6/bin/zkServer.sh start
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

#datanode02上启动
[hadoop@datanode02 ~]$ /usr/local/zookeeper-3.4.6/bin/zkServer.sh start
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

#datanode03上启动
[hadoop@datanode03 ~]$ /usr/local/zookeeper-3.4.6/bin/zkServer.sh start
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

#查看namenode01的结果
[hadoop@namenode01 ~]$ jps
2467 NameNode
3348 QuorumPeerMain    #zookeeper进程
3483 Jps
2270 JournalNode
[hadoop@namenode01 ~]$ zkServer.sh status
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower

#查看namenode02的结果
[hadoop@namenode01 ~]$ ssh namenode02 jps
2264 JournalNode
2888 QuorumPeerMain
2936 Jps
[hadoop@namenode01 ~]$ ssh namenode02 'zkServer.sh status'
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower

#查看datanode01的结果
[hadoop@namenode01 ~]$ ssh datanode01 jps
2881 QuorumPeerMain
2358 DataNode
2267 JournalNode
2955 Jps
[hadoop@namenode01 ~]$ ssh datanode01 'zkServer.sh status'
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower

#查看datanode02的结果
[hadoop@namenode01 ~]$ ssh datanode02 jps
2849 QuorumPeerMain
2612 DataNode
2885 Jps
2265 JournalNode
[hadoop@namenode01 ~]$ ssh datanode02 'zkServer.sh status'
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower

#查看datanode03的结果
[hadoop@namenode01 ~]$ ssh datanode03 jps
11987 DataNode
12276 Jps
12213 QuorumPeerMain
11895 JournalNode
[hadoop@namenode01 ~]$ ssh datanode03 'zkServer.sh status'
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: leader


您可能感兴趣的文档:

--结束END--

本文标题: hadoop redis mongodb

本文链接: https://lsjlt.com/news/43428.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • hadoop redis mongodb
    一、环境系统        CentOS7.0 64位namenode01    192.168.0.22...
    99+
    2024-04-02
  • mongodb和redis哪个好
    mongodb和redis各有各的优势,可根据我们自身的需求来选择即可,比如你需要处理或解决海量数据的访问效率问题时,选择mongodb相对比redis是要更好一些的,而redis在数据量较小的更性能操作和运算上更能发挥它的优势。从以下几个...
    99+
    2024-04-02
  • redis和mongodb的区别
    redis和mongodb的区别:1、在TPS方面redis性能要比mongodb大;2、redis操作更加便利,拥有较少的网络IO次数;3、mongoDB适合大数据量的存储,而redis能够存储的数据比mongoDB要少点;4、redis...
    99+
    2024-04-02
  • NoSQL与Memcached、Redis、MongoDB概述
    一、NoSQL介绍   非关系型数据库(而mysql、oracle、sqlserver都是关系型数据库)1. 特点数据之间无关系,随意扩展数据存储简单,可以存在内存中,读写速度快不需要建...
    99+
    2024-04-02
  • mongodb为什么比redis快
    MongoDB比Redis快的原因有以下几点:1. 数据存储方式不同:Redis是基于内存的数据库,数据存储在内存中,而MongoD...
    99+
    2023-08-31
    mongodb redis
  • mongodb和redis怎么结合
    mongodb 和 redis 结合使用 MongoDB 和 Redis 都是流行的 NoSQL 数据库,它们具有不同的优势和功能,结合使用可以提供更强大的数据处理能力。 为什么需要结合...
    99+
    2024-05-30
    redis mongodb
  • mongodb、mysql、redis的性能对比
    最近因为工作需要,所以研究了一下mongodb,但是不知道它的真实性能怎么样,所以对比mysql做了一些测试,现在只是插入操作,更新还没来得及弄,贴出来和大家分享一下(已经补齐redis部分)1.数据库版本...
    99+
    2024-04-02
  • MongoDB和Redis有什么区别
    这篇文章主要介绍MongoDB和Redis有什么区别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MongoDB 更类似 MySQL,支持字段索引、游标操作,其优势在于查询功能比较强...
    99+
    2024-04-02
  • redis与mongodb有什么区别
    redis与mongodb有什么区别?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!MongoDB更类似MySQL,支持字段...
    99+
    2024-04-02
  • redis和mongodb有什么区别
    这篇文章主要介绍redis和mongodb有什么区别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! RedisRedis是一个开源的使用ANSI C语言编写、支持网络、可基...
    99+
    2024-04-02
  • mongodb与redis的对比示例
    这篇文章主要介绍mongodb与redis的对比示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是redis?Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内...
    99+
    2024-04-02
  • redis与mongodb有什么不同
    今天就跟大家聊聊有关redis与mongodb有什么不同,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。MongoDB更类似MySQL,支持字段索引、...
    99+
    2024-04-02
  • Hadoop、Spark、HBase与Redis的适用性讨论(二):HBase
    接下来说说HBase。对此,经常听到的一个说法是:HBase只适合于支撑离线分析型应用,特别是做为MapReduce任务的后台数据源。持这个观点不少,甚至在国内一个响当当的电信设备提供商中,HBase也是被...
    99+
    2024-04-02
  • 对比下HBase, Memcached, MongoDB, Redis和Solr
    NameHBase   Memcached  MongoDB   Redis   Solr   DescriptionWide-column store b...
    99+
    2024-04-02
  • redis和mongodb的区别是什么
    Redis和MongoDB是两种不同类型的数据库,它们有以下几点主要区别: 数据模型:Redis是一种基于键值存储的数据库,存储...
    99+
    2024-04-10
    mongodb redis
  • mongodb和redis的区别是什么
    MongoDB是一种面向文档的数据库,适用于存储和查询复杂的结构化数据,支持丰富的查询语言和索引功能。而Redis是一种内存数据库,...
    99+
    2024-04-09
    mongodb redis
  • mongodb和redis的区别有哪些
    数据存储方式: MongoDB是一种基于文档的数据库,数据以文档的形式存储,每个文档是一个由键值对组成的数据结构。文档可以是嵌...
    99+
    2024-04-26
    redis mongodb
  • Redis如何实现MongoDB的getlasterror功能
    这篇文章主要为大家展示了“Redis如何实现MongoDB的getlasterror功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Redis如何实现Mong...
    99+
    2024-04-02
  • ubuntu22.04离线安装jdk、mysql、redis、mongodb、nginx
    ubuntu22.04离线安装jdk、mysql、redis、mongodb、nginx 1 jdk-8u181安装1.1 安装包列表1.2 安装方式 2 java依赖环境安装2.1 安装包列表2.2 安装方式 3 re...
    99+
    2023-08-19
    mongodb java redis mysql nginx
  • mongodb和redis哪个读取速度快
    redis 的读取速度比 mongodb 更快。原因包括:1. redis 使用简单的键值存储,而 mongodb 存储 json 格式的数据,需要解析和反序列化。2. redis 使用...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作