Mac下的Java安装路径查询
使用下面的命令进行查询
$ /usr/libexec/java_home -V
lua编译windows库
Lua源码未自带windows编译脚本, 自行编译过程如下
启动Visual Studio 控制台环境,以2019为例,cmd中运行下面的脚本
D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat
- 在切换到lua-5.x.x/src目录下
运行下面的bat脚本进行编译
cl /MD /O2 /c /DLUA_BUILD_AS_DLL *.c ren lua.obj lua.o ren luac.obj luac.o link /DLL /IMPLIB:lua.lib /OUT:lua.dll *.obj link /OUT:lua.exe lua.o lua.lib lib /OUT:lua-static.lib *.obj link /OUT:luac.exe luac.o lua-static.lib
编译Spark源码支持hive
Spark 官方提供的二进制下载版本缺少对Hive的支持,需要自己下载源码进行编译,加入hive的支持。
解压并修改maven repo为国内地址源(有2处)。
$ tar zxvf spark-3.2.1.tgz
$ cd spark-3.2.1
$ vim pom.xml
<!--url>https://maven-central.storage-download.googleapis.com/maven2/</url-->
<url>https://maven.aliyun.com/repository/public</url>
编译
$ export MAVEN_OPTS="-Xss64m -Xmx2g -XX:ReservedCodeCacheSize=1g"
$ ./dev/make-distribution.sh --name hadoop-3.3.2-hive-3.1.3 --tgz -Pyarn -Dhadoop.version=3.3.2 -Phive -Phive-thriftserver -DskipTests
其中-Phive -Phive-thriftserver
参数就是启用hive支持,MAVEN_OPTS参数必须的,否则编译过程中会提示java内存不足.
ubuntu安装mysql并修改root密码
安装
$ sudo apt install mysql-server
查看默认账号密码
$ sudo cat /etc/mysql/debian.cnf
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = JRvfA0JiQGk5qhnz
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = JRvfA0JiQGk5qhnz
socket = /var/run/mysqld/mysqld.sock
修改密码
$ mysql -udebian-sys-maint -pJRvfA0JiQGk5qhnz
mysql>USE mysql;
// mysql 5.7
mysql>UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql>update mysql.user set authentication_string=password('xxx') where User='root' and Host='localhost';
// mysql 8.0
mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxx';
mysql>flush privileges;
mysql>exit;
akraino的lftools安装配置
安装lftools
$ sudo apt install python3-pip
$ sudo python3 -m pip install -U pip
$ sudo python3 -m pip install -U setuptools
$ sudo -H pip3 install --ignore-installed PyYAML
$ sudo pip3 install lftools
配置
$ vim ~/.netrc
machine nexus.akraino.org
login <LF ID>
password <Password>
上传CD log
$ vim push_logs.sh
# Deploying logs to LF Nexus log server ##
# BUILD_NUMBER and JOB_NAME should be set by Jenkins
NEXUS_URL=https://nexus.akraino.org
SILO=myais
JENKINS_HOSTNAME=https://52.83.xx.xxx/
JOB_NAME=smartcities
BUILD_NUMBER=8
BUILD_URL="${JENKINS_HOSTNAME}/job/${JOB_NAME}/${BUILD_NUMBER}/"
NEXUS_PATH="${SILO}/job/${JOB_NAME}/${BUILD_NUMBER}"
lftools deploy logs $NEXUS_URL $NEXUS_PATH $BUILD_URL
echo "Logs uploaded to $NEXUS_URL/content/sites/logs/$NEXUS_PATH"
上传BluVal Results
$ zip -r results.zip ./results
NEXUS_PATH="/pcei/job/v2"
NEXUS_URL="https://nexus.akraino.org/"
lftools deploy nexus-zip $NEXUS_URL logs $NEXUS_PATH results.zip
Android Studio编译错误, Gradle 内存不足
错误新如下:
Configure Gradle memory settings using '-Xmx' JVM option (e.g. '-Xmx2048m'.)
全局设置下Android Studio的内存。
Settings ==> Appearance & Behavior ==> System Settings ==> Memory Settings.
三个内存设置都调大为2048M
编译ffmpeg的Android库
环境
- ubunut 18.04 lts
- ndk r20b
- ffmpeg 4.4 N-103194-g00b579890d
手动编译
- 需要参数
--enable-cross-compile
才能启用clang - ndk r20b的clang是需要单独指定的,
--cross-prefix
是拼接不出来的.
一次k3s agent连不上server的错误解决
查看k3s anget启动日志,有如下错误。
$ systemctl status k3s-agent.service
`time="2022-04-09T05:03:40+08:00" level=error msg="CA cert validation failed: Get \"https://127.0.0.1:6444/cacerts\": x509: certificate has expired or is not yet valid: current time 2022-04-09T05:`
表面上看是请求到的server证书,时间早于证书的notBefore time,分析原因可能是两个系统的时区和时间不一致导致。
统一到utc时区,并自动更新时间
$ timedatectl set-timezone UTC
$ timedatectl set-ntp yes
然后需要重新安装k3s server, 之前agnet就能正常连接到server了
docker 容器访问宿主机端口
默认运行容器的时候,网络是一个隔离的子网络,不能通过localhost访问宿主机的端口
docker 官方从18版本开始提供host.docker.internal
访问宿主机,但默认只能Mac和Windows使用。
Linux 从20.04版本开始支持通过添加运行参数的方式来支持.
--add-host=host.docker.internal:host-gateway
如果是老版本可以用下面的参数来让容器和宿主机出于同一个网络中。
--net="host"