史上最全的hadoop+zookeeper+hbase安装文档

来源:互联网 发布:mac 链接无线键盘 编辑:程序博客网 时间:2024/05/21 10:47

这文档很傻瓜式,个人总结,为了帮助初学者安装。

hadoop安装

1.  准备虚拟机:

 

1.1.  安装虚拟机:(模拟真实的linux环境)

1.1.1.  新建

1.1.2.  填写信息,点击下一步

注意:如果看不到 ,表示虚拟化没开启,需要按照下面步骤开启虚拟化。

1)重启机器

2)根据机器左下角提示,按f2进入bios

3)按左右的按钮选择BIOS

4)找到intel virtual  tecnoligy

5)由disable改成ENABLED。

6)重启。

 

 

1.1.3.  输入1024(内存),因为1024可以图形化界面安装。下一步

1.1.4.  选择创建,创建虚拟硬盘

 

1.1.5.  选择硬盘文件类型,点击下一步

 

1.1.6.  选择动态分配,点击下一步

1.1.7.  输入大小,这里的20G不会真实的分配20G,是动态扩展,点击创建结束

到此,虚拟机创建完毕。

 

1.1.8.  选择虚拟机,点击设置

1.1.9.  常规-高级,虚拟机备份位置

1.1.10.          显示-48M,大一点,否则安装虚拟机的时候会有点卡

1.1.11.          存储,选择镜像文件

1.1.12.          点击 ,选择一个虚拟光盘

1.1.13.          网卡1、2

网卡1:对应linux中的eth0.

       启用网络连接:选择勾上。

       连接方式:桥接

       界面名称:选择网卡信息(可以使本地连接或者无线,在“更改适配器”中能看到名字对应哪个网卡)

       混杂模式:全部允许。

       接入网线:选择勾上

网卡2:对应linux中的eth1.

       启用网络连接:选择勾上。

       连接方式:仅Host-only。

       界面名称:虚拟网卡的驱动(注意:如果什么都没有,说明你的虚拟网卡没有打开,去“更改适配器”中将禁用的网卡打开)

       混杂模式:全部允许。

接入网线:选择勾上

 

1.1.14.          点击确认,虚拟机设置完毕。

1.1.15.          点击启动

注意:如果启动的时候报错:centos:only for i686,说明你机器的虚拟技术没开启,按照上面1.1.2的说明修改bios。

1.1.16.          选择第一项,通过镜像安装

1.1.17.          测试media,按tab选择,选择跳过

1.1.18.          选择next

           

1.1.19.          选择中文简体,那么接下来的安装过程中为中文,next

1.1.20.          选择系统语言,next

1.1.21.          选择“是,忽略所有数据”

1.1.22.    输入主机名

主机名:linux机器的名字。比如,你要安装的这台机器是master,你就可以将主机名命名为master,如果是slave1,就可以是slave1,以此类推。不要按照下图的输入,自己命名。

注意:输入完主机名后,不要点击下一步,要先设置网络。

 

1.1.23.          配置网络,点击“配置网络”

1.1.24.          双击System eth0,

1、“自动连接”勾上

2、选择“ipv4设置”

3、查看是否是“自动(DHCP)”,如果是,点击“应用”即可。

,

1.1.25.          双击eth1

1、“自动连接”勾上

2、选择“ipv4设置”

3、在“方法”中将“自动连接(DHCP)”改为手动。

4、点击添加。

5、在“地址”:中输入“192.168.56.xxx”,因为你的虚拟网卡的网段是“192.168.56.xxx”,所以你只需要将xxx配制成你想设置的ip即可。这个ip用来客户端工具连接使用。

6、在“子网掩码”中输入“255.255.255.0”。

7、其他的不用设置,点击应用即可。

25、点击网络的关闭,就会出现下面的图,然后下一步,可能活等一会,或者报错,说,eth0有错误,跳过即可,因为你可能连接不上网络。

1.1.26.          选择上海时区,点击下一步

1.1.27.          为root用户创建密码(密码可以自定义,最小6位):hadoop

1.1.28.          选择“替换现有的linux”点击下一步

1.1.29.          选择“basic server”,选择下一步

1.1.30.          进入安装过程

1.1.31.          安装完成,重新引导

1.1.32.          启动系统

 

1.1.33.          输入用户名密码root、hadoop进入系统

                       

1.1.34.          ifconfig,查看网卡信息,并ping www.baidu.com 查看是否能连接外网

1.1.35.          虚拟机安装成功,将虚拟机停止

