文章来自:http://blog.csdn.net/u013327467/article/details/45675705
自序
这些都是笔者半年的结晶,现将其整理为博客,供各位网友参考。博客内容分为五个部分,如下:
Ubuntu物理机和虚拟机准备
ssh登录和jdk安装
Hadoop-2.6.0+zookeeper-3.4.6 集群搭建
Spark-1.3.1集群搭建
Hbase-1.1.0集群搭建
hive-1.2.0搭建
第一部分:Ubuntu物理机和虚拟机准备
总览:一台物理机和两台虚拟机
双系统安装Ubuntu 64位物理机,在Windows系统下采用easyBCD安装方法
1.1 引导文件内容:
title Install Ubuntu
root (hd0,1)
kernel (hd0,1)/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu-14.10-desktop-amd64.iso ro quiet splash locale=zh_CN.UTF-8
initrd (hd0,1)/initrd.lz
1.2 进入安装界面需要使用sudo umount -l /isodevice
1.3 Ubuntu相关配置
1)更新
sudo apt-get grade
2)安装vim
sudo apt-get install vim
3)修改root用户登录
sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
添加
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-show-manual-login=true
allow-guest=false
4)设置 root用户密码
sudo passwd root
此处有输入root用户的密码
5)卸载防火墙
ufw disable //关闭
sudo apt-get remove ufw //卸载
sudo ufw status //查看
6)安装ssh
安装ssh-server
sudo apt-get install openssh-server
安装ssh-client
sudo apt-get install openssh-client
确认sshserver是否安装好
ps -e | grep ssh
如果出现以下内容,则安装成功
450 ??00:00:00 sshd
重启ssh
/etc/init.d/ssh restart
2. 在Ubuntu系统下使用VMware安装Ubuntu虚拟机
2.1 下载:VMware-Workstation-Full-11.1.0(下载linux版本)
相关密钥
1F04Z-6D111-7Z029-AV0Q4-3AEH8
YZ7HK-FVG44-H84TQ-C7ZX9-X2A8F
VY3MA-4AD90-089CZ-R4PG9-MKAR0
2.2 配置Ubuntu虚拟机按以上Ubuntu相关配置进行同样操作。
2.3. 配置好虚拟机,关闭虚拟机和VMware,复制虚拟机文件。复制完成后打开虚拟机(两台)。
修改主机名
因为笔者搭建此集群是为了学习spark,故将集群主机名命为
spark01,spark02,spark03
3.1 分别修改:
sudo gedit /etc/hostname
spark01
3.2 虚拟机同上,分别换为spark02,spark03。
4. 修改IP
4.1 集群IP分别设为
192.168.8.101, 192.168.8.102, 192.168.8.103
4.2 先对虚拟机进行修改
1)虚拟机网卡设置为host-only模式
2)进行界面设置
系统设置->网络->选项 ->IPv4设置-> method选择为manual-> 点击add按钮-> 添加IP:192.168.8.102 子网掩码:255.255.255.0 网关:192.168.1.1-> apply
3)同样方式,spark03 IP设置为:192.168.8.103
4)物理机设置一个固定的IP有点麻烦,不过也能实现,一种是采用桥接,第二种是采用虚拟网卡,笔者采用桥接方式.
*点击右上角网络图标栏中的”编辑连接”,网络连接中选中”桥接”,点击”添加”;
*对跳转出来选择连接类型窗口,选择”虚拟–桥接”,点击”新建”,
*在桥接–桥接连接(c)处,点击”添加”,选择”以太网”,点击新建,在设备MAC地址(D)处.选择”eth0”,并”保存”
*点击IPv4设置,方法处选择为”手动”,>点击”添加”设置IP为:192.168.8.101 子网掩码:255.255.255.0 网关:192.168.1.1,”保存”.
修改主机名和IP的映射关系
sudo gedit /etc/hosts
192.168.8.101 spark01
192.168.8.102 spark02
192.168.8.103 spark03
重启虚拟机和物理机
第二部分:ssh配置和jdk安装
ssh配置
本集群的用户名为”huai”,集群统一用一个用户名,用不同的ssh登录时,还要进行一些其他处理,很麻烦,在这就别给自己添麻烦了.
1)物理机,使用以下命令,四个回车.
huai@spark01:~$ ssh-keygen -t rsa
huai@spark01:~$ cd /home/huai/.ssh
huai@spark01:~/.ssh$ ls
id_rsa id_rsa.pub
生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
2)对两台虚拟机进行同样操作(操作略)
3)将虚拟机的公钥传到spark01,主要”huai”是我集群的用户名,”huai”应改为你自己设定的用户名
scp id_rsa.pub huai@spark01:/home/huai/.ssh/id_rsa.pub.spark02
scp id_rsa.pub huai@spark01:/home/huai/.ssh/id_rsa.pub.spark03
4)在物理机
huai@spark01:~$ cd /home/huai/.ssh
可以看到以下文件,将公钥_rsa.pub 导入到综合authorized_keys文件中。
huai@spark01:~/.ssh$ ls
authorized_keys id_rsa.pub id_rsa.pub.spark03
id_rsa id_rsa.pub.spark02 known_hosts
导入命令如下
cat id_rsa.pub >> authorized_keys
cat id_rsa.pub.spark02 >> authorized_keys
cat id_rsa.pub.spark03 >> authorized_keys
5)将spark01上的authorized_keys复制到spark02和spark03的/home/huai/.ssh/目录下
scp authorized_keys huai@spark02:/home/huai/.ssh/authorized_keys
scp authorized_keys huai@spark03:/home/huai/.ssh/authorized_keys
7)ssh常见错误修改
因为笔者的已经配置好了,具体错误就没有了,不过只要你按以下操作之后,保证不会再有错误.
1)sudo gedit /etc/ssh/sshd_config
注释”PermitRootLogin without-password”,使用”#”注释,并在其下面添加
PermitRootLogin yes
2)sudo gedit /etc/ssh/ssh_config
添加
StrictHostKeyChecking no
UserKnownHostsFile /dev/nul
3)分别在每台上进行ssh登录,使用”exit”退出
ssh spark01
ssh spark02
ssh spark03
4)登录完成后,在每台机子上分别操作以下命令(“huai”为用户名)
sudo chown huai: /home/huai/.ssh
sudo chown huai: /home/huai/.ssh/*
sudo chmod 700 /home/huai/.ssh
sudo chmod 600 /home/huai/.ssh/*
5)如果ssh登录时,在known_hosts报出警告,后面显示一个数字,使用以下命令将其删除,比如显示数字”8”.
sed -i 8d /home/huai/.ssh/known_hosts
安装JDK
2.1 1)创建文件夹
mkdir /usr/java
2)解压
tar -zxvf jdk-7u80-linux-x64.gz -C /usr/java/
3)修改权限
sudo chmod -R 777 /usr/java/
2.2 修改环境变量
因为笔者集群已经搭建好了,为了让大家不要经常修改环境变量,笔者在此处把所有安装包的环境变量都列出来,供大家参考。
sudo gedit /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_80
export JRE_HOME=/usr/java/jdk1.7.0_80/jre
export SCALA_HOME=/spark/scala-2.11.6
export SPARK_HOME=/spark/spark-1.3.1
export HADOOP_HOME=/spark/hadoop-2.6.0
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"
export HIVE_HOME=/spark/hive-1.2.0
export IDEA_HOME=/usr/idea/idea-IC-141.178.9
export HBASE_HOME=/spark/hbase-1.1.0
export ZOOKEEPER_HOME=/spark/zookeeper-3.4.6
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SCALA_HOME/bin:$SPARK_HOME/bin:$IDEA_HOME/bin:$HIVE_HOME/bin:$HBASE_HOME/bin:$ZOOKEEPER_HOME/bin
source /etc/profile
验证,使用命令java -version
出现java version “1.7.0_80”,则安装成功
2.3 设置jdk默认(若以上安装成功,可以跳过设置默认jdk)
sudo update-alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_80/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.7.0_80/bin/javac 300
sudo update-alternatives --install /usr/bin/jar jar /usr/java/jdk1.7.0_80/bin/jar 300
sudo update-alternatives --install /usr/bin/javah javah /usr/java/jdk1.7.0_80/bin/javah 300
sudo update-alternatives --install /usr/bin/javap javap /usr/java/jdk1.7.0_80/bin/javap 300
sudo update-alternatives --config java
第三部分:Hadoop-2.6.0+zookeeper-3.4.6集群搭建
1. 集群规划
主机名 IP 安装的软件 运行的进程
spark01 192.168.8.101 jdk、hadoop、zookeeper namenode、ResourceManager(yarn)、QuorumPeerMain、JournalNode、(zkfc)、
spark02 192.168.8.102 jdk、hadoop、zookeeper namenode、ResourceManager(yarn)、DataNode、 JournalNode、QuorumPeerMain
spark03 192.168.8.103 jdk、hadoop、zookeeper DataNode、NodeManager、JournalNode、QuorumPeerMain
搭建zooekeeper
2.1 建立spark文件
sudo mkdir /spar
2.2 解压
tar -zxvf zookeeper-3.4.6.tar.gz -C /spark/
2.3 修改配置
1)修改zoo.cfg
cd /spark/zookeeper-3.4.6/conf/
mv zoo_sample.cfg zoo.cfg
gedit zoo.cfg
修改:
dataDir=/spark/zookeeper-3.4.6/tmp
添加
dataLogDir=/spark/zookeeper-3.4.6/logs
在最后添加:
server.1=spark01:2888:3888
server.2=spark02:2888:3888
server.3=spark03:2888:3888
保存退出
2)建立文件夹
mkdir /spark/zookeeper-3.4.6/tmp
mkdir /spark/zookeeper-3.4.6/logs
3)设置myid
在tmp下创建一个空文件
touch myid
gedit myid
在myid文件写入”1”,
4)修改环境变量
虽然前面已经把所有的环境变量都设置好了,但这个步骤使不能缺的,所以在此处重复一遍
sudo gedit /etc/profile
export ZOOKEEPER_HOME=/spark/zookeeper-3.4.6
export PATH=:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf
source /etc/profile
2.4 将配置好的zookeeper拷贝到其他节点
scp -r /spark/zookeeper-3.4.6/ huai@spark02:/spark/
scp -r /spark/zookeeper-3.4.6/ huai@spark03:/spark/
2.5 分别修改虚拟机的环境变量和myid
cd /spark/zookeeper/tmp
gedit myid
其中
spark02 中写入”2”
spark03 中写入”3”
搭建hadoop集群
3.1 解压hadoop2.6. 0
tar -zxvf hadoop-2.6.0.tar.gz -C /spark
3.2 修改spark文件权限
sudo chmod -R 777 /spark
3.2 配置hadoop2.6.0
1)cd /spark/hadoop-2.6.0/etc/hadoop/
*依次操作以下命令,添加以下内容,保存退出.
gedit hadoop-env.sh
gedit yarn-env.sh
gedit mapred-env.sh
添加
export JAVA_HOME=/usr/java/jdk1.7.0_80
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"
注:在hadoop-env.sh,注释以下部分
#export HADOOP_OPTS="$HADOOP_OPTS -
Djava.net.preferIPv4Stack=true"
以下部分,可以直接复制替换.
2) gedit core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://ns1</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/spark/hadoop-2.6.0/tmp</value>
</property>
<property>
<name>ha.zookeeper.quorum</name> <value>spark01:2181,spark02:2181,spark03:2181</value>
</property>
</configuration>
3) gedit hdfs-site.xml
<configuration>
<property>
<name>dfs.nameservices</name>
<value>ns1</value>
</property>
<property>
<name>dfs.ha.namenodes.ns1</name>
<value>nn1,nn2</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ns1.nn1</name>
<value>spark01:9000</value>
</property>
<property>
<name>dfs.namenode.http-address.ns1.nn1</name>
<value>spark01:50070</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ns1.nn2</name>
<value>spark02:9000</value>
</property>
<property>
<name>dfs.namenode.http-address.ns1.nn2</name>
<value>spark02:50070</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name> <value>qjournal://spark01:8485;spark02:8485;spark03:8485/ns1</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/spark/hadoop-2.6.0/journal</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.ns1</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<property>
<name>dfs.ha.fencing.methods</name>
<value>
sshfence
shell(/bin/true)
</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/home/huai/.ssh/id_rsa</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.connect-timeout</name>
<value>30000</value>
</property>
</configuration>
4) gedit mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
5)gedit yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>yrc</value>
</property>
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>spark01</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>spark02</value>
</property>
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>spark01:2181,spark02:2181,spark03:2181</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
6) gedit slaves
spark02
spark03
2.4 复制到其他节点
scp -r /spark/hadoop-2.6.0 huai@spark02:/spark
scp -r /spark/hadoop-2.6.0 huai@spark03:/spark
2.5 修改环境变量,可略过
sudo gedit /etc/profile
export HADOOP_HOME=/spark/hadoop-2.6.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
集群启动(严格按照下面的步骤)
3.1 启动zookeeper集群(分别在spark01、spark02、spark03上启动zk)
cd /spark/zookeeper-3.4.6/bin/
./zkServer.sh start
查看状态:一个leader,两个follower
./zkServer.sh status
3.2 启动journalnode(分别在spark01、spark02、spark03上启动journalnode)
cd /spark/hadoop-2.6.0/sbin
hadoop-daemon.sh start journalnode
运行jps命令检验,spark01、spark02、spark03上多了JournalNode进程
3.3 格式化HDFS
在spark01上执行命令
hdfs namenode -format
格式化成功会生成tmp文件,其路径为core-site.xml中的hadoop.tmp.dir配置路径
将其拷到其他节点
scp -r tmp huai@spark02:/spark/hadoop-2.6.0/
scp -r tmp huai@spark03:/spark/hadoop-2.6.0/
3.4 格式化ZK(在spark01上执行即可)
hdfs zkfc -formatZK
3.5 启动HDFS(在spark01上执行)
sbin/start-dfs.sh
3.6 启动YARN.resourcemanager
sbin/start-yarn.sh
3.7 验证 浏览器访问:
http://192.168.8.101:50070
NameNode 'spark01:9000' (active)
http://192.168.8.102:50070
NameNode 'spark02:9000' (standby)
3.8 验证HDFS HA
1)首先向hdfs上传一个文件
hadoop fs -put /etc/profile /profile
hadoop fs -ls /
2)然后再kill掉active的NameNode
kill -9
访问:http://192.168.8.101:50070 无法打开
访问:http://192.168.8.102:50070
NameNode ‘spark02:9000’ (active)
3)执行
hadoop fs -ls /
-rw-r--r-- 3 root supergroup 1926 2015-05-024 15:36 /profile
4)手动启动那个挂掉的NameNode.spark01上执行
sbin/hadoop-daemon.sh start namenode
访问:http://192.168.8.101:50070
NameNode ‘spark01:9000’ (standby)
5)删除上传文件
hadoop fs -rm -r /profile
第四部分:spark-1.3.1集群搭建
1.安装 Scala
1.1 解压
tar -zxf scala-2.11.6.tgz -C /spack
1.2 修改环境变量
sudo gedit /etc/profile
export SCALA_HOME=/spark/scala-2.11.6
export PATH=PATH:$SCALA_HOME/bin
source /etc/profile
1.3 显示版本 scala -version
1.4 测试
输入”scala”命令,进入scala交互界面
huai@spark01:~$ scala
scala> 8*8
res0: Int = 64
1.5 将scala复制到其他节点
scp -r /spark/scala-2.11.6/ huai@spark02:/spark/
scp -r /spark/scala-2.11.6/ huai@spark03:/spark/
1.6 重复1.2修改其他节点的环境变量
2.安装spark
2.1 解压
tar -zxf spark-1.3.1-bin-hadoop2.6.tgz -C /spark
文件名修改为:spark-1.3.1
2.2 修改环境变量(环境变量原先已经配置好,此处供参考)
sudo gedit /etc/profile
export SPARK_HOME=/spark/spark-1.3.1
export PATH=PATH:$SPARK_HOME/bin
source /etc/profile
2.3 配置spark
1) 进入spark的conf目录
cd /spark/spark-1.3.1/conf/
mv spark-env.sh.template spark-env.sh
sudo gedit spark-env.sh
添加:
export JAVA_HOME=/usr/java/jdk1.7.0_80
export SCALA_HOME=/spark/scala-2.10.5
export SPARK_MASTER_IP=192.168.8.101
export SPARK_WORKER_MEMORY=1g
export HADOOP_CONF_DIR=/spark/hadoop-2.6.0/etc/hadoop
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"
2) mv slaves.template slaves
sudo gedit slaves
spark01
spark02
spark03
2.4 把spark复制到其他节点
scp -r spark-1.3.1 huai@spark02:/spark/
scp -r spark-1.3.1 huai@spark03:/spark/
2.5 修改虚拟阶环境变量
sudo gedit /etc/profile
export SPARK_HOME=/spark/spark-1.3.1
export PATH=PATH:$SPARK_HOME/bin
export SCALA_HOME=/spark/scala-2.11.6
export PATH=PATH:$SCALA_HOME/bin
source /etc/profile
3.启动集群
3.1 启动hadoop集群:主节点上
1)启动zookeeper, 每台运行
zkServer.sh start
2)启动hadoop集群,sbin下
./start-all.sh
3)启动spark集群
/spark/spark-1.3.1/bin$./start-all.sh
第五部分 hbase-1.1.0集群搭建
注:当使用gedit xxx时,都是需要向文件’XXX’添加在其下面给出的内容
解压
tar -zxf hbase-1.1.0.tgz -C /spack
配置hbase集群(使用外部zk)
2.1 gedit hbase-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_80
export HBASE_MANAGES_ZK=false
export HBASE_PID_DIR=/spark/hbase-1.1.0/pids
export HBASE_CLASSPATH=/spark/hadoop-2.6.0/etc/hadoop
export HBASE_HOME=/spark/hbase-1.1.0
2.2 gedit hbase-site.xml
<configuration>
<property>
<name>hbase.tmp.dir</name>
<value>/spark/hbase-1.1.0/tmp</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://ns1/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>zookeeper.session.timeout</name>
<value>120000</value>
</property>
<property>
<name>hbase.zookeeper.property.tickTime</name>
<value>6000</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>spark01,spark02,spark03</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/spark/zookeeper-3.4.6/tmp</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>hbase.master.maxclockskew</name>
<value>180000</value>
</property>
</configuration>
2.3 gedit regionservers
spark01
spark02
spark03
把hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下
拷贝hbase到其他节点
scp -r /spark/hbase-1.1.0 huai@spark02:/spark/
scp -r /spark/hbase-1.1.0 huai@spark03:/spark/
5.将hbase添加到环境变量中
sudo gedit /etc/profile
export HBASE_HOME=/spark/hbase-1.1.0
export PATH=$HBASE_HOME/bin:$PATH
source /etc/profile
6.将配置好的HBase拷贝到每一个节点并同步时间和修改环境变量
7.启动所有的hbase
7.1 启动zk
zkServer.sh start
7.2 启动hadoop集群
start-dfs.sh
7.3 启动hbase,在主节点上hbase-1.1.0/bin运行
start-hbase.sh
8.通过浏览器访问hbase Web页面
8.1 HMaster Web页面
http://192.168.8.101:16010
8.2 HRegionServer Web页面
http://192.168.8.101:16030
9.shell 验证
进入hbase bin目录下:
huai@spark01:/spark/hbase-1.1.0/bin$ ./hbase shell
9.1 使用list验证:
hbase(main):001:0> list
TABLE
user
1 row(s) in 1.4940 seconds
=> ["user"]
hbase(main):002:0>
9.2建表验证
create 'user','name','sex'
如果list和建表都没出现错误的话,就意味着Hbase 安装成功
10.安装过程中错误排除
10.1 当Hbase shell时出现这样的错误
SLF4J: Found binding in [jar:file:/usr/local/hbase-1.1.0/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j /impl/StaticLoggerBinder.class,是因为hadoop和hbase的slf4j-log4j12 jar包冲突,将HBase中的slf4j-log4j12-1.7.5移除
10.2 Hbase运行要在hadoop非安全模式下使用,使用以下命令查看hadoop安全模式和退出安全模式.
hdfs dfsadmin -safemode get //查看
hdfs dfsadmin -safemode leave //退出
10.3 安装失败后,要删除hadoop文件系统下的Hbase文件,使用命令
hadoop fs -rm -r -f /hbase
10.4 这是最最关键的.hosts文件中localhost的IP为127.0.0.1,如果有127.0.1.1的话,要将其改为127.0.0.1,以下是笔者hosts文件中的内容:
sudo gedit /etc/hosts
127.0.0.1 localhost
192.168.8.101 spark01
192.168.8.102 spark02
192.168.8.103 spark03
#The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
注:spark01,spark02,spark03为集群主机名
10.5 修改HBase文件目录权限
hadoop fs -chmod -R 777 /hbase
10.6 如果你多次安装过不同版本的HBase且使用外部zookeeper,记得清理zookeeper中Hbase中文件,笔者就是因为这个问题,苦苦折磨了一周.
1)关闭Hbase,在zookeeper的bin目录运行zkCli.sh
终端最后显示:
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0]
2)按以下操作删除Hbase
[zk: localhost:2181(CONNECTED) 1] ls /
[hbase, hadoop-ha, yarn-leader-election, zookeeper]
//如果有Hbase则进行下一步
[zk: localhost:2181(CONNECTED) 2] rmr /Hbase
3) 重启HBase
start-hbase.sh
1)单独启动HMaster命令
hbase start master
hbase stop master
2)regionserver单独启动命令
hbase start regionserver
hbase stop regionserver
Hbase安装总结
12.1 Hbase与hadoop有版本兼容要求,一般的解决方式都是把Hbase中与hadoop相关的jar包替换成hadoop版本的jar包.本次安装中,hadoop-2.6.0和hbase-1.1.0没有替换jar包,但经过一周的折腾,也安装成功了。
12.2 集群时间记得要同步,同步方式界面操作调整时区和格式。
12.3 安装会因为环境不同,而出现不同的错误,但整个安装过程应该有这样的心态:屡败屡战,经折腾。
第六部分 hive-1.2.0搭建
1.概述
1.1 hive安装可分为四部分
1)mysql安装
2)Metastore的配置
3)HiveClient 配置
4)spark中的ThriftServer配置
1.2 搭建分布:mysql,Metastore安装配置在主节点spark01上, HiveClient客户端安装在spark02上。
1.3 如果只搭建Metastore话,只在一台机子上配置mysql,Metastore即可。还有hive运行在hadoop集群上,安装运行时,记得启动zookeeper和hadoop。
2.mysql安装
2.1Ubuntu软件中心下载安装mysql服务器
2.2 配置mysql
1)修改mysql的密码
运行
`/usr/bin/mysql_secure_installation
2)输入密码
3)删除匿名用户
Remove anonymous users? [Y/n] Y
4)允许用户远程连接
Disallow root login remotely? [Y/n]n
5)移除test数据库
Remove test database and access to it? [Y/n] Y
6)登陆mysql
mysql -u root -p
7)建立hive数据库,并对其授权,注’huai’为你设立的登录密码
mysql>create database hive;
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'huai' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
3.hive 安装
3.1 解压
tar -zxvf apache-hive-1.2.0.tar.gz -C /spark/
文件名修改为hive-1.2.0
3.2 配置
1)修改配置文件,hive-1.2.0/conf下
mv hive-default.xml.template hive-site.xml
mv hive-log4j.properties.template hive-log4j.properties
mv hive-exec-log4j.properties.template hive-exec-log4j.properties
mv hive-env.sh.template hive-env.sh
2)gedit hive-env.sh
export HADOOP_HOME=/spark/hadoop-2.6.0
export HIVE_CONF_DIR=/spark/hive-1.2.0/conf
3)gedit hive-log4j.properties
添加
hive.log.dir=/spark/hive-1.2.0/logs
4)新建logs文件
mkdir /spark/hive-1.2.0/logs
5)gedit hive-site.xml
删除所有内容,添加如下内容.注意配置文件中的’huai’,为mysql登录密码,记得修改
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>hdfs://ns1/hive/warehouse</value>
</property>
<property>
<name>hive.exec.scratchdir</name>
<value>hdfs://ns1/hive/scratchdir</value>
</property>
<property>
<name>hive.querylog.location</name>
<value>/spark/hive-1.2.0/logs</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>huai</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>hive.zookeeper.quorum</name>
<value>spark01,spark02,spark03</value>
</property>
</configuration>
3.3 配置环境变量
sudo gedit /etc/profile
export HIVE_HOME=/spark/hive-1.2.0
export PATH=:$HIVE_HOME/bin
source /etc/profile
3.4 hive和mysq安装完成后,将mysql-connector-java-5.1.25-bin.jar连接jar拷贝到hive-1.2.0/lib目录下
3.5 运行hive,hive-1.2.0/bin下
./hive
3.5 访问 http://192.168.8.101:50070
查看hadoop文件系统,多了个hive文件,证明安装成功.
3.6 修改hive文件权限
hadoop fs -chmod -R 777 /hive
4.Hive客户端配置
此部分刚开始也可以不安装,在进一步学习之后,学习需要的话,就要安装了。
4.1 将Hive从Master节点(spark01)拷贝到Slave节点(spark02)上
scp -r /spark/hive-1.2.0 huai@spark02:/spark/
4.2 配置Metastore的连接信息
在hive-1.2.0/conf下
gedit hive-site.xml
添加以下内容 :
<property>
<name>hive.metastore.uris</name>
<value>thrift://spark01:9083</value>
<description>Thrift URI for the remote metastore.Used by metastore client to connect to remote metastore.</description>
</property>
4.3 修改环境变量
sudo gedit /etc/profile
export HIVE_HOME=/spark/hive-1.2.0
export PATH=:$HIVE_HOME/bin
source /etc/profile
5.ThriftServer配置
ThriftServer相当于JDBC,是sparkSQL学习部分,此部分首先可以不做配置
在主节点spark01上,/spark/hive-1.2.0/conf下
gedit hive-site.xml
添加:
<property>
<name>hive.metastore.uris</name>
<value>thrift://spark01:9083</value>
<description>Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.</description>
</property>
<property>
<name>hive.server2.thrift.min.worker.threads</name>
<value>1</value>
<description>Minimum number of Thrift worker threads</description>
</property>
<property>
<name>hive.server2.thrift.max.worker.threads</name>
<value>100</value>
<description>Maximum number of Thrift worker threads</description>
</property>
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
<description>Port number of HiveServer2 Thrift interface. Can be overridden by setting $HIVE_SERVER2_THRIFT_PORT</description>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>spark01</value>
</property>
相关推荐
Docker(Hadoop_3.3.1+HBase_2.4.16+Zookeeper_3.7.1+Hive_3.1.3 )配置文件 搭建集群环境
5. **Hadoop生态**: Hadoop生态还包括许多其他工具,如HBase(NoSQL数据库)、ZooKeeper(协调服务)、Flume(日志收集)、Sqoop(数据导入导出工具)等。这些工具共同构建了一个强大的大数据处理环境。 6. **...
CDH是业界广泛采用的企业级Hadoop发行版,它不仅集成了Hadoop的核心组件,还包含了其他的开源大数据项目,如Hive、Pig、Spark、Impala等,提供了一整套大数据处理和分析解决方案。CDH 5.16.2是CDH系列的一个重要更新...
大数据/Linux安装包-hadoop-2.6.0-cdh5.15.1.tar.gz 大数据/Linux安装包-hadoop-2.6.0-cdh5.15.1.tar.gz 大数据/Linux安装包-hadoop-2.6.0-cdh5.15.1.tar.gz
apache-hive-3.1.3-bin.tar.gz apache-zookeeper-3.5.10-bin.tar.gz hadoop-3.3.3.tar.gz spark-3.2.1-bin-hadoop3.2.tgz mysql-8.0.29-1.el8.x86_64.rpm-bundle
CDH是由Cloudera公司提供的一个开源大数据平台,包含了多个Apache项目,如Hadoop、Hive、HBase等,为企业提供了一整套的大数据处理和分析解决方案。 Hadoop是分布式计算框架的核心组件,其主要由两个关键部分组成:...
Hadoop是Apache软件基金会开发的一个开源分布式计算...总的来说,Hadoop-2.6.0在Windows上的部署虽然相比Linux平台更为复杂,但通过正确配置和理解这些关键组件,可以成功搭建和运行Hadoop集群,利用其大数据处理能力。
5. **其他CDH组件**:CDH通常还包括其他大数据处理工具,如HBase(NoSQL数据库)、Hive(数据仓库工具)、Pig(数据分析平台)、Oozie(工作流调度器)和Zookeeper(分布式协调服务)等。 在使用这个安装包时,首先...
此文以命令行+截图的形式详细的记录了Hadoop-2.6.4+Zookeeper-3.4.9+Hbase-1.2.4分布式开发平台的环境配置过程,希望能对大家有所帮助。
这个压缩包 "sqoop-1.4.7.bin__hadoop-2.6.0.tar" 包含了 Sqoop 的 1.4.7 版本,该版本是针对 Hadoop 2.6.0 的。对于那些不想通过官方网站下载的用户,这是一个方便的选择。 在 Hadoop 生态系统中,Sqoop 提供了一...
hadoop-2.6.0-cdh5.14.0 源码 。
CDH是Cloudera提供的一个企业级Hadoop发行版,包含了Hadoop生态系统中的多个组件,如HBase、Hive、Pig、Spark等。CDH 5.14.0是其中的一个稳定版本,集成了当时最新的技术和安全改进,旨在为企业提供更好的性能、管理...
hadoop-2.6.0-cdh5.14.2.tar.gz适用于Linux环境,centos7已测试
hive-jdbc-1.1.0-hadoop-2.6.0
本文将详细讲解如何利用“hadoop-2.6.0版本所需插件.zip”来实现Hadoop与Eclipse的连接。 首先,了解Hadoop-Eclipse插件的作用。这个插件是Apache Hadoop项目的一部分,它的主要功能是为Eclipse IDE提供对Hadoop...
根据提供的文档内容,本文将详细解析Hadoop-2.8.1与Zookeeper-3.4.6在高可用环境下的部署步骤与注意事项,重点包括版本兼容性、主机规划、目录规划以及常用的脚本与命令。 ### 版本兼容性 在搭建Hadoop集群时,...
`hadoop-common-2.6.0-bin-master.zip` 是一个针对Hadoop 2.6.0版本的压缩包,特别适用于在Windows环境下进行本地开发和测试。这个版本的Hadoop包含了对Windows系统的优化,比如提供了`winutils.exe`,这是在Windows...
你可以通过学习如何在Hadoop上部署和运行MapReduce作业,以及如何利用Hadoop生态系统中的其他组件(如Hive、Pig、Spark等)来进一步提升你的大数据技能。同时,熟悉Java编程和JDK的使用也是必不可少的,因为大多数...
jdk1.8.0_131、apache-zookeeper-3.8.0、hadoop-3.3.2、hbase-2.4.12 mysql5.7.38、mysql jdbc驱动mysql-connector-java-8.0.8-dmr-bin.jar、 apache-hive-3.1.3 2.本文软件均安装在自建的目录/export/server/下 ...