1 设置主机名与 IP 映射关系(所有节点)
vi /etc/hosts
10.101.240.41 hbase0
10.101.240.42 hbase1
10.101.240.43 hbase2
10.101.240.44 hbase3
2 配置节点间免密(所有节点)
# 生成密钥
ssh-keygen -t rsa
# 拷贝公钥至目标机器
ssh-copy-id -i ~/.ssh/id_rsa.pub 用户@远端ip
3 配置 JDK 环境(所有节点)
vim ~/.bashrc
# Java
export JAVA_HOME=/mnt/oge/jdk/
export CLASSPATH=.:$JAVA_HOME/lib:$CLASSPATH
export PATH=$PATH:$JAVA_HOME/bin
source ~/.bashrc
4 部署hadoop
- 创建存放 hadoop 临时数据的文件夹(所有节点)
mkdir -p /mnt/storage/hadoop_data
- 编辑
/mnt/oge/hadoop-2.7.3/etc/hadoop/core-site.xml
文件(hbase0)
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hbase0:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/mnt/oge/hadoop_data</value>
</property>
</configuration>
- 编辑
/mnt/oge/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
文件(hbase0)
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/mnt/oge/hadoop_data/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/mnt/oge/hadoop_data/dfs/data</value>
</property>
</configuration>
- 编辑
/mnt/oge/hadoop-2.7.3/etc/hadoop/slave
文件(hbase0)
hbase0
hbase1
hbase2
hbase3
- 编辑
/mnt/oge/hadoop-2.7.3/etc/hadoop/yarn-site.xml
文件(hbase0)
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>hbase0:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hbase0:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hbase0:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hbase0:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hbase0:8088</value>
</property>
</configuration>
- 编辑
/mnt/oge/hadoop-2.7.3/etc/hadoop/mapred-site.xml
文件(hbase0)
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hbase0:9001</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hbase0:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hbase0:19888</value>
</property>
</configuration>
- 将 hadoop 复制到其他节点(hbase0)
scp -r /mnt/oge/hadoop-2.7.3 root@其他节点:/mnt/oge/
- 配置环境变量(所有节点)
vim ~/.bashrc
# hadoop
export HADOOP_HOME=/mnt/oge/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_LOG_DIR=/mnt/oge/hadoop-2.7.3/logs
export YARN_LOG_DIR=$HADOOP_LOG_DIR
export HADOOP_PREFIX=/mnt/oge/hadoop-2.7.3/
source ~/.bashrc
- 执行格式化文件系统命令(hbase0)
# 进入hadoop/bin
cd /mnt/oge/hadoop-2.7.3/bin
# 格式化
./hadoop namenode -format
- 启动 hadoop 集群(hbase0)
# 进入hadoop/sbin
cd /mnt/oge/hadoop-2.7.3/sbin
# 启动
./start-all.sh
执行命令后,输入
yes
,可能会有些慢,耐心等待
- 通过
jps
命令可以查看到DataNode
和NameNode
[root@hbase0 sbin]# jps
35504 NameNode
35640 DataNode
36299 NodeManager
36397 Jps
35981 ResourceManager
35837 SecondaryNameNode
浏览器打开
hbase0_ip:8088
即可看到 hadoop的YARN ResourceManager
管理界面浏览器打开
hbase0_ip:50070
即可看到 hadoop的hdfs
管理界面
5 部署zookeeper(奇数个节点)
- 编辑
/mnt/oge/zookeeper-3.4.13/conf/zoo.cfg
文件(hbase0)
dataDir=/mnt/oge/zookeeper-3.4.13/data
server.1=hbase0:2888:3888
server.2=hbase1:2888:3888
server.3=hbase2:2888:3888
- 在
/mnt/oge/zookeeper-3.4.13/data
下创建一个文件myid
(hbase0)
mkdir /mnt/oge/zookeeper-3.4.13/data
cd /mnt/oge/zookeeper-3.4.13/data
echo 1 >> myid
在第1台机器里面填写的内容: 1 在第2台机器里面填写的内容: 2 在第3台机器里面填写的内容: 3
这个我们后面把
zookeeper
目录复制到其他机器上时再统一修改
- 复制
zookeeper
到其他节点(hbase0)
scp -r /mnt/oge/zookeeper-3.4.13 root@其他节点:/mnt/oge
- 修改
/mnt/oge/zookeeper-3.4.13/data/myid
中的内容 - 配置环境变量(所有节点)
vim ~/.bashrc
# zookeeper
export ZOOKEEPER_HOME=/mnt/oge/zookeeper-3.4.13
export PATH=$ZOOKEEPER_HOME/bin:$PATH
source ~/.bashrc
- 启动(所有节点)
分别在每台机器上运行zkServer.sh start命令
需要关闭防火墙
cd /mnt/oge/zookeeper-3.4.13/bin
./zkServer.sh start
6 部署Hbase
- 编辑
/mnt/oge/hbase-1.4.13/conf/hbase-env.sh
文件(hbase0)
export JAVA_HOME=/mnt/oge/jdk
- 编辑
/mnt/oge/hbase-1.4.13/conf/hbase-site.xml
文件(hbase0)
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hbase0:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hbase0,hbase1,hbase2</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/mnt/oge/zookeeper-3.4.13/data</value>
</property>
<property>
<name>hbase.master</name>
<value>hdfs://hbase0:60000</value>
</property>
<property>
<name>hbase.client.keyvalue.maxsize</name>
<value>514672800</value>
</property>
<property>
<name>hbase.server.keyvalue.maxsize</name>
<value>544572800</value>
</property>
</configuration>
- 编辑
/mnt/oge/hbase-1.4.13/conf/regionservers
文件(hbase0)
hbase0
hbase1
hbase2
hbase3
- 拷贝
hbase
目录至其他节点(hbase0)
scp -r /mnt/oge/hbase-1.4.13 root@其他节点:/mnt/oge
scp -r /mnt/oge/hbase-1.4.13 root@hbase1:/mnt/oge
- 配置环境变量(所有节点)
vim ~/.bashrc
# hbase
export HBASE_HOME=/mnt/oge/hbase-1.4.13
export PATH=$HBASE_HOME/bin:$PATH
source ~/.bashrc
- 启动 hbase(hbase0)
cd /mnt/oge/hbase-1.4.13/bin
./start-hbase.sh
- 浏览器打开
hbase0_ip:16010
即可看到hbase
部署成功