关机命令:shutdown –hnow

或者

直接点x,正常关闭,不要强制退出。

1.1.36.          修改虚拟机的参数

比如:内存、显存

修改过后,启动机器,占用资源就会变小。

1.1.37.          按照上述1.1.1---1.1.36步骤安装集群中的其他机器。

 

1.1.38.          虚拟机安装成功。可以安装系统软件,时间较长,可以选择需要的时候在安装。安装的时候用户为root。

yum -y install  lrzsz(上传下载的命令,比如在linux客户端中输入rz就可以上传,如果不安装,可以用客户端工具上传下载,并不影响使用)

yum -y update (将系统升级,会升级到最新系统,但是非常慢)

yum -y install gcc (安装c和c++的一些包)

yum -y install gcc make (安装c和c++的一些包) 

yum -y install kernel (安装内核组件,如果机器已经存在内和组件,此命令会将其升级)

yum -y install kernel-devel (安装内核组件,如果机器已经存在内和组件,此命令会将其升级)

yum –y install nc(zookeeper的命令依赖)

 

2.  使用客户端工具链接虚拟机操作

2.1.  有两个工具

SecureSRT:命令行工具。

WinSCP:上传下载工具。

2.2.  使用方法

1、  双击 进入命令行工具

2、  如果已经过期,在文件最下方,有个说明文件 ,按照文件中的信息,输入破解信息即可。

3、  点击下面标红的按钮

4、在弹出的窗口中再点击下面的按钮

5、在下面的弹出框中选择下一步

6、在下图中输入信息如下

7、在下图中选择scp,点击下一步

8、填写会话名称

9、找到你的会话,双击即可

10、             输入用户root的密码,即可连接

 

3.  关闭防火墙

防火墙分为两种:iptables和selinux,都关闭。

3.1.  关闭iptables

1、  su – root(切换用户)

2、临时关闭(不用重启机器):service iptables stop

3、永久关闭:chkconfig iptables off 

4、查看状态chkconfig iptables –list

5、如果现实的都是关闭,就可以了。

3.2.  关闭Selinux:

1、临时关闭(不用重启机器):setenforce 0(状态变为permissive即可)             

2、永久关闭(修改配置文件需要重启机器):

vi /etc/selinux/config

将SELINUX=enforcing改为SELINUX=disabled

3、查看

命令:getenforce

结果:状态变为permissive即可

4.  配置windowslinix机器的域名

 

4.1.  修改windows的hosts文件:

打开:C:\Windows\System32\drivers\etc\hosts这个文件,将下面内容修改成你自己的ip和域名,并添加到hosts文件中,下面是个事例,你也需要设置好几个ip和域名才对,分别就是你的主和从。其中的ip是56网段的ip,因为56网段是hostonly的,可以随便配置静态ip,客户端连接方便。

注意:此处的域名必须和每台机器的机器名相同,机器名的查看方式为在命令行中直接输入hostname命令,即显示机器名。如果不相同,启动时会报错,unknow hostname

如果报错,有两种修改方式,

一种是修改/etc/sysconfig/network文件,将文件中的机器名改为此处的域名。第二种方式是修改此处的域名,预计其名相对应。

192.168.56.200 hadoop1master

192.168.56.201 hadoop1slave1

192.168.56.202 hadoop1slave2

192.168.56.203 hadoop1slave3

4.2.  修改linux的hosts文件,需要每台机器都修改。

比如:

1、master机器相应的操作如下:

1、su – root

2、vi /etc/hosts

3、添加内容类似于下面的

192.168.56.200 hadoop1master

192.168.56.201 hadoop1slave1

192.168.56.202 hadoop1slave2

192.168.56.203 hadoop1slave3

 

4、添加完内容,按键盘的右上角的“Esc”,退出

5、输入“ :wq ”保存退出即可

 

2、slave1机器相应的操作如下:

1、su – root

2、vi /etc/hosts

3、添加内容类似于下面的

192.168.56.200 hadoop1master

192.168.56.201 hadoop1slave1

192.168.56.202 hadoop1slave2

192.168.56.203 hadoop1slave3

 

4、添加完内容,按键盘的右上角的“Esc”,退出

5、输入“ :wq ”保存退出即可

 

 

 

3、slave2同上。

 

 

5.  安装JDKn台都要装)

5.1.  切换到root用户:

su – root

 

5.2.  查看以前是不是安装了openjdk:

命令:rpm -qa | grep java

显示如下:(有则卸载,没有就不用)

tzdata-java-2013g-1.el6.noarch

