安装必备的环境:
操作系统:Mac 10.15.4
软件包管理工具:brew
依赖包JDK: 1.8.0
1、安装java版本
Mac默认安装版本11.0,安装hadoop、hbase、kafka时都要求jdk1.8+, 建议首先安装java8,同时,可以系统保持2个版本
2、安装hadoop
2.1 配置ssh
配置ssh就是为了能够实现免密登录,这样方便远程管理Hadoop并无需登录密码在Hadoop集群上共享文件资源 。
如果你的机子没有配置ssh的话,输入ssh localhost提示需要输入你的电脑登录密码,配置好ssh之后,就不需要输入密码了。
配置ssh的步骤如下:
(1)在终端输入:ssh-keygen -t rsa,之后一路enter键就行,如果之前进行过,则会提示是否覆盖之前的key,输入y即可,会进行覆盖。
(2)终端执行:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,用于授权你的公钥到本地可以无需密码实现登录。
此时就可以免密登录了,但是本人在执行ssh localhost后,出现了如下报错:
ssh : connect to host localhost port 22: Connection refused.
连接被拒绝。
解决方法:
选择系统偏好设置->选择共享->勾选远程登录。
之后再执行ssh localhost就可以登录成功了。如图:
2.2 开始安装hadoop
brew install hadoop
如果系统已支持Java 1.8+,正常情况下就等待安装就可以成功了,不过安装可能需要一段时间。
安装成功之后,在/usr/local/Cellar目录下, 有个hadoop目录。
2.3 配置hadoop
进入hadoop安装目录:/usr/local/Cellar/hadoop/3.2.1_1/libexec/etc/hadoop下,找到Hadoop-env.sh文件,将
export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true"
改为:
export HADOOP_OPTS="$HADOOP_OPTS-Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc="exportJAVA_HOME="/Library/Java/JavaVirtualMachines/openjdk.jdk/Contents/Home"
(JDK路径,需按照实际情况进行配置)
2.4 配置hdfs地址和端口
进入hadoop安装目录:/usr/local/Cellar/hadoop/3.2.1_1/libexec/etc/hadoop下,找到core-site.xml,将
改为:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/Cellar/hadoop/hdfs/tmp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:8020</value>
</property>
</configuration>
2.5 配置mapreduce中jobtracker的地址和端口
进入hadoop安装目录:/usr/local/Cellar/hadoop/3.2.1_1/libexec/etc/hadoop下,找到mapred-site.xml,将
将改为:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:8021</value>
</property>
</configuration>
2.6 修改hdfs备份数
仍然在hadoop的安装目录下,编辑hdfs-site.xml,将改为:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
2.7 格式化hdfs
这个操作相当于一个文件系统的初始化,执行命令:
hdfs namenode -format
在终端最终会显示成功~
2.8 配置hadoop环境变量
添加hadoop的环境变量:
# hadoop
export HADOOP_HOME="/usr/local/Cellar/hadoop/3.2.1_1/libexec"
export PATH="$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin"
2.9 启动关闭hadoop服务
执行如下命令:
start-all.sh # 启动hadoop命令
stop-all.sh # 关闭hadoop命令
启动成功后,在浏览器中输入http://localhost:8088,可以看到如下页面:
3、安装scala
brew install scala
执行完成后,终端输入:scala -version查看,如下图:
添加scala的环境变量:
# scala
export SCALA_HOME="/usr/local/Cellar/scala/2.13.2"
export PATH="$PATH:$SCALA_HOME/bin"
4、安装spark
进入Apache Spark官网进行Spark的下载,附Spark官网下载地址:
http://spark.apache.org/downloads.html
下载完之后解压,并将解压后的文件夹移动到/usr/local/目录下,然后cd /usr/local进入到/usr/local目录下, 创建软链接:
sudo ln -s spark-3.0.0-preview2-bin-hadoop3.2 spark
添加spark环境变量:
# spark
export SPARK_HOME="/usr/local/spark"
export PATH="$PATH:$SPARK_HOME/sbin:$SPARK_HOME/bin"
4.1 配置spark-env
进入到spark目录下conf中,执行命令:cp spark-env.sh.template spark-env.sh,将spark-env.sh.template拷贝一份,
然后,对spark-env.sh编辑,添加如下内容:
export SCALA_HOME=/usr/local/Cellar/scala/2.13.2
export SPARK_MASTER_IP=localhost
export SPARK_WORKER_MEMORY=4G
配置好之后,命令行执行:spark-shell,如出现如下信息,则表明spark安装成功:
spark单机环境就搭建完成了,以后就可以在spark shell中进行实践了。
5、安装zookeeper
brew install zookeeper
添加环境变量:
# zookeeper
export ZOOKEEPER_ROOT=/usr/local/Cellar/zookeeper/3.5.7
export ZOOKEEPER_HOME=$ZOOKEEPER_ROOT/3.5.7/libexec
export PATH=$PATH:$ZOOKEEPER_ROOT/bin:$ZOOKEEPER_HOME/bin
6、安装Hbase
HBase具有分布式, 可扩展及面向列存储的特点(基于谷歌BigTable). HBase可以使用本地文件系统和HDFS文件存储系统, 存储的是松散的数据(key-value的映射关系).
brew install hbase
添加Hbase环境变量:
# hbase
export HBASE_CLASSPATH=/usr/local/Cellar/hadoop/3.2.1_1/libexec/etc/hadoop
export HBASE_MANAGES_ZK=true
export HBASE_ROOT=/usr/local/Cellar/hbase/1.3.5
export HBASE_HOME=/usr/local/Cellar/hbase/1.3.5/libexec
export HBASE_LOG_DIR=${HBASE_HOME}/logs
export HBASE_REGIONSERVERS=${HBASE_HOME}/conf/regionservers
export PATH=$PATH:${HBASE_HOME}/bin:${HBASE_ROOT}/bin
6.1 配置HBase
进入到HBase安装目录/usr/local/Cellar/hbase/1.3.5/libexec,
在conf/hbase-env.sh设置JAVA_HOME:
export JAVA_HOME="/usr/bin/java"
在conf/hbase-site.xml设置Hbase的核心配置
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///usr/local/var/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/var/zookeeper</value>
</property>
<property>
<name>hbase.zookeeper.dns.interface</name>
<value>lo0</value>
</property>
<property>
<name>hbase.regionserver.dns.interface</name>
<value>lo0</value>
</property>
<property>
<name>hbase.master.dns.interface</name>
<value>lo0</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
验证是否安装成功
$ start-hbase.sh
$ jps # 验证是否启动成功,包含HMaster和HRegionServer说明启动成功
6.2 操作HBase
启动数据库
$ hbase shell
数据操作
> create 'student','Sname','Ssex','Sage','Sdept','course'
> create 'student','Sname','Ssex','Sage','Sdept','course'
> create 'student','Sname','Ssex','Sage','Sdept','course'
> create 'student','Sname','Ssex','Sage','Sdept','course'
> scan 'student'
7、安装kafka
brew install Kafka
如果缺少JDK8依赖,或安装了JDK10,则需要先通过brew cask插件安装JDK8.
添加环境变量:
# kafka
export KAFKA_ROOT=/usr/local/Cellar/kafka/2.5.0
export KAFKA_HOME=$KAFKA_ROOT/libexec
export PATH=$PATH:$KAFKA_ROOT/bin:$KAFKA_HOME/bin
7.1 直接启动
zookeeper-server-start /usr/local/etc/kafka/zookeeper.properties &
kafka-server-start /usr/local/etc/kafka/server.properties &
7.2 操作kafka
创建topic
kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
查看topic
kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
发送消息
kafka-console-producer --broker-list localhost:9092 --topic test
接收消息
kafka-console-consumer --bootstrap-server localhost:9092 --topic test --from-beginning
至此,单机环境就搭建完成,可以耍起来了~~