CentOS6 安装JDK+Hadoop(伪分布式)+MySql+Hive+Zeppelin+Hbase+Phoenix+Sqoop

一.文件备注

jdk-8u181-linux-x64.tar.gz
hadoop-2.7.2.tar.gz
MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar
mysql-connector-java-5.1.31.jar
apache-hive-1.2.1-bin.tar.gz
zeppelin-0.8.2-bin-all.tgz
hbase-1.3.1-bin.tar.gz
sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz


所有的文件统一放在了 /root/data 下,MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar单独放在了一个文件夹下( /root/data/MySql ),因为解包时会产生多个文件出来,方便管理.

二.安装前备注

如果有安装Hue的计划,那么在安装上述文件之前,最好选择先安装Hue,因为Hue的依赖众多,为了避免依赖冲突和其他诡异的原因,还是选择先安装Hue的依赖和包比较保险.

三.安装

1.配置JDK

1.解压jdk到opt下
tar zxvf jdk-8u181-linux-x64.tar.gz -C /opt

2.将java路径添加到profile中
vi /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH

3.刷新
source /etc/profile

4.测试
java -version

2.安装Hadoop

1.解压文件到opt下
tar zxvf hadoop-2.7.2.tar.gz -C /opt

2.vi /opt/hadoop-2.7.2/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/opt/jdk1.8.0_181

3.vi /opt/hadoop-2.7.2/etc/hadoop/core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

4.vi /opt/hadoop-2.7.2/etc/hadoop/hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

5.配置Yarn(伪分布式可以不配置yarn,一般不会有影响)
	(1)配置mapred-site.xml(template改名)
	<configuration>
	    <property>
	        <name>mapreduce.framework.name</name>
	        <value>yarn</value>
	    </property>
	</configuration>
	
	(2)配置yarn-site.xml
	<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
        </property>
	</configuration>


6.格式化文件系统
bin/hdfs namenode -format

7.启动HDFS
sbin/start-all.sh

8.把Hadoop加入环境变量中
在/etc/profile中添加
export HADOOP_HOME=/opt/hadoop-2.7.2/bin
export PATH=$PATH:$HADOOP_HOME

备注 : 输入jps进行测试,需要有这些;然后打开http://ip:50070,如果能进入HDFS文件管理系统就没问题了在这里插入图片描述

3.安装MySql

1.查看原有的mysql
rpm -qa | grep -i mysql
如果返回为空则跳过第一步,若不为空,则需要卸载所有的mysql组件,如:
sudo rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64
...
卸载完成后,再次查看,没有返回内容就行

2.解包(不是解压,只是打包文件解开就行)
cd /root/data/MySql
tar xvf MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar
此时会产生多个mysql相关文件,需要用到其中的server端和client端

3.安装server端
	(1)安装
	rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm
	安装完成后,在最后返回的信息中,将提示初始密码的位置,一般为: /root/.mysql_secret
	并且会提供启动方式,一般为 /usr/bin/mysql_secure_installation

	(2)开另一个终端,进入第一步中提供的初始密码位置,可以看到系统设置的初始密码,下一步需要用到
	
'***************************************************************************************'
	备注
	一般来说,此时还无法开启/usr/bin/mysql_secure_installation,会报错;
	若出现了
	'Can not connect to local MySQL server through socket...''mysql Can not find a 'mysql' client in PATH or ./bin'
	等情况
	就先下面安装client端的第一步,并使用service mysql start启动mysql后重试,然后再进行第三步
'***************************************************************************************'

	(3)开启server端,复制粘贴第一步提供的启动方式;
		按照以下流程开始设置:
		a.Enter current password for root [输入初始密码],输入刚才初始密码;粘贴时密码不会显示
		b.Change the root password? 	  [是否改变密码] y
		c.Remove anonymous users?         [是否移除其他用户] (自定义,我选的y)
		d.Disallow root login remotely?	  [不允许root登录其他机器] n
		e.Remove test database and access to it? [是否移除test库] (自定义,我选的n)
		f.Reload privilege tables now?	  [是否刷新权限]	y


4.安装client端
	(1)安装
	rpm -ivh MySQL-client-5.6.26-1.linux_glibc2.5.x86_64.rpm

	(2)使用自己设置的账号密码登录
	mysql -uroot -proot

5.远程登录
	(1)使用mysql表
	use mysql;	
	
	(2)同意所有用户登录
	update user set host='%' where user='root' and host='127.0.0.1';

	(3)刷新权限
	flush privileges;	

4.安装Hive

Hive是依赖于HDFS的,所以需要先启动好HDFS

1.解压
tar zxvf apache-hive-1.2.1-bin.tar.gz -C /opt

2.创建HDFS的目录用于保存hive数据,并修改权限
hdfs dfs -mkdir	/tmp
hdfs dfs -mkdir -p	/user/hive/warehouse

hdfs dfs -chmod g+w	/tmp
hdfs dfs -chmod g+w	/user/hive/warehouse

3.修改hive-env.sh(复制hive-env.sh.template改名为hive-env.sh)
# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/opt/hadoop-2.7.2

# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/opt/hive-1.2.1/conf

4.修改hive-site.xml(复制hive-default.xml.template改名)
删除17行的configuration内所有内容,留下空的<configuration></configuration>
然后在其中插入元数据:
<property>
	  <name>hive.metastore.warehouse.dir</name>
	  <value>/user/hive/warehouse</value>
	  <description>location of default database for the warehouse</description>