java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

5.3.  卸载openjdk:

(其中参数“tzdata-java-2013g-1.el6.noarch”为上面查看中显示的结果,站进来就行)

 

rpm -e --nodeps  tzdata-java-2013g-1.el6.noarch

rpm -e --nodeps  java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

rpm -e --nodeps  java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

 

5.4.  安装sunjdk:

5.4.1.  安装jdk

1、  切换到root用户,如果已经是root用户就不需要切换了

命令:su - root

2、  进入usr目录

cd /usr

3、  在usr目录下创建java文件夹

mkdir java

4、  将jdk-6u24-linux-i586.bin拷贝到java目录下(用工具)

用上传下载工具,从windows中将文件“jdk-6u24-linux-i586.bin”上传到linux的/usr/java下

5、  进入/usr/java文件夹下

 cd/usr/java

6、 修改权限,参数“jdk-6u32-linux-x64.bin”为你自己上传的jdk安装文件,不要复制命令

chmod 755jdk-6u32-linux-x64.bin

7、  执行安装

./jdk-6u24-linux-i586.bin

8、  创建快捷方式,参数“/usr/java/jdk1.6.0_32/”为你jdk安装的路径,“/usr/jdk”为你需要创建的jdk快捷方式的路径,此“/usr/jdk”路径需要配置到环境变量。

ln -s/usr/java/jdk1.6.0_32/ /usr/jdk

 

 

9、  配置环境变量

vi /etc/profile

添加内容:

export JAVA_HOME=/usr/jdk

export PATH=$PATH:$JAVA_HOME/bin

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

export JAVA_HOME PATH CLASSPATH

 

10、执行下命令

source /etc/profile

11、其他几台机器,安装前10步的方法同样安装。

