hadoop、zookeeper、hbase在Linux中的安装

来源:互联网 发布:windows不能访问samba 编辑:程序博客网 时间:2024/05/21 15:07
1.准备Linux环境
1.0点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host-only ->修改subnet ip 设置网段:192.168.8.0 子网掩码:255.255.255.0 -> apply -> ok
回到windows --> 打开网络和共享中心 -> 更改适配器设置 -> 右键VMnet1 -> 属性 -> 双击IPv4 -> 设置windows的IP:192.168.8.0 子网掩码:255.255.255.1 -> 点击确定
在虚拟软件上 --My Computer -> 选中虚拟机 -> 右键 -> settings -> network adapter -> host only -> ok
1.1修改主机名
vim /etc/sysconfig/network

NETWORKING=yes 
HOSTNAME=Linux    ###


1.2修改IP
两种方式:
第一种:通过Linux图形界面进行修改(强烈推荐)
进入Linux图形界面 -> 右键点击右上方的两个小电脑 -> 点击Edit connections -> 选中当前网络System eth0 -> 点击edit按钮 -> 选择IPv4 -> method选择为manual -> 点击add按钮 -> 添加IP:192.168.8.88子网掩码:255.255.255.0 网关:192.168.8.0 -> apply

第二种:修改配置文件方式(屌丝程序猿专用)
vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"
BOOTPROTO="static"           ###
HWADDR="00:0C:29:3C:BF:E7"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c"
IPADDR="192.168.8.88"       ###
NETMASK="255.255.255.0"      ###
GATEWAY="192.168.8.1"        ###

1.3修改主机名和IP的映射关系
vim /etc/hosts

192.168.8.88 Linux

1.4关闭防火墙
#查看防火墙状态
service iptables status
#关闭防火墙
service iptables stop
#查看防火墙开机启动状态
chkconfig iptables --list
#关闭防火墙开机启动
chkconfig iptables off

1.5重启Linux
reboot

2.安装JDK
2.1上传

2.2解压jdk
#创建文件夹
mkdir /usr/java
#解压
tar -zxvf jdk-7u55-linux-i586.tar.gz -C /usr/java/

2.3将java添加到环境变量中
vim /etc/profile
#在文件最后添加
export JAVA_HOME=/usr/java/jdk1.7.0_55
export PATH=$PATH:$JAVA_HOME/bin          //之后的安装过程中也可以将HBase、hadoop、zookeeper的path加入,中间用冒号(:)隔开

#刷新配置

source /etc/profile

Hadoop zookeeper hbase 搭建说明(按顺序搭建)

 

所用到的tar包如下:

hbase-0.94.11.tar.gz

hadoop-1.0.4.tar.gz

zookeeper-3.4.6.tar.gz

 

1.安装JDK(确保为1.6或以上)

 

2.安装HADOOP

2.1. 创建hadoop文件夹,上传hadoop-1.0.4.tar.gz到该目录,并解压。

2.2. 在$HADOOP_HOME/conf中进行相关配置文档修改。

 

core-site.xml ,其中Linux为hostname

 

<configuration>

<property>

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

<value>hdfs://Linux:9000</value>

</property>

</configuration>

-----------------------------------------------------------------

hdfs-site.xml,指定name node和data node的数据存储位置

 

<configuration>

<property>

         <name>dfs.replication</name>

         <value>1</value>

    </property>

 

<property>

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

<value>/home/hadoop/hadoop-1.0.4/tmp/name</value>

</property>

 

<property>

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

<value>/home/hadoop/hadoop-1.0.4/tmp/data</value>

</property>

</configuration>

 

 

mapred-site.xml

 

<property>

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

<value>Linux:9001</value>

</property>

-------------------------------------------------------------------

 

2.3 启动/关闭hadoop

第一次启动要格式化名字节点  hadoop namenode -format

在bin目录下start-all.sh     stop-all.sh

2.4 状态查看

jps 查看java 进程,正常启动包含以下进程:

NameNode  SecondaryNameNode  DataNode  JobTracker  TaskTracker

如果有未正常启动的进程,需查看日志进行相应定位。

一般每个进程都会在logs中生成 .log  .out两种日志。

出错的进程还会在$HADOOP_HOME下产生格式如hs_err_pid17157.log的日志。

2.5验证是否启动成功
使用jps命令验证
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode

http://192.168.8.88:50070  (HDFS管理界面)
在这个文件中添加linux主机名和IP的映射关系
C:\Windows\System32\drivers\etc\hosts
192.168.1.119 itcast

http://192.168.8.88:8088 (MR管理界面)
2.6测试hdfs:

1.线上传文件到hdfs
hadoop fs -put software/jdk-7u79-linux-i586.tar.gz hdfs://192.168.8.88:9000
2.从hdfs文件系统中下载文件到本地
hadoop fs -get hdfs://Linux:9000/jdk /root/software/jdk
4.配置ssh免登陆
生成ssh免登陆密钥
cd ~,进入到我的home目录
cd .ssh/


ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免登陆的机器上
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

ssh-copy-id -i localhost 

3.安装ZOOKEEPER

3.1 新建zookeeper文件夹,上传对应tar包并解压。

3.2 将conf下的zoo_sample.cfg 复制一份重命名为 zoo.cfg。据实际情况修改数据文件存储地址和客户端端口号,如下

dataDir =/home/zookeeper/zookeeper-3.4.6/tmp/zookeeper

clientPort=12306

 

3.3 管理zookeeper

bin目录下执行

./zkServer.sh start    启动

./zkServer.sh stop     关闭

./zkServer.sh status   状态查看

 

4.安装HBASE

 

在conf下修改 hbase-site.xml。Linux为主机名,12306为zookeeper端口号。

<property>

        <name>hbase.cluster.distributed</name>

         <value>true</value>

     </property>

 

    <property>

        <name>hbase.rootdir</name>

        <value>hdfs://Linux:9000/hbase</value>

    </property>

 

        <property>

        <name>hbase.zookeeper.quorum</name>

        <value>Linux</value>

     </property>

 

     <property>

        <name>hbase.zookeeper.property.clientPort</name>

        <value>12306</value>

     </property>

 

     <property>

        <name>hbase.tmp.dir</name>

        <value>/home/hadoop/hbase/hbase-0.94.11/tmp</value>

     </property>

 

修改 hbase-env.sh。最后一行修改如下语句,不使用hbase自带的zookeeper。

export HBASE_MANAGES_ZK=false

配置JAVA_HOME(jdk安装路径)和HBASE_CLASSPATH(HBase安装路径)两个配置项

 

错误: 找不到或无法加载主类 org.apache.hadoop.hbase.util.HBaseConfTool

原因:hbase中的配置文件(hbase-env.xml)中的HBASE_CLASSPATH为配置或配置错误。

 

错误:ERROR org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem initialization failed.
java.io.IOException: NameNode is not formatted.

原因:hadoop第一次启动时没有进行format,需要删除tmp目录中的两个文件,进行一次format。命令:hadoop namenode -format

 

错误:

找不到jdk之类的。在(hbase-env.xml)中需配置HBASE_MANAGES_ZK=false

 


0 0