</property>


5.Hive的元数据默认保存在derby中,实际使用中,一般会设置保存到mysql中
	(1)hive-site.xml配置,其中的ip需要设置真实的地址
	<property>
    	<name>javax.jdo.option.ConnectionURL</name>
    	<value>jdbc:mysql://192.168.126.100:3306/metastore?createDatabaseIfNotExist=true</value>
    	<description>JDBC connect string for a JDBC metastore</description>
    </property>
    
	备注:metastore: 默认保存hive中的元数据, 是一个数据库的名字


	(2)hive-site.xml配置,设置jdbc的驱动类
	<property>
    	<name>javax.jdo.option.ConnectionDriverName</name>
    	<value>com.mysql.jdbc.Driver</value>
    	<description>Driver class name for a JDBC metastore</description>
    </property>


	(2)hive-site.xml配置,mysql的用户名和密码;若不是root则需要修改value
	<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>root</value>
	    <description>password to use against metastore database</description>
    </property>


	(3)需要在hive/lib下边存放jdbc的驱动包
	cp /root/data/mysql-connector-java-5.1.31.jar /opt/hive-1.2.1/lib


6.此时重启hive
nohup bin/hiveserver2 &
备注 : nohup是只把日志打印到nohup中,不显示在控制台

这时,如果mysql中多出一个metastore数据库,则说明配置成功

5.安装Zeppelin

1.解压
tar zxvf zeppelin-0.8.2-bin-all.tgz -C /opt

2.修改配置
	(1)修改zeppelin-env.sh(template修改)
 	vi /opt/zeppelin-0.8.2-bin-all/conf/zeppelin-env.sh
	添加JAVA_HOME
	export JAVA_HOME=/opt/jdk1.8.0_181	(19行左右)
	export HADOOP_CONF_DIR=/opt/hadoop-2.7.2/etc/hadoop	(82行左右)

	(2)修改zeppelin-site.xml(template修改)
	第一个property,value改成自己的ip地址
	<property>
      <name>zeppelin.server.addr</name>
 	  <value>192.168.126.100</value>
      <description>Server address</description>
    </property>
	
	第二个是端口号,默认是8080,可以自己修改

	(3)测试
	bin/zeppelin-daemon.sh start

6.安装HBase

1.解压
tar zxvf hbase-1.3.1-bin.tar.gz -C /opt/

2.修改hbase-env.sh
vi /opt/hbase-1.3.1/conf/hbase-env.sh
export JAVA_HOME=/opt/jdk1.8.0_181

3.修改/opt/hbase-1.3.1/conf/hbase-site.xml
<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://hadoop:9000/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/testuser/zookeeper</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
</configuration>

***************************************************************************************
备注:此处需要注意一下,第一个property中,<value>hdfs://hadoop:9000/hbase</value>
设置完成后重启HBase,如果没有在HDFS中创建hbase文件夹,则改成hdfs://localhost:9000/hbase试一下,
两种情况都有遇到过,有点诡异.
***************************************************************************************


4.启动hbase
bin/start-hbase.sh


5.启动shell
bin/hbase shell


6.最后,需要将HBase继承MapReduce
因为集成使用时,需要用到bin/hbase mapredcp下的jar包,官方推荐是添加一个环境变量来使用
export HBASE_HOME=/opt/hbase-1.3.1
export PATH=$HBASE_HOME/bin:$PATH
export HADOOP_CLASSPATH=`${HBASE_HOME}/bin/hbase mapredcp`

刷新环境变量
source /etc/profile

7.安装Phoenix

1.解压
tar zxvf apache-phoenix-4.14.1-HBase-1.3-bin.tar.gz -C /opt/
cd /opt

2.拷贝phoenix的一个jar包到hbase中
cp phoenix-4.14.1-HBase-1.3-server.jar /opt/hbase-1.3.1/lib/

3.重启hbase

4.启动phoenix
cd /opt/phoenix/
bin/sqlline.py


**************************************************************************************
备注
phoenix可以使用比较标准的sql语句操作hbase,但是目前还不太成熟.
hbase创建的表在phoenix中是不可见的,但是反过来可以.
phoenix表内integer类型数据,在hbase中会变成类似\x80\x00\x00的样子
**************************************************************************************

8.安装Sqoop

1.解压
tar zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /opt

2.配置sqoop-env.sh(template修改)
#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/opt/hadoop-2.7.2

#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/opt/hadoop-2.7.2

#set the path to where bin/hbase is available
export HBASE_HOME=/opt/hbase-1.3.1

#Set the path to where bin/hive is available
export HIVE_HOME=/opt/hive-1.2.1

#Set the path for where zookeper config dir is
#export ZOOCFGDIR=

3.拷贝mysql驱动包
cp /root/data/packet/mysql-connector-java-5.1.31.jar /opt/sqoop-1.4.6.bin/lib/

4.简单测试一下,显示mysql中的数据库
bin/sqoop list-databases \
--connect jdbc:mysql://localhost:3306 \
--username root \
--password root 


**************************************************************************************
Sqoop语法多方测试

https://blog.csdn.net/qq_40579464/article/details/103887307
**************************************************************************************

至此,JDK,Hadoop,MySql,Hive,Zeppelin,Hbase,Phoenix,Sqoop已经全部安装完成.

猜你喜欢

转载自blog.csdn.net/qq_40579464/article/details/103934586