搭建一三台机器即1个master两个slave的hadoop集群
首先搭建zookeeper集群 详细请参看另一文档
(即本人同微博kafka文档)
首先配通master对slave的ssh免密码登录(加上自己也要)
ssh-keygen 一路回车生成密钥
ssh-copy-id root@192.168.1.4
依次对各个slave进行 包括自己
更改hostname 编辑 /etc/hostname文件夹
然后hostname 名字 例子(hostname vh01)更改现在的名字
在/etc/hosts中增加对所有机器的的解析
例子如下
192.168.172.71 master
192.168.172.72 slave1
192.168.172.73 slave2
配置Hadoop环境变量,HADOOP_HOME、hadoop-env.sh、yarn-env.sh。
配置HADOOP_HOME,编辑 vim /etc/profile 文件,添加如下内容:
export HADOOP_HOME=/home/hadoop (Hadoop的安装路径)
export PATH=$PATH:$HADOOP_HOME/sbin
export PATH=$PATH:$HADOOP_HOME/bin
(以下两行最好加上,若没有启动Hadoop、hbase时都会有没加载lib成功的警告)
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native”
配置hadoop-env.sh、yarn-env.sh,在Hadoop安装目录下
编辑 vim etc/hadoop/hadoop-env.sh
加入export JAVA_HOME=/usr/local/java(jdk安装路径)
编辑 vim etc/hadoop/yarn-env.sh
加入export JAVA_HOME=/usr/local/java(jdk安装路径)
保存退出
配置基本相关xml,core-site.xml、hdfs-site.xml、mapred-site.xml、mapred-site.xml
配置core-site.xml,在Hadoop安装目录下 编辑 vim etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
(定义HadoopMaster的URI和端口)
<value>hdfs://192.168.1.4:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name> <hadoop临时文件的存放目录>
<value>/home/hadoop/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
(用作序列化文件处理时读写buffer的大小)
<value>131702</value>
</property>
</configuration>
配置hdfs-site.xml,在Hadoop安装目录下 编辑 vim etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
(持久存储名字空间及事务日志的本地文件系统路径)
建议提前创建目录
<value>file:/home/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
(真正的datanode数据保存路径,可以写多块硬盘,逗号分隔)
<value>file:/home/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
(hdfs数据块的复制份数,默认3,理论上份数越多跑数速度越快,但是需要的存储空间也更多。)
<value>3</value>
</property>
</configuration>
配置mapred-site.xml,在Hadoop安装目录下 编辑 vim etc/hadoop/mapred-site.xml
<configuration>
<property> <!--mapreduce运用了yarn框架,设置name为yarn-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property> <!--历史服务器,查看Mapreduce作业记录-->
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>http://cy-hmaster-01:9001</value>
连接jobtrack服务器的配置项,默认不写是local
</configuration>
配置yarn-site.xml,在Hadoop安装目录下 编辑 vim etc/hadoop/yarn-site.xml
<configuration>
<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.resourcemanager.address</name>
ResourceManager 对客户端暴露的地址。客户端通过该地址向RM提交应用程序,杀死应用程序等
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
ResourceManager 对ApplicationMaster暴露的访问地址。ApplicationMaster通过该地址向RM申请资源、释放资源等。
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
ResourceManager 对NodeManager暴露的地址.。NodeManager通过该地址向RM汇报心跳,领取任务等
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
ResourceManager 对管理员暴露的访问地址。管理员通过该地址向RM发送管理命令等。
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
ResourceManager对外web ui地址。用户可通过该地址在浏览器中查看集群各类信息。
<value>master:8088</value>
</property>
</configuration>
7、配置slaves文件
在Hadoop安装目录下,编辑vim etc/hadoop/slaves,
去除默认的localhost,加入slave1、slave2,保存退出。
8、通过远程复制命令scp,将配置好的Hadoop复制到各个节点对应位置
scp -r /opt/hadoop 192.168.172.72:/opt/hadoop-2.7.3
scp -r /opt/hadoop 192.168.172.73:/opt/hadoop-2.7.3
9、Hadoop的启动与停止
(1)在Master服务器启动hadoop,从节点会自动启动,进入Hadoop目录下,
输入命令,bin/hdfs namenode -format进行hdfs格式化,只有第一次需要
输入命令,sbin/start-all.sh,进行启动
也可以分开启动,sbin/start-dfs.sh、sbin/start-yarn.sh
在master 上输入命令:jps, 看到ResourceManager、NameNode、SecondaryNameNode进程
在slave 上输入命令:jps, 看到DataNode、NodeManager进程
出现这5个进程就表示Hadoop启动成功。
Hbase安装部署基本步骤:
1、在Hadoop配置的基础上,配置环境变量HBASE_HOME、hbase-env.sh
编辑 vim /etc/profile 加入
export HBASE_HOME=/opt/hbase-1.2.6
export PATH=$HBASE_HOME/bin:$PATH
编辑vim /opt/hbase-1.2.6/conf/hbase-env.sh 加入
export JAVA_HOME=/opt/java_environment/jdk1.7.0_80(jdk安装路径)
export HBASE_MANAGES_ZK=false (使用搭建的zk集群不使用自带zk)
export HBASE_CLASSPATH=/usr/local/hbase-1.2.6/conf
hbaseconf文件的位置
export HBASE_HOME=/usr/local/hbase-1.2.6(hbase的位置)
export HADOOP_HOME=/usr/local/hadoop-2.7.4(hdoop的位置)
2、配置hbase-site.xml文件
<configuration>
<property>
<name>hbase.rootdir</name> <!-- hbase存放数据目录 -->
<value>hdfs://master:9000/opt/hbase/hbase_db</value>
<!-- 端口要和Hadoop的fs.defaultFS端口一致-->
</property>
<property>
<name>hbase.cluster.distributed</name> <!-- 是否分布式部署 -
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
Zookeeper的端口
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
Zookeeper的地址 写ip也行
<value>vh01,vh02,vh03</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
zookeeper 保持信息的文件,默认为/tmp 重启会丢失
<value>/home/hbase/zookeeper</value>
</property>
<property>
<name>hbase.master</name>
<value>cy-hmaster-01:60000</value>
</property>
</configuration>
3、配置regionservers
编辑 vim /opt/hbase-1.2.6/conf/regionservers 去掉默认的localhost,
加入slave1、slave2,保存退出
然后把在master上配置好的hbase,通过远程复制命令
scp -r /opt/hbase-1.2.6 192.168.172.72/73:/opt/hbase-1.2.6
复制到slave1、slave2对应的位置
4、启动与停止Hbase
(1)在Hadoop已经启动成功的基础上,输入start-hbase.sh,过几秒钟便启动完成,
输入jps命令查看进程是否启动成功,若 master上出现HMaster、HQuormPeer,
slave上出现HRegionServer、HQuorumPeer,就是启动成功了。
(2)输入hbase shell 命令 进入hbase命令模式
输入status命令可以看到如下内容,1个master,2 servers,3机器全部成功启动。
1 active master, 0 backup masters, 2 servers, 0 dead, 2.0000 average load
在浏览器中输入http://master:16010就可以在界面上看到hbase的配置了
(4)当要停止hbase时输入stop-hbase.sh,过几秒后hbase就会被停止了。