云服务器配置:4核8G
云服务器数量:3台
版本:
Zookeeper 3.7.1
Hadoop 3.3.4
HBase 2.4.16
Hive 3.1.3
一、配置好ssh key免密登录
1.首先配置hosts文件
vim /etc/hosts
192.168.10.11 linux1
192.168.10.12 linux2
192.168.10.13 linux3
2.生成ssh rsa?
第一台机器
[ubuntu@linux1 conf]$ ssh-keygen -t rsa
[ubuntu@linux1 conf]$ ssh-copy-id linux2
[ubuntu@linux1 conf]$ ssh-copy-id linux3
第二台机器
[ubuntu@linux2 conf]$ ssh-keygen -t rsa
[ubuntu@linux2 conf]$ ssh-copy-id linux1
[ubuntu@linux2 conf]$ ssh-copy-id linux3
第三台机器
[ubuntu@linux3 conf]$ ssh-keygen -t rsa
[ubuntu@linux3 conf]$ ssh-copy-id linux1
[ubuntu@linux3 conf]$ ssh-copy-id linux2
二、zookeeper集群安装
1、下载地址:https://dlcdn.apache.org/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz
2、配置zoo.cfg文件
cp?zoo_sample.cfg zoo.cfg
具体配置,修改dateDir,添加日志存放目录
dataDir=/opt/module/apache-zookeeper-3.6.0/Data
dataLogDir=/opt/module/apache-zookeeper-3.6.0/Data/logs
在末尾增加
server.1=linux1:2888:3888
server.2=linux2:2888:3888
server.3=linux3:2888:3888
3、集群配置
? 3.1 在/opt/module/apache-zookeeper-3.6.0/Data目录下创建一个myid的文件
[ubuntu@linux1 Data]$ touch myid
vim myid
3台主机分别设置编号:1、2、3
scp -r apache-zookeeper-3.7.1-bin/ ubuntu@linux2:~/soft/
?3.2 启动集群
./bin/zkServer.sh start
查看启动状态:./bin/zkServer.sh status
3.3 环境变量
export ZOOKEEPER_HOME=/home/ubuntu/soft/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
三、hadoop集群部署
1、下载地址:https://dlcdn.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
2、添加hadoop用户:sudo useradd -m hadoop -s /bin/bash
????修改密码:sudo passwd hadoop
? ? 添加权限:sudo adduser hadoop sudo
3、免密登录
3.1 master-1
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa? ? ? ? ? ? ? # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys
scp ~/.ssh/id_rsa.pub hadoop@master-2:/home/hadoop/
3.2 master-2/master-3
mkdir ~/.ssh # 如果不存在该文件夹需先创建,若已存在,则忽略本命令
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
rm ~/id_rsa.pub? ? # 用完以后就可以删掉
4、java环境变量
export JAVA_HOME=/etc/jdk1.8.0_151
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
5、配置hadoop环境变量
vim ~/.bashrc
export PATH=$PATH:/home/hadoop/hadoop-3.3.4/bin:/home/hadoop/hadoop-3.3.4/sbin
vim ~/hadoop-3.3.4/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/etc/jdk1.8.0_151
6、配置
6.1 core-site.xml
<property>
? ? ? ? <name>fs.defaultFS</name>
? ? ? ? <value>hdfs://master-1:9000</value>
</property>
<property>
? ? ? ? <name>hadoop.tmp.dir</name>
? ? ? ? <value>file:/home/hadoop/hadoop-3.3.4/tmp</value>
? ? ? ? <description>Abase for other temporary directories.</description>
</property>
6.2 hdfs-site.xml
<property>
? ? ? ? <name>dfs.namenode.secondary.http-address</name>
? ? ? ? <value>master-1:50090</value>
</property>
<property>
? ? ? ? <name>dfs.replication</name>
? ? ? ? <value>3</value>
</property>
<property>
? ? ? ? <name>dfs.namenode.name.dir</name>
? ? ? ? <value>file:/home/hadoop/hadoop-3.3.4/hadoop-datas/namenodes</value>
</property>
<property>
? ? ? ? <name>dfs.datanode.data.dir</name>
? ? ? ? <value>file:/home/hadoop/hadoop-3.3.4/hadoop-datas/datanodes</value>
</property>
6.3?mapred-site.xml
<property>
? ? ? ? <name>mapreduce.framework.name</name>
? ? ? ? <value>yarn</value>
</property>
<property>
? ? ? ? <name>mapreduce.jobhistory.address</name>
? ? ? ? <value>master-1:10020</value>
</property>
<property>
? ? ? ? <name>mapreduce.jobhistory.webapp.address</name>
? ? ? ? <value>master-1:19888</value>
</property>
<property>
? ? ? ? <name>yarn.app.mapreduce.am.env</name>
? ? ? ? <value>HADOOP_MAPRED_HOME=/home/hadoop/hadoop-3.3.4/</value>
</property>
<property>
? ? ? ? <name>mapreduce.map.env</name>
? ? ? ? <value>HADOOP_MAPRED_HOME=/home/hadoop/hadoop-3.3.4/</value>
</property>
<property>
? ? ? ? <name>mapreduce.reduce.env</name>
? ? ? ? <value>HADOOP_MAPRED_HOME=/home/hadoop/hadoop-3.3.4/</value>
</property>
6.4??yarn-site.xml
<property>
? ? ? ? <name>yarn.resourcemanager.hostname</name>
? ? ? ? <value>master-1</value>
</property>
<property>
? ? ? ? <name>yarn.nodemanager.aux-services</name>
? ? ? ? <value>mapreduce_shuffle</value>
</property>
7、scp同步文件
8、启动
hdfs namenode -format #第一次启动需要,以后不用
start-dfs.sh
start-yarn.sh
mr-jobhistory-daemon.sh start historyserver
8、停止
stop-yarn.sh
stop-dfs.sh
mr-jobhistory-daemon.sh stop historyserver
四、hbase集群部署
1、下载地址:https://dlcdn.apache.org/hbase/2.4.16/hbase-2.4.16-bin.tar.gz
2、配置
2.1?hbase-env.sh
export JAVA_HOME=/etc/jdk1.8.0_151
export HBASE_MANAGES_ZK=false
2.2?hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://master-1:9000/HBase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 0.98 后的新变动,之前版本没有.port,默认端口为 60000 -->
<property>
<name>hbase.master.port</name>
<value>16000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master-1,master-2,master-3</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/ubuntu/soft/zookeeper/zkData</value>
</property>
2.3?regionservers
master-1
master-2
master-3
2.4?软连接 hadoop 配置文件到 HBase:
ln /home/hadoop/hadoop-3.3.4/etc/hadoop/core-site.xml /home/hadoop/hbase-2.4.16/conf/core-site.xml
ln /home/hadoop/hadoop-3.3.4/etc/hadoop/hdfs-site.xml /home/hadoop/hbase-2.4.16/conf/hdfs-site.xml
3、HBase 分发
scp -r hbase-2.4.16 master-2:/home/hadoop/
scp -r hbase-2.4.16 master-3:/home/hadoop/
4、启动
bin/start-hbase.sh
5、停止
bin/stop-hbase.sh