6.  创建hadoop用户和组(用于操作hadoop

groupadd hadoop

useradd -g hadoophadoop

passwd hadoop

7.  安装hadoop

7.1.1.  上传

只需要上传到master机器即可。

用工具或命令将hadoop安装文件上传到/home/hadoop文件夹下。传上去之后,用“ll”命令查看一下安装文件的所属用户,如果是属于root的,修改为hadoop用户,命令如下:

cd /home/hadoop

ll

chown hadoop:hadoop hadoop-1.0.4.tar.gz

 

7.1.2.  解压

1、  切换用户到hadoop

su – hadoop

2、执行解压命令:

tar –zxvf  hadoop-1.0.4.tar.gz

7.1.3.  重命名

mv hadoop-1.0.4 hadoop

7.1.4.  修改环境变量

1、切换用户到root

 su –root

2、vi /etc/profile

3、添加内容:

export HADOOP_HOME=/home/hadoop/hadoop

export PATH=$PATH:$HADOOP_HOME/bin

 

4、执行命令,重新编译文件

source /etc/profile

5、发送:

scp /etc/profile root@slave1:/etc/

scp /etc/profile root@slave2:/etc/

scp /etc/profile root@slave3:/etc/

6、切换回hadoop用户

su - hadoop

7、到其他几台机器上分别执行下面命令

su – root

source /etc/profile

su - hadoop

7.1.5.  修改hadoop配置文件

1、在master机器上修改即可

2、用工具将6个修改好的配置文件上传到master机器的/home/hadoop/hadoop/conf/路径下。

3、查看这几个文件的所有者是不是hadoop

4、如果不是hadoop用户,那么你需要用root用户修改文件的所属者,命令如下:

su – root

chown hadoop:hadoop 文件名

5、修改完事,切换回hadoop用户

su - hadoop

6、用hadoop用户创建存储文件夹(权限为755)

cd /home/hadoop/hadoop

mkdir data

mkdir tmp

chmod 755 data

chmod 755 tmp

7.1.6.  发送hadoop安装包到其他机器

scp –r /home/hadoop hadoop@192.168.10.208:/home/hadoop

scp –r /home/hadoop hadoop@192.168.10.209:/home/hadoop

scp –r /home/hadoop hadoop@192.168.10.210:/home/hadoop

 

7.1.7.  到此为止hadoop安装完毕

7.1.8.  安装ssh

0、在master机器上做操作。

1、 切换到hadoop用户:

su – hadoop

2、 执行下面命令

ssh localhost(创建.ssh文件夹)

exit(退出)

3、ll –a(查看隐藏文件)

4、进入.ssh

cd .ssh

5、删除其中的文件

rm -rf known_hosts

6、创建密钥对

ssh-keygen -t rsa (一直回车即可。#创建ssh秘钥,基于rsa算法的)

7、把公钥放到认证列表里

cat id_rsa.pub>> authorized_keys      

8、授权

chmod 600authorized_keys      

10、        保证权限为以下状态:

执行命令:ll

显示信息为:

-rw-------. 1 hadoophadoop 395 20:55 authorized_keys

-rw-------. 1 hadoophadoop 1675 20:52 id_rsa

-rw-r--r--. 1 hadoophadoop 395 20:52 id_rsa.pub

10、登陆slave1,执行命令

su – hadoop

ssh localhost

exit

11、登陆slave2,执行命令

su – hadoop

ssh localhost

exit

12、如果有slave3,同slave1和slave2操作。

 

13、在master机器上操作,将文件分发给每个slave

scp ~/.ssh/authorized_keyshadoop@slave1:~/.ssh/

scp ~/.ssh/authorized_keyshadoop@slave2:~/.ssh/

scp ~/.ssh/authorized_keyshadoop@slave3:~/.ssh/

11、修改master和slave1、slave2、slave3配置信息(4台都需要修改)

su – root

用工具将sshd_config文件上传到linux的/etc/ssh/文件夹下,并确保是属于root用户的。

其中修改的信息为下面所示,下面的信息只是展示:

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

GSSAPIAuthentication no       

UseDNS no

11、        重新启动ssh

service sshd restart

12、        发送配置文件到其他机器

scp sshd_config root@slave1:/etc/ssh/

scp sshd_config root@slave2:/etc/ssh/

scp sshd_config root@slave3:/etc/ssh/

13、        登陆slave1、slave2、slave3,分别执行下面命令

su – root

service sshd restart

       su - hadoop

13、验证

在master机器上执行下面命令:

ssh slave1

如果不需要输入密码就是成功,成功后执行退出命令:

exit

 

7.1.9.  起动机群

1、 在master机器上格式化:

su - hadoop

hadoop namenode-format

cd/home/hadoop/hadoop

查看有无logs文件夹,如果没有,证明没报错,格式化成功。如果有,检查错误。

2、 在master机器上启动:

启动集群需要使用hadoop用户,如果使用了root用户,则有些hadoop的文件权限变成了root用户的,下次启动会有问题。

如果你用root用户启动了,那么需要执行下面命令:

su – root

cd /home/hadoop

chown –Rhadoop:hadoop hadoop

su – hadoop

每台机器都需要修改。

(此命令是将文件夹的所有者更改为hadoop,其中chown为更改所有者的命令,-R为级联修改子文件夹及其子文件,hadoop:hadoop是用户和组,最后的hadoop指的是hadoop文件夹。)

  

启动命令:start-all.sh

3、在每台机器上验证:(会出现进程)

Jps

会出现进程:

master:

namenode

secondrednamenode

jobtracker

jps

slave1:

              datanode

       tasktracker

       jps

4、页面监控:

http://master:50070 #监控HDFS

http://master:50030 #监控jobtraker(mapredus)

 

5、停止所有机器:  

停止命令也需要使用hadoop用户。

stop-all.sh

8.  zookeeper安装

8.1.  准备环境

(2n-1台linux机器或者虚拟机:由于zookeeper的paxos算法要求半数以上存活则为可用,所以必须准备单数个服务器搭建环境)

8.2.  上传

用工具上传zookeeper安装文件到/home/hadoop并确保文件的所属用户书hadoop,

如果不是,需要用root用户修改文件的所属者。

命令:

su – root

cd /home/hadoop

chown hadoop:hadoop zookeeper-3.4.5.tar.gz

su - hadoop

8.3.  解压

用hadoop用户解压,如果不是hadoop用户,需要su – hadoop

tar –zxvf zookeeper-3.4.5.tar.gz

8.4.  重命名

需要是hadoop用户

mv zookeeper-3.4.5 zookeeper

8.5.  修改环境变量(集群的每台zookeeper机器都要改)

8.5.1.  在zookeeper的第一台机器机器上执行

1、su – root

2、vi /etc/profile

3、添加内容:

export ZOOKEEPER_HOME=/home/hadoop/zookeeper

export PATH=$PATH:$ZOOKEEPER_HOME/bin

4、重新编译

source /etc/profile

5、切换用户

su – hadoop

8.5.2.  在zookeeper的其他机器做同上的步骤

见上面

8.6.  修改zookeeper配置文件

1、  su – hadoop

2、  cd /home/hadoop/zookeeper/conf

3、  cp zoo_sample.cfg zoo.cfg

4、  vi zoo.cfg

5、  添加内容,其中域名需要自己斟酌

dataDir=/home/hadoop/zookeeper/data

dataLogDir=/home/hadoop/zookeeper/log

server.1=slave1:2888:3888

server.2=slave2:2888:3888

server.3=slave3:2888:3888

 

6、  创建文件夹

cd /home/hadoop/zookeeper

mkdir data

mkdir log

chmod 755 data

chmod 755 log

7、  创建myid文件,并添加内容

cd /home/hadoop/zookeeper/data

vi myid

添加内容:

1

 

8.7.  将zookeeper传到其他机器

scp –r /home/hadoop/zookeeperhadoop@slave1:/home/hadoop

scp –r /home/hadoop/zookeeper hadoop@slave2:/home/hadoop

scp –r /home/hadoop/zookeeper hadoop@slave3:/home/hadoop

 

8.8.  修改其他机器的配置文件

8.8.1.  在slave2机器上执行命令:

su – hadoop

cd /home/hadoop/zookeeper/data

vi myid

修改内容,将1改为2

2

8.8.2.  在slave3机器上执行命令:

su – hadoop

cd /home/hadoop/zookeeper/data

vi myid

修改内容,将1改为3

3

 

8.9.  启动

8.9.1.  在slave1上执行:

zkServer.sh start

8.9.2.  在slave2上执行:

zkServer.sh start

8.9.3.  在slave3上执行:

zkServer.sh start

 

8.10.    查看

8.10.1.          在slave1上执行

jps

zkServer.sh status

8.10.2.          在slave2上执行

jps

zkServer.sh status

8.10.3.          在slave3上执行

jps

zkServer.sh status

9.  hbase安装文档

9.1.  上传

首先确保用户是hadoop,用工具将hbase安装包hbase-0.94.6.tar.gz上传到/home/hadoop下,确保hbase-0.94.6.tar.gz的用户是hadoop,如果不是,执行chown命令,见上文

9.2.  解压

su – hadoop

tar –zxvf hbase-0.94.6.tar.gz

9.3.  重命名

mv hbase-0.94.6 hbase

9.3.1.  修改环境变量

1、  在master机器上执行下面命令:

su – root

vi/etc/profile

添加内容:

export HBASE_HOME=/home/hadoop/hbase

export PATH=$PATH:$HBASE_HOME/bin

执行命令:

source /etc/profile

su – hadoop

2、在其他机器上执行上述操作。

9.3.2.  修改配置文件

su – hadoop

将配置文件 上传到/home/hadoop/hbase/conf文件夹下。

每个文件的解释如下:

hbase-env.sh

export JAVA_HOME=/usr/jdk   //jdk安装目录

export HBASE_CLASSPATH=/home/hadoop/hadoop/conf   //hadoop配置文件的位置

export HBASE_MANAGES_ZK=true   #如果使用独立安装的zookeeper这个地方就是false

 

hbase-site.xml

<configuration>

  <property>

  <name>hbase.master</name>           #hbasemaster的主机和端口

  <value>master:60000</value>

  </property>

  <property>

  <name>hbase.master.maxclockskew</name>    #时间同步允许的时间差

  <value>180000</value>

  </property>

  <property>

  <name>hbase.rootdir</name>

  <value>hdfs:// master:9000/hbase</value>#hbase共享目录,持久化hbase数据

  </property>

  <property>

  <name>hbase.cluster.distributed</name>  #是否分布式运行,false即为单机

  <value>true</value>

  </property>

  <property>

  <name>hbase.zookeeper.quorum</name>#zookeeper地址

  <value>hadoop1slave1, hadoop1slave2,hadoop1slave3</value>

  </property>

  <property>

  <name>hbase.zookeeper.property.dataDir</name>#zookeeper配置信息快照的位置

  <value>/home/hadoop/hbase/tmp/zookeeper</value>

  </property>

</configuration>

Regionservers    //是从机器的域名

slave1

slave2

slave3

 

 

9.3.3.  发送到其他机器

su - hadoop

scp –r /home/hadoop/hbasehadoop@slave1:/home/hadoop

scp –r /home/hadoop/hbasehadoop@slave2:/home/hadoop

scp –r /home/hadoop/hbasehadoop@slave3:/home/hadoop

9.3.4.  启动

su – hadoop

start-hbase.sh

9.3.5.  查看

进程:jps

进入hbase的shell:hbase shell

退出hbase的shell:quit

页面:http://master:60010/

 

 

 


0 0
原创粉丝点击