温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

hadoop+hbase+zookeeper完全分布安装(1)

发布时间:2020-08-01 16:43:17 来源:网络 阅读:1133 作者:hujunshao 栏目:关系型数据库

版本选择

选择 Hadoop 版本对HBase部署很关键。下表显示不同HBase支持的Hadoop版本信息。基于HBase版本,应该选择合适的Hadoop版本。



HBase-0.92.xHBase-0.94.xHBase-0.96
Hadoop-0.20.205SXX
Hadoop-0.22.xSXX
Hadoop-1.0.xSSS
Hadoop-1.2.xNTSS
Hadoop-0.23.xXSNT
Hadoop-2.xXSS


S = supported and tested,支持
X = not supported,不支持
NT = not tested enough.可以运行但测试不充分


一.准备工作

1.选择合适的配套软件。本文所使用的软件包分别为

hadoop-1.2.1-bin.tar.gz

hbase-0.94.10.tar.gz

jdk-6u20-linux-i586.bin

zookeeper-3.4.6.tar.gz


2.环境准备,本实验是已三台机器做一个集群,1个master,2个slave。

1)每台机器上安装openssl,rsync


2)每台机器上建立用户hadoop,并且在/etc/sysconfig/network修改主机名,

和在/etc/hosts里加入如下映射

192.168.10.1 master

192.168.10.2 slave1

192.168.10.3 slave2


注: DNS映射的这3主机不能有其它的dns映射名。否则 建好集群准备建表的hbase会非常奇葩的报错

org.apache.hadoop.hbase.PleaseHoldException: Master is initializing   


导致 建表和写入

3) 安装JDK

创建文件夹/usr/java ,将jdk-6u20-linux-i586.bin移到此文件夹后执行

将java路径加入 /etc/profile

export JAVA_HOME=/usr/java/jdk1.6.0_45

export JRE_HOME=/usr/java/jdk1.6.0_45/jre

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH


二 . 安装hadoop

1.master 与两台slave机间相互建立ssh无密码登录(出于安全考虑最好是通过hadoop用户来建立)


1)首先所有机切换到hadoop 用户 输入

ssh-keygen -t rsa

这样就会在hadoop用户主目录下生成 ~/.ssh/ 一对公私匙 id_rsa id_rsa.pub


2) 然后在master机上将id_rsa.pub的内容追加到同一目录的授权key authorized_keys文件里(没有就创建一 个)

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

这样就实现了 ssh 无密码自登陆,可以试试 命令 ssh localhost 登录 看是否需要密码


3) 将文件 id_rsa.pub通过scp命令传到slave1 和2 里面

scp id_rsa.pub hadoop@192.168.10.2:~

scp id_rsa.pub hadoop@192.168.10.3:~

然后一样的将里面的内容追加到key authorized_keys里

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

这样maser机就能够无密码的登录这两台slave了


4)照上面的做法,依次将slave1和slave2的id_rsa.pub内容追加到 master上的authorized_keys里

达到master与slave相互之间无密码ssh登录。


5) 注意 一定要用主机名相互登录一次。否则后面启动hadoop时候会出现 ssh报错 导致启动失败



2.将hadoop压缩包解压,并放到/usr/local/hadoop目录下,添加一个目录tmp ,

并将整个目录的所有者改为hadoop

tar zxvf hadoop-1.2.1-bin.tar.gz

mv hadoop-1.2.1/ /usr/local/hadoop

mkdir /usr/local/hadoop/tmp

chown -R hadoop:hadoop /usr/local/hadoop


3.修改hadoop的配置文件,一般想让hadoop正常启动起来,最少需要配置修改4个配置文件

分别是


1) 修改配置文件 /usr/local/hadoop/conf/hadoop-env.sh

 在文件的末尾处加上

export JAVA_HOME=/usr/java/jdk1.6.0_45


2) 修改配置文件 /usr/local/hadoop/conf/core-site.xml 内容如下

<configuration>

<property>

<name>hadoop.tmp.dir</name> 配置tmp存储目录

<value>/usr/local/hadoop/tmp</value>

</property>

<property>

<name>fs.default.name</name>

<value>hdfs://master:9000</value> 配置HDFS的地址和端口号

</property>

</configuration>



3) 修改配置文件/usr/local/hadoop/conf/hdfs-site.xml 内容如下

<configuration>

<property>

<name>dfs.name.dir</name>

<value>${hadoop.tmp.dir}/dfs/name</value>

</property>

<property>

<name>dfs.data.dir</name>

<value>/usr/local/hadoop/data</value>

</property>


<property>

<name>dfs.replication</name>

<value>1</value>

</property>


</configuration>


4.修改配置文件/usr/local/hadoop/conf/mapred-site.xml


<configuration>

<property>

<name>mapred.job.tracker</name>

<value>hbase1:9001</value>  

</property>

</configuration>


5.在/etc/profile中里添加hadoop的路径

export HADOOP_HOME=/usr/local/hadoop

export PATH=$HADOOP_HOME/bin:$PATH

使之生效

source /etc/profile


这样master的hadoop已经安装好了


6.使用scp将 文件夹/usr/local/hadoop 传到两台slave机上相同的路径

scp -r /usr/local/hadoop root@192.168.10.2:/usr/local

scp -r /usr/local/hadoop root@192.168.10.3:/usr/local

修改所有者

chown -R hadoop:hadoop /usr/local/hadoop

在 /etc/profile 添加如下变量

export HADOOP_HOME=/usr/local/hadoop

export PATH=$HADOOP_HOME/bin:$PATH

使之生效

source /etc/profile


三。 启动分布式文件系统hadoop

首先 ,在第一次启动时要在master上 ,su切换到hadoop用户执行以下命令

hadoop namenode -format

出现 sucessfully formatted 就说明格式化成功了


然后用hadoop用户 运行脚本文件 start-all.sh 即可启动


四。 验证hadoop

启动后 使用命令jsp 来查看进程。

一般来说 正常的master下会有如下几个进程

JobTracker

NameNode

SecondaryNameNode


正常的slave下有以下2个

JobTracker

NameNode



这样hadoop就安装成功了









向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI