整了一天HBase集群配置,终于可以运行,明天测试,今天做个小结。
1:需要配置SSH密钥
master机: 1):ssh-keygen -t rsa 两个回车
2):cp id_rsa.pub authorized_keys
3):将authorized_keys 文件复制到各个slave(DataNode)机器
scp /home/Administrator/.ssh/authorized_keys 机器名:/home/Administrator/.ssh/
4):在所有机器执行用户权限命令chmod
chmod 644 authorized_keys
5):测试 ssh 机器名,查看能否登陆
注意:ssh localhost出现 closed by connection:1,需要在服务里点击属性,登陆,查找配置一个用户,重新启动即可。
2:1):host name配置
cygwin下就是更改用户名,我的电脑那里
linux下 vi /etc/hostname
2):往host中添加机器的hostname和IP。Master需要知道所有的slave的信息。对应的slave只需要知道Master和 自身的信息即可。
vi /etc/hosts
192.169.1.109 机器名
3: hadoop配置
1): 所有core-site.xml fs.default.name=> hdfs://master:9000
2):所有hdfs-site.xml dfs.permissions=>false, dfs.replication=>1
3):所有mapred-site.xml mapred.job.tracker=>192.168.1.109:9001
4):masters添加master的IP, slaves添加slave的IP
4: 需要去掉hadoop的安全模式 ./hadoop dsfadmin -safemode leave
最后查看 http://192.168.1.109:50030/jobtracker.jsp
4: HBase配置
1): hbase-site.xml
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://master:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.master</name> <value>192.168.1.10:60000</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>192.168.1.9,192.168.1.17,192.168.1.18</value> </property> </configuration>
hbase.zookeeper.quorum 的个数必须是奇数。
2): hbase-env.sh export HBASE_MANAGES_ZK=true
3): regionservers 添加DataNode的IP
4): 把 hadoop/下hadoop-core.jar代替原来的hbase/lib/下的hadoop-core-0.20-append-r1056497.jar
(解决错误 org.apache.hadoop.ipc.RPC$VersionMismatch: Protocol org.apache.hadoop.hdfs.protocol.ClientProtocol version mismatch. (client = 42, server = 41) )
注意 :每个机器的hadoop,hbase存放的目录要一致
最后http://192.168.1.10:60010/master.